Time |
Nick |
Message |
00:04 |
dukeleto |
moritz_: are you doing what i think you are doing? |
00:05 |
dukeleto |
moritz_: where is the source for hugme? |
00:05 |
dukeleto |
moritz_: and does it work with identi.ca? |
00:09 |
|
pointme joined #perl6 |
00:09 |
carlin |
pointme: hugme |
00:09 |
pointme |
Hugme hugs people! And gives commit access to various repos. It's source is at http://github.com/moritz/hugme/ |
00:09 |
moritz_ |
dukeleto: doesn't work with identi.ca unless Net::Twitter::Simple handles that too |
00:10 |
moritz_ |
oh, should work too |
00:11 |
moritz_ |
s/Simple/Lite/ |
00:12 |
moritz_ |
just needs an identica => 1 in the call to ->new() |
00:14 |
diakopter |
pointme: pointme |
00:14 |
pointme |
I have no idea what pointme does |
00:14 |
diakopter |
how pointed of your |
00:14 |
diakopter |
you |
00:14 |
moritz_ |
carlin: see above :-) |
00:20 |
|
bluescreen joined #perl6 |
00:31 |
|
pointme joined #perl6 |
00:31 |
carlin |
pointme: pointme |
00:31 |
pointme |
Pointme is a suave, good-looking bot that links to proto projects, provides information about other bots and refers to itself in the third person |
00:32 |
carlin |
.oO( Self-aware bot ) |
00:36 |
Infinoid |
pointme: dalek |
00:36 |
pointme |
Dalek announces commits to various repos. It's source is at http://github.com/Infinoid/dalek-plugins |
00:37 |
Infinoid |
It is fantastic that our array of bots has grown to the point of needing a guide bot to sort them all out. |
00:37 |
diakopter |
well, its plugin source is there. its framework source is at www.botnix.org |
00:37 |
Infinoid |
... for now. One day, I would like to replace the bot out from under the plugins. |
00:38 |
carlin |
pointme: diakopter |
00:38 |
pointme |
Sorry, I don't know anything about that project |
00:38 |
carlin |
Aww |
00:38 |
carlin |
pointme: masak |
00:38 |
pointme |
masak submits rakudo bugs ;-) |
00:43 |
|
idemal joined #perl6 |
00:47 |
dukeleto |
moritz_: thanks! |
00:51 |
|
Exodist joined #perl6 |
00:59 |
cognominal_ |
ng: say split / /, 'a b' |
00:59 |
p6eval |
ng 3bdb4c: Null regex not allowed at line 1, near ", 'a b'"current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) |
01:04 |
|
FarOut joined #perl6 |
01:19 |
KyleHa |
ng: say split / \s /, 'a b'; |
01:19 |
p6eval |
ng 3bdb4c: Could not find non-existent sub &splitcurrent instr.: '_block14' pc 29 (EVAL_1:0) |
01:26 |
dukeleto |
pointme: dukeleto |
01:26 |
pointme |
Sorry, I don't know anything about that project |
01:36 |
|
agentzh joined #perl6 |
01:48 |
|
xinming joined #perl6 |
01:52 |
|
zostay joined #perl6 |
01:57 |
|
hcchien joined #perl6 |
02:16 |
diakopter |
pointme: TimToady |
02:16 |
pointme |
Sorry, I don't know anything about that project |
02:16 |
diakopter |
pointme: Perl 6 |
02:16 |
pointme |
Sorry, I don't know anything about that project |
02:18 |
carlin |
pointme: Alan Parsons |
02:18 |
pointme |
Sorry, I don't know anything about that project |
02:19 |
|
orafu joined #perl6 |
02:23 |
|
agentzh joined #perl6 |
02:32 |
colomon |
rakudo: say (1, 2, 3) X (4, 5, 6); |
02:32 |
p6eval |
rakudo 7347ec: 141516242526343536 |
02:32 |
colomon |
rakudo: say ((1, 2, 3) X (4, 5, 6)).perl |
02:32 |
p6eval |
rakudo 7347ec: [1, 4, 1, 5, 1, 6, 2, 4, 2, 5, 2, 6, 3, 4, 3, 5, 3, 6] |
02:35 |
|
jaldhar joined #perl6 |
02:39 |
facsimile |
rakudo: say perl.perl |
02:39 |
p6eval |
rakudo 7347ec: Could not find non-existent sub perlin Main (file src/gen_setting.pm, line 324) |
02:40 |
facsimile |
lol |
02:41 |
|
zaphar_ps joined #perl6 |
02:44 |
|
pmichaud_ joined #perl6 |
02:45 |
|
gfldex_ joined #perl6 |
02:46 |
|
alester joined #perl6 |
02:48 |
carlin |
Is there an easy way to turn $/ into a hash of strings? |
02:49 |
|
petdance joined #perl6 |
02:52 |
|
alester joined #perl6 |
02:53 |
|
alester joined #perl6 |
03:14 |
* carlin |
just discovered that Match objects have a .Hash and .hash which do different things |
03:22 |
facsimile |
rakudo: say Hash.hash |
03:22 |
p6eval |
rakudo 7347ec: Hash() |
03:28 |
diakopter |
token comment:sym<#> { '#' {} \N* } # what does {} mean in a token rule? |
03:30 |
Wolfman2000 |
back from dinner and company |
03:30 |
|
eternaleye joined #perl6 |
03:30 |
Wolfman2000 |
don't know how much I'll be able to get done tonight |
03:32 |
diakopter |
std: my $a-- = 3; say $a; |
03:32 |
p6eval |
std 29173: ok 00:01 105m |
03:32 |
diakopter |
rakudo: my $a-- = 3; say $a; |
03:32 |
p6eval |
rakudo 7347ec: -1 |
03:33 |
diakopter |
ng: my $a-- = 3; say $a; |
03:33 |
p6eval |
ng 3bdb4c: Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 7550 (src/builtins/assign.pir:12) |
03:33 |
* diakopter |
golf claps |
03:34 |
|
envi^office joined #perl6 |
03:43 |
|
petdance joined #perl6 |
03:49 |
eternaleye |
diakopter: nqp doesn't have =, just := iirc |
03:49 |
eternaleye |
oh wait, that's ng not nqp |
03:49 |
* eternaleye |
is not at full functionality |
03:53 |
|
JimmyZ joined #perl6 |
04:00 |
|
LionMade1fLions joined #perl6 |
04:06 |
diakopter |
nqp: my $a := 3; say(--$a); say($a); |
04:06 |
p6eval |
nqp: 2 |
04:07 |
diakopter |
nqp: my $a := 3; say($a--); say($a); |
04:07 |
p6eval |
nqp: 32 |
04:07 |
|
BinGOs_ joined #perl6 |
04:07 |
diakopter |
pmichaud_: ^^ |
04:08 |
diakopter |
pmichaud_: same for preincrement |
04:08 |
Wolfman2000 |
Hmm...unfortunately, I'm unsure about being able to pull off an MD5 or SHA demo for my cryptography project using Perl 6. Oh well: I've already got plenty. |
04:10 |
Wolfman2000 |
...as a reminder, what are the Perl shifting operations? |
04:19 |
diakopter |
ng: say (my $a=4)--.WHAT; # pmichaud_ I don't think this is correct - dotty following postdecrement? |
04:19 |
p6eval |
ng 3bdb4c: Int() |
04:19 |
|
eternaleye joined #perl6 |
04:20 |
quietfanatic |
I don't think anything's wrong with it. |
04:21 |
quietfanatic |
Is there any specific reason to disallow dotty after postfix? |
04:21 |
TimToady |
nope |
04:21 |
TimToady |
dotty *is* a postfix |
04:21 |
|
stepnem joined #perl6 |
04:21 |
TimToady |
so if we disallowed that, we've have to disallow $x.foo.bar as well :) |
04:21 |
|
eternaleye joined #perl6 |
04:23 |
quietfanatic |
In general, I'm in favor of more allowing syntax rather than more restricting syntax. |
04:24 |
|
LionMadeOfLions joined #perl6 |
04:24 |
diakopter |
rakudo: my $a = 5; say ++($a++); say $a; my $b = 5; say ++$b++; say $b; |
04:24 |
p6eval |
rakudo 7347ec: 6667 |
04:24 |
diakopter |
ng: my $a = 5; say ++($a++); say $a; my $b = 5; say ++$b++; say $b; |
04:24 |
p6eval |
ng 3bdb4c: Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 7550 (src/builtins/assign.pir:12) |
04:25 |
Wolfman2000 |
rakudo: my $a = 1; say $a << 1; # Does this even work? |
04:25 |
p6eval |
rakudo 7347ec: Confused at line 2, near "<< 1; # Do"in Main (file <unknown>, line <unknown>) |
04:25 |
* Wolfman2000 |
better check the synopsis |
04:25 |
quietfanatic |
Well, Rakudo does get that first wrong, $a should end up 7 |
04:25 |
diakopter |
std: my $a = 1; say $a << 1; # Does this even work? |
04:25 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mObsolete use of << to do left shift; in Perl 6 please use +< or ~< instead at /tmp/6HNHyTV6eu line 1:------> [32mmy $a = 1; say $a << [33m⏏[31m1; # Does this even work?[0mFAILED 00:01 105m |
04:26 |
quietfanatic |
Wolfman2000: I don't think there's a << operator |
04:26 |
Wolfman2000 |
if nothing else, thanks for that |
04:26 |
quietfanatic |
Ah |
04:26 |
diakopter |
(see the error message above) |
04:26 |
diakopter |
very much !LTA error message |
04:26 |
Wolfman2000 |
diakopter++ / quietfanatic: I was debating adding a MD5/SHA program to my cryptography project, but...honestly, I'm out of time right now. |
04:26 |
Wolfman2000 |
Still, learning how to shift bits should be good. |
04:27 |
Wolfman2000 |
Just...not when I'm pressured. |
04:28 |
Wolfman2000 |
...I do wonder. Does Perl 6 have any official cryptography modules yet, or should they just be remade from the Digest::* series? |
04:30 |
carlin |
November has Digest implementation in mostly PIR but other than that I don't think there is anything yet |
04:30 |
Wolfman2000 |
...perhaps that will be a good project for me to look at this Thanksgiving. |
04:30 |
Wolfman2000 |
You guys want more implementations with Perl 6 I assume...I can just add it to my Feather directories. |
04:31 |
diakopter |
std: sub x3() {}; sub x55() {}; my $a = 55; say $a-x3-x55; # TimToady hilite |
04:31 |
p6eval |
std 29173: Potential difficulties: Variable $a-x3-x55 is not predeclared at /tmp/dUbnCbTHLS line 1:------> [32m sub x55() {}; my $a = 55; say $a-x3-x55[33m⏏[31m; # TimToady hilite[0mok 00:01 106m |
04:32 |
Wolfman2000 |
std: sub x3() {}; sub x55() {}; my $a = 55; say $a - x3() - x55(); # Wonder if this works. |
04:32 |
p6eval |
std 29173: ok 00:01 106m |
04:32 |
Wolfman2000 |
rakudo: sub x3() {}; sub x55() {}; my $a = 55; say $a - x3() - x55(); # Wonder if this works. |
04:32 |
p6eval |
rakudo 7347ec: 55 |
04:32 |
Wolfman2000 |
diakopter: How do we run std on the command line anyway? It seems to give better error messages than rakudo does |
04:34 |
diakopter |
yeah, I knew that would work; I guess it's an issue of error messages. if it finds a non-predeclared variable name and it contains a hyphen, warn about minus symbol being taken as a hypen in a variable name |
04:35 |
quietfanatic |
If the left part is a predeclared variable? |
04:36 |
diakopter |
Wolfman2000: in the pugs/src/perl6 dir (after blanking the PERL5LIB as discussed previously), run ./viv -e 'code to syntax check/compile' |
04:36 |
TimToady |
or if you don't want the tree, >filename and then ./tryfile filename |
04:37 |
TimToady |
or >/dev/null your viv |
04:37 |
Wolfman2000 |
...sounds like I should just make pugs/src/perl6 part of my path |
04:37 |
TimToady |
and just let stderr out |
04:37 |
TimToady |
probably won't work |
04:37 |
diakopter |
Wolfman2000: no, you need to be in that dir |
04:37 |
TimToady |
it's not really productized or installable yet |
04:37 |
TimToady |
and assumes its cache and lib are in . |
04:38 |
TimToady |
what you can do is make a symlink from elsewhere into that dir; I do that with the t/ directory |
04:38 |
TimToady |
then tryfile t/spec/foo.t |
04:39 |
Wolfman2000 |
I'll look into that...tomorrow night. I think I need sleep now...big day tomorrow. |
04:39 |
Wolfman2000 |
I get to show my class my project with Perl 6 in action. |
04:39 |
Wolfman2000 |
TimToady: I gave you extra credit on my sources too. |
04:39 |
TimToady |
:D |
04:40 |
Wolfman2000 |
Hopefully Feather won't be down...otherwise, it will be slightly embarassing |
04:40 |
Wolfman2000 |
Just have to survive until 8 PM EST |
04:45 |
|
envi^home joined #perl6 |
05:01 |
TimToady |
rakudo: say 1,2,3 X 4,5,6 |
05:01 |
p6eval |
rakudo 7347ec: 141516242526343536 |
05:02 |
TimToady |
colomon: note lack of parens works ^^ |
05:06 |
TimToady |
rakudo: say ('㊀'..'㊉').pick |
05:06 |
TimToady |
that's an infinite loop, seemingly |
05:06 |
p6eval |
rakudo 7347ec: ( no output ) |
05:06 |
TimToady |
didn't used to be |
05:07 |
|
hicx174 joined #perl6 |
05:17 |
diakopter |
rakudo: '㊀'..'㊉'.pick |
05:17 |
p6eval |
rakudo 7347ec: maximum recursion depth exceededin Main (file <unknown>, line <unknown>) |
05:18 |
facsimile |
rakudo: '㊀'..'㊉'. |
05:18 |
facsimile |
rakudo: '㊀'..'㊉' |
05:18 |
p6eval |
rakudo 7347ec: Confused at line 2, near "."in Main (file <unknown>, line <unknown>) |
05:18 |
p6eval |
rakudo 7347ec: ( no output ) |
05:18 |
diakopter |
ok... |
05:18 |
facsimile |
rakudo: say '㊀'..'㊉' |
05:18 |
p6eval |
rakudo 7347ec: ( no output ) |
05:18 |
facsimile |
rakudo: say 'a'..'z' |
05:19 |
p6eval |
rakudo 7347ec: abcdefghijklmnopqrstuvwxyz |
05:21 |
|
meteorjay joined #perl6 |
05:21 |
|
luqui joined #perl6 |
05:22 |
|
jaldhar joined #perl6 |
05:42 |
|
pure1111 joined #perl6 |
06:02 |
|
ashizawa joined #perl6 |
06:17 |
|
pnate2 joined #perl6 |
06:39 |
|
snearch joined #perl6 |
06:50 |
|
ihrd joined #perl6 |
06:50 |
|
ihrd left #perl6 |
06:53 |
colomon |
TimToady: thanks! |
06:53 |
colomon |
hmmm.... |
06:54 |
colomon |
rakudo: (1..3 X 4..6).say |
06:54 |
p6eval |
rakudo 7347ec: 141516242526343536 |
06:54 |
colomon |
:) |
07:04 |
|
Jeffreykegler joined #perl6 |
07:06 |
|
TiMBuS joined #perl6 |
07:11 |
|
kaare joined #perl6 |
07:23 |
|
meppl joined #perl6 |
07:27 |
|
envi^home joined #perl6 |
07:33 |
|
eternaleye joined #perl6 |
08:00 |
|
szabgab joined #perl6 |
08:03 |
|
barney joined #perl6 |
08:15 |
mathw |
Morning |
08:15 |
moritz_ |
good morning |
08:15 |
diakopter |
mhu |
08:16 |
|
jaldhar joined #perl6 |
08:16 |
moritz_ |
rho |
08:22 |
moritz_ |
(Raphael Descamps)++ # "In that sense, Perl 6 stay a postmodern ironic programming language ;)" |
08:32 |
|
Su-Shee joined #perl6 |
08:32 |
Su-Shee |
good morning. |
08:34 |
moritz_ |
hi Su-Shee |
08:35 |
sjohnson |
hello |
08:39 |
mathw |
moritz_: a postmodern ironic programming language?? |
08:42 |
|
rfordinal joined #perl6 |
08:47 |
|
iblechbot joined #perl6 |
08:51 |
|
rgrau joined #perl6 |
08:53 |
moritz_ |
mathw: read the last comment on http://perlgeek.de/blog-en/perl-6/is-perl-6-really-perl.writeback |
08:55 |
mathw |
aaah |
08:55 |
mathw |
yes that seems accurate |
08:56 |
* moritz_ |
just liked the term |
08:58 |
Su-Shee |
postmodernism already contains irony as a concept. |
08:59 |
moritz_ |
so it's doubly ironic :-) |
09:00 |
|
kaare joined #perl6 |
09:00 |
Su-Shee |
you should add one or two references to foucault at some point. ;) |
09:01 |
* moritz_ |
only knows the foucault pendulum |
09:03 |
moritz_ |
such is the ignorance of the natural scientists |
09:03 |
moritz_ |
(at least of one of them :-) |
09:04 |
Su-Shee |
michel foucault -> http://en.wikipedia.org/wiki/Michel_Foucault - no postmodernism without the french fellows.. ;) |
09:04 |
moritz_ |
yeah, found the wiki already :-) |
09:05 |
Su-Shee |
well, it's easy. start with nietzsche and read from marx over freud to the french brainfuckers and there you have it. ;) |
09:06 |
|
wollmers joined #perl6 |
09:07 |
moritz_ |
as long as you don't suggest to "just" read Kant... :-) |
09:07 |
wollmers |
std: say 1; |
09:07 |
p6eval |
std 29173: ok 00:01 105m |
09:07 |
wollmers |
moritz: Kant is boring because of the complex German language |
09:08 |
moritz_ |
I don't think he's boring; just hard to read |
09:09 |
|
flip214 joined #perl6 |
09:09 |
wollmers |
Yea, I read 'Kritik der reinen Vernunft' ~35 years ago. |
09:09 |
flip214 |
Hello everybody .... |
09:09 |
flip214 |
it's me again with a few questions. |
09:09 |
flip214 |
As usual. |
09:10 |
wollmers |
std: "a" ~~ m/<isL>/ |
09:10 |
p6eval |
std 29173: ok 00:01 105m |
09:10 |
mathw |
flip214: ask away |
09:10 |
* moritz_ |
wasn't even born ~35 years ago |
09:10 |
wollmers |
std: "a" ~~ m/<isBidiClass:L>/ |
09:10 |
p6eval |
std 29173: ok 00:01 104m |
09:11 |
wollmers |
rakudo: "a" ~~ m/<isBidiClass:L>/ |
09:11 |
p6eval |
rakudo 7347ec: Confused at line 2, near "/"in Main (file <unknown>, line <unknown>) |
09:11 |
Su-Shee |
moritz_: you "just" read Kant, I "just" learn Math. ;) |
09:11 |
flip214 |
Is there a way to give perl6 some additional directories where to look for libraries? A "-Ilib:~/lib" or something like that. |
09:11 |
flip214 |
I think that PERL5LIB won't work ;-) |
09:11 |
mathw |
there's PERL6LIB |
09:11 |
moritz_ |
flip214: nope, it's PERl6LIB |
09:11 |
moritz_ |
:-) |
09:12 |
mathw |
I'm not sure Rakudo accepts a command line option for search path |
09:12 |
moritz_ |
there's also BEGIN { @*INC.push: 'lib' } in the code |
09:12 |
Su-Shee |
doesn't pushing on @*INC work? |
09:12 |
flip214 |
Is there a -I switch? I didn't find one. |
09:12 |
Su-Shee |
ah well. :) |
09:12 |
mathw |
Su-Shee: you have to do it in the BEGIN block, but yes, it does :) |
09:12 |
Su-Shee |
I thought so, I already used it somewhere. ;) |
09:12 |
mathw |
(obviously if you do it outside BEGIN, it doesn't happen until after the module search has happened) |
09:13 |
moritz_ |
which is fine if you only use use in an eval block at run time :-) |
09:13 |
wollmers |
perl6: "a" ~~ m/<isBidiClass:L>/ |
09:13 |
p6eval |
pugs: Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapped by operation mas… |
09:13 |
p6eval |
..elf 29173: ( no output ) |
09:13 |
p6eval |
..rakudo 7347ec: Confused at line 2, near "/"in Main (file <unknown>, line <unknown>) |
09:13 |
moritz_ |
s/block / |
09:13 |
flip214 |
Ok, I'll use PERL6LIB, until -I has arrived |
09:13 |
moritz_ |
rakudo: /<a :b>/ |
09:13 |
mathw |
moritz_: let's not go there |
09:13 |
p6eval |
rakudo 7347ec: Confused at line 2, near "/"in Main (file <unknown>, line <unknown>) |
09:13 |
moritz_ |
mathw: ok :-) |
09:13 |
flip214 |
and another question: I have problems exporting a constant |
09:14 |
flip214 |
rakudo: say $C; module T; constant $C='aaaa' is export; |
09:14 |
p6eval |
rakudo 7347ec: Confused at line 2, near "is export;"in Main (file <unknown>, line <unknown>) |
09:14 |
flip214 |
there's no "is export" on constants, is there? |
09:15 |
wollmers |
moritz: The syntax for non-boolean unicode properties seems unspecced. In Perl 5 it is \p{BidiClass:L}. |
09:15 |
moritz_ |
flip214: not yet |
09:17 |
moritz_ |
std: /<isBidiClass(:L)>/ |
09:17 |
p6eval |
std 29173: ok 00:01 104m |
09:17 |
moritz_ |
wollmers: that would be my preference |
09:18 |
wollmers |
moritz: OK, looks nice. |
09:18 |
moritz_ |
if you write <before foo>, the foo is a regex |
09:19 |
moritz_ |
so I think that <isBidiClass:L> or with space <isBidiClass :L> looks misleading |
09:19 |
moritz_ |
but I could be wrong here |
09:19 |
moritz_ |
and in the end it's TimToady's calls |
09:30 |
moritz_ |
dev.perl.org now links to perl6.org |
09:37 |
wollmers |
std: /<isBidiClass(:L)+isBidiClass(:R)>/ |
09:37 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mUnable to parse metachar__S_477Lt_Gt; couldn't find final '>' at /tmp/6oMJAVAV6y line 1:------> [32m/<isBidiClass(:L)[33m⏏[31m+isBidiClass(:R)>/[0mFAILED 00:01 104m |
09:38 |
wollmers |
std: /<isBidiClass(:L) +isBidiClass(:R)>/ |
09:38 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mUnable to parse metachar__S_477Lt_Gt; couldn't find final '>' at /tmp/n2r3YD8DAv line 1:------> [32m/<isBidiClass(:L)[33m⏏[31m +isBidiClass(:R)>/[0mFAILED 00:01 103m |
09:43 |
wollmers |
std: /<isLetter +isNumber>/ |
09:43 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mquantifier quantifies nothing at /tmp/Hknb14RHFJ line 1:------> [32m/<isLetter +[33m⏏[31misNumber>/[0m expecting quantmodFAILED 00:01 103m |
09:44 |
moritz_ |
std: / <+isLetter +isNumber>/ |
09:44 |
p6eval |
std 29173: ok 00:01 104m |
09:44 |
moritz_ |
std: / <+isLetter(:foo) +isNumber>/ |
09:44 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mUnable to parse metachar__S_477Lt_Gt; couldn't find final '>' at /tmp/fTXy70FRB3 line 1:------> [32m/ <+isLetter[33m⏏[31m(:foo) +isNumber>/[0m expecting any of: character class element normspace signFAILED 00:01 103m |
09:45 |
|
ejs joined #perl6 |
09:46 |
wollmers |
std: m/ <[aeiou]+[tlc]> / |
09:46 |
p6eval |
std 29173: ok 00:01 104m |
09:50 |
wollmers |
std: m/ <isL+[isN]> / |
09:50 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mquantifier quantifies nothing at /tmp/jFAf3V6Dfr line 1:------> [32mm/ <isL+[33m⏏[31m[isN]> /[0m expecting quantmodFAILED 00:01 106m |
09:51 |
wollmers |
std: m/ <isL+isN> / |
09:51 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mquantifier quantifies nothing at /tmp/2VF0zXPnR7 line 1:------> [32mm/ <isL+[33m⏏[31misN> /[0m expecting quantmodFAILED 00:01 103m |
09:51 |
wollmers |
std: m/ <[abc]+[cde]> / |
09:51 |
p6eval |
std 29173: ok 00:01 104m |
09:52 |
wollmers |
std: m/ <[abc] +[cde]> / |
09:52 |
p6eval |
std 29173: ok 00:01 104m |
09:52 |
wollmers |
std: m/ <isL +[cde]> / |
09:52 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mquantifier quantifies nothing at /tmp/zUFvMa0R1M line 1:------> [32mm/ <isL +[33m⏏[31m[cde]> /[0m expecting quantmodFAILED 00:01 103m |
09:54 |
mathw |
moritz_: one of the earlier comments on that article questions the explicitness of TMTOWTDI. I always felt that it was very explicit, and very deliberate. Agree? |
09:54 |
moritz_ |
agreed. |
09:54 |
|
ejs1 joined #perl6 |
09:55 |
moritz_ |
for example map and for are synonymous, and that's about as explicit as you can get :-) |
09:55 |
mathw |
yes |
09:55 |
mathw |
also $obj.method(arg, arg, arg); |
09:55 |
mathw |
$obj.method: arg, arg, arg; |
09:55 |
mathw |
and the is export on most of the builtin methods |
09:56 |
mathw |
it's highly explicit in Perl 6 |
09:56 |
mathw |
oh and with the new S metaoperator, I believe you can use hyperoperators as various exact synonyms for looping |
10:06 |
|
clintongormley joined #perl6 |
10:08 |
|
Guest56850 joined #perl6 |
10:18 |
wollmers |
std: m/ <+isL+isN> / |
10:18 |
p6eval |
std 29173: ok 00:01 104m |
10:18 |
|
beggars joined #perl6 |
10:19 |
moritz_ |
std: <a b c>S>>.uc |
10:19 |
p6eval |
std 29173: [31m===[0mSORRY![31m===[0mPreceding context expects a term, but found infix > instead at /tmp/t2aeMg8lB6 line 1:------> [32m<a b c>S>>[33m⏏[31m.uc[0m expecting any of: infix or meta-infix infix stopper standard stopper terminatorFAILED 00:01 104m |
10:20 |
moritz_ |
mathw: at least STD.pm doesn't like it as postfixish |
10:22 |
mathw |
moritz_: something in larry's spec update mentioned you could use it with certain forms, but it may be that it only works with infixish hypers |
10:24 |
mathw |
moritz_: a S»op« b single-threaded hyperop |
10:25 |
mathw |
but apparently not with postfix forms |
10:25 |
mathw |
which would be nice, but I guess could cause all sorts of mess with the parsing |
10:29 |
spinclad_ |
diakopter: re # what does {} do: aiui, {} is an empty closure that ends the fixed part of the token for LTM purposes. |
10:34 |
mathw |
how often are the HTML synopses generated? |
10:40 |
|
jferrero joined #perl6 |
10:43 |
|
rfordinal left #perl6 |
10:50 |
diakopter |
spinclad_: thanks |
10:51 |
diakopter |
urgh; 'tis late |
10:57 |
diakopter |
mathw: I think at the top of every hour |
11:00 |
|
sRc joined #perl6 |
11:00 |
|
sRc left #perl6 |
11:06 |
|
hanekomu joined #perl6 |
11:07 |
* diakopter |
asked http://code.google.com/p/v8/issues/detail?id=523 |
11:21 |
flip214 |
I just read about the "S" metaoperator ... |
11:22 |
flip214 |
But I don't understand how there can be a "short-circuited XOR junction" |
11:23 |
moritz_ |
flip214: an xor with more than two arguments is true if exactly one of the arguments is true |
11:23 |
moritz_ |
flip214: so as soon as two True values are found, it can short-circuit |
11:24 |
flip214 |
is that so? |
11:24 |
flip214 |
rakudo: say 1 ^ 1 ^ 1 ^ 0; |
11:24 |
p6eval |
rakudo 7347ec: one(1, 1, 1, 0) |
11:24 |
flip214 |
rakudo: say 1 ^^ 1 ^^ 1 ^^ 0; |
11:24 |
p6eval |
rakudo 7347ec: 1 |
11:25 |
moritz_ |
rakudo is wrong here |
11:25 |
flip214 |
I understand XOR as "parity" generation, ie. if an odd number is set |
11:25 |
moritz_ |
that's the other possible interpretation |
11:26 |
flip214 |
Hmm, I didn't even *know* that the computer-XOR has more than the one interpretation |
11:26 |
flip214 |
are we sure that this won't break some assumptions? |
11:27 |
flip214 |
I can see use cases for "exclusive-OR", too ... |
11:28 |
flip214 |
How would one get _my_ XOR? parity generation over bit/binary/boolean values? |
11:29 |
moritz_ |
@list.reduce: &[^^] |
11:29 |
lambdabot |
Unknown command, try @list |
11:30 |
moritz_ |
or [^^] @values |
11:30 |
flip214 |
rakudo: my @list=1,1,1,1,0; say [^^] @values; |
11:30 |
p6eval |
rakudo 7347ec: say requires an argument at line 2, near " [^^] @val"in Main (file src/gen_setting.pm, line 2593) |
11:31 |
flip214 |
rakudo: my @list=1,1,1,1,0; say [^^] @list;; |
11:31 |
p6eval |
rakudo 7347ec: say requires an argument at line 2, near " [^^] @lis"in Main (file src/gen_setting.pm, line 2593) |
11:31 |
moritz_ |
rakudo: say [^^] 1,1,1,1,0 |
11:31 |
Gothmog_ |
moritz_: I don't understand what you said, either. Could you define your interpretation of XOR? |
11:31 |
p6eval |
rakudo 7347ec: say requires an argument at line 2, near " [^^] 1,1,"in Main (file src/gen_setting.pm, line 2593) |
11:31 |
flip214 |
rakudo: my @list=1,1,1,1,0; say @list.».infix:<^^>; |
11:31 |
p6eval |
rakudo 7347ec: Confused at line 2, near ":<^^>;"in Main (file <unknown>, line <unknown>) |
11:31 |
moritz_ |
Gothmog_: XOR = exactly one of the inputs is True |
11:32 |
Gothmog_ |
Ah. |
11:32 |
Gothmog_ |
So you're just talking about two different things. |
11:32 |
flip214 |
I'd like to get some way to get parity generation; either for Booleans, or over some Int values |
11:32 |
flip214 |
rakudo: say 3 ^^ 4; |
11:32 |
p6eval |
rakudo 7347ec:  |
11:32 |
flip214 |
rakudo: say 3 ^ 4; |
11:32 |
p6eval |
rakudo 7347ec: one(3, 4) |
11:33 |
flip214 |
rakudo: say 3 xor 4; |
11:33 |
p6eval |
rakudo 7347ec: 3 |
11:33 |
Gothmog_ |
flip214: moritz talks about xor(a1, a2, a3, ..., an) while you talk about xor(a1, xor(a2, xor(, ..., xor(a(n-1), an))...) |
11:33 |
moritz_ |
flip214: [?^] for booleans, [+^] for ints |
11:33 |
flip214 |
rakudo: say 3 +^ 4; |
11:33 |
p6eval |
rakudo 7347ec: 7 |
11:33 |
flip214 |
ah yes, thank you |
11:33 |
flip214 |
that's it |
11:33 |
moritz_ |
rakudo: say [?^] 1, 1, 1, 1, 0 |
11:33 |
p6eval |
rakudo 7347ec: 0 |
11:33 |
moritz_ |
rakudo: say [?^] 1, 1, 1, 1, 0, 1 |
11:33 |
flip214 |
rakudo: say [+^] 1,1,1,0; |
11:33 |
p6eval |
rakudo 7347ec: 1 |
11:34 |
p6eval |
rakudo 7347ec: 1 |
11:34 |
flip214 |
rakudo: say [+^] 1,1,1,0,3; |
11:34 |
p6eval |
rakudo 7347ec: 2 |
11:34 |
moritz_ |
Gothmog_++ # thata's exactly it, but I was too stupid to explain it |
11:34 |
flip214 |
fine |
11:34 |
flip214 |
rakudo: say [~] 1,1,1,0,3; |
11:34 |
p6eval |
rakudo 7347ec: 11103 |
11:35 |
flip214 |
rakudo: say [?^] 1,1,1,0,3; |
11:35 |
p6eval |
rakudo 7347ec: 1 |
11:35 |
flip214 |
so that's wrong? |
11:35 |
|
SmokeMachine joined #perl6 |
11:35 |
flip214 |
rakudo should return false here? |
11:35 |
flip214 |
rakudo: say [?^] 1,1; |
11:35 |
p6eval |
rakudo 7347ec: 0 |
11:35 |
flip214 |
rakudo: say [?^] 1,0; |
11:35 |
p6eval |
rakudo 7347ec: 1 |
11:36 |
flip214 |
rakudo: say [?^] 1,0,1,0,1; |
11:36 |
p6eval |
rakudo 7347ec: 1 |
11:36 |
flip214 |
rakudo: say [?^] 1,False,1,0,3; |
11:36 |
p6eval |
rakudo 7347ec: 1 |
11:37 |
moritz_ |
[?^] 1,1,1,0,3 is ((((1 xor 1) xor 1) xor 0) xor 3) |
11:37 |
moritz_ |
if you want number of true values |
11:37 |
moritz_ |
grep True, @values |
11:37 |
moritz_ |
rakudo: say +(grep True, 1,0,1,0,1) |
11:38 |
p6eval |
rakudo 7347ec: 5 |
11:38 |
moritz_ |
nope, wrong |
11:38 |
moritz_ |
rakudo: say +(grep {$_}, 1,0,1,0,1) |
11:38 |
p6eval |
rakudo 7347ec: 3 |
11:38 |
moritz_ |
rakudo: say +(grep {$_}, 1,0,1,0,1) % 2 |
11:38 |
p6eval |
rakudo 7347ec: 1 |
11:38 |
moritz_ |
better |
11:43 |
Su-Shee |
does rakudo have a -T? (or is getting one?) |
11:44 |
moritz_ |
not yet |
11:45 |
mathw |
diakopter: well, SO3 doesn't seem to have been done for a few days, unless there's a cache somewhere in my way |
11:47 |
moritz_ |
This page was generated at 2009-11-07 16:01:24 GMT. |
11:48 |
mathw |
quite |
11:48 |
mathw |
it doesn't have the S metaop in it |
11:52 |
moritz_ |
the issue is a missing CPAN module on feather |
11:55 |
flip214 |
sorry, 've been away ... |
11:56 |
flip214 |
moritz: but that sounds a bit awful, performance-wise ... all I want to know is the even/odd information, and for that a complete list is built again, just to check it's length? |
11:57 |
flip214 |
I think the [?^] and [+^] will work for me ... |
11:57 |
flip214 |
If they don't (or I don't think they do, because I'm mistaken again), I'll be back |
11:57 |
flip214 |
Thank you all the same |
11:58 |
mathw |
moritz_: Ah good, at least it's relatively solvable |
12:01 |
|
envi^home joined #perl6 |
12:05 |
moritz_ |
except that I tried to build .deb packages for it, and failed epically |
12:05 |
moritz_ |
it requires Test::Harness::Straps |
12:05 |
moritz_ |
dh-make-perl --cpan Test::Harness::Straps tells me it's a core module |
12:05 |
mathw |
hmm |
12:05 |
mathw |
that's odd |
12:06 |
moritz_ |
but dh-make-perl --cpan Test::TAP::Model writes a dependency for libtest-harness-straps-perl |
12:10 |
|
snearch joined #perl6 |
12:10 |
moritz_ |
info: 956 smartlinks found and 54 broken in 730 test files (177 test files had no links). |
12:10 |
moritz_ |
that's... bad |
12:11 |
moritz_ |
I had it down to 3 broken links or so a few months ago |
12:17 |
moritz_ |
S\d\d are now regenerated. |
12:17 |
mathw |
moritz_++ |
12:21 |
rjh |
I just noticed, nobody here ever uses the negative karma option. My company's IRC is a bit different :) |
12:21 |
moritz_ |
rjh: that's because destructive contributions are really rare here |
12:22 |
moritz_ |
I can't remember a single case of vanadlism in the pugs repo, for instance |
12:23 |
mathw |
the only time I've ever seen it is someone demoting themself |
12:24 |
mathw |
we use it in my own server's IRC a lot though, usually complaining about various companies and products and politicians :) |
12:25 |
moritz_ |
and we lambdabot-- occasionally |
12:25 |
moritz_ |
@karma lambdabot |
12:25 |
lambdabot |
lambdabot has a karma of -2 |
12:26 |
mathw |
yes well |
12:26 |
mathw |
that's necessary |
12:27 |
moritz_ |
and I --'ed somebody for introducing an arbitrary code execution hole in p6eval, as absurd as it sounds :-) |
12:29 |
colomon |
ok sign(undef) ~~ undef, 'sign(undef) is undef'; |
12:29 |
colomon |
does that make any sense as a test? |
12:30 |
colomon |
none of the other numeric functions are tested against undef |
12:30 |
* moritz_ |
wasn't sure, just took what the spec said |
12:30 |
colomon |
ah yes, you are to blame. :) |
12:31 |
moritz_ |
of course I am, that's my job :-) |
12:32 |
colomon |
dear heavens, that is what the spec says |
12:32 |
colomon |
freaky |
12:32 |
* moritz_ |
mentally links to his recent blog post "why I commit crud to the Perl 6 test suite" :-) |
12:33 |
colomon |
on the other hand, I don't see anything there about sign(Complex) == undef, and you added that, too. |
12:38 |
moritz_ |
that was based on a discussion in RT and a comment from TimToady |
12:38 |
|
zamolxes joined #perl6 |
12:39 |
moritz_ |
Complex.Num fail()s for $.im != 0, and sign() notionally just propagates that failure |
12:39 |
colomon |
why not a 1+0i test too, then? |
12:40 |
* colomon |
is busy adding tests to sign... |
12:40 |
moritz_ |
rakudo: say sign(1+0i).perl |
12:40 |
p6eval |
rakudo 7347ec: undef |
12:40 |
moritz_ |
hm |
12:40 |
moritz_ |
colomon: I probably didn't do it because it's not really spec yet |
12:43 |
colomon |
okay, make break spectest for a few minutes here.... |
12:44 |
pugs_svn |
r29174 | colomon++ | [t/spec] Add tests for method form, Rats, and Num. |
12:46 |
|
Helios joined #perl6 |
12:46 |
colomon |
actually, could someone grab that and test it against master? |
12:47 |
* colomon |
didn't realize getting the latest master would be so involved... |
12:48 |
colomon |
sign.t |
12:57 |
* colomon |
did indeed break spectest |
12:58 |
pmichaud_ |
good morning, #perl6 |
12:58 |
colomon |
\o/ |
12:59 |
pmichaud_ |
ng: 'abc' ~~ / b { say "matched it, we did!" } / |
12:59 |
p6eval |
ng 3bdb4c: Symbol '$¢' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (src/PCT/HLLCompiler.pir:101) |
13:00 |
pmichaud_ |
hmmmm |
13:01 |
moritz_ |
does it work locally for you? |
13:01 |
moritz_ |
and good morning pmichaud_ :-) |
13:02 |
pmichaud_ |
oh, it probably breaks locally for me as well. I think I just fail to declare $¢ in regex blocks. |
13:03 |
|
bluescreen joined #perl6 |
13:08 |
|
takadonet joined #perl6 |
13:08 |
takadonet |
hey all |
13:09 |
* colomon |
is getting into twisty loops of testing logic.... master spectest passes again locally on his machine, but he knows his implementation is incorrect, therefore the tests must be also incomplete... |
13:10 |
|
pnate2 joined #perl6 |
13:13 |
|
payload joined #perl6 |
13:13 |
dalek |
rakudo: 1445ba3 | (Solomon Foster)++ | src/setting/ (2 files): |
13:13 |
dalek |
rakudo: Rough but working versions of Int.sign and Rat.sign. |
13:13 |
dalek |
rakudo: Actually, these pass the spectest but the Rat.sign one is definitely returning the wrong thing. Will try to correct both spectest and code shortly. |
13:13 |
dalek |
rakudo: review: http://github.com/rakudo/rakudo/commit/1445ba3f8b99b65a0040f6bd39ce19188c550d09 |
13:14 |
colomon |
rakudo: say 1 eq 4/4 |
13:14 |
p6eval |
rakudo 7347ec: 1 |
13:15 |
* moritz_ |
surprised |
13:15 |
colomon |
that's why the incorrect tests pass |
13:16 |
colomon |
it's a quasi-sensible result, but means we're not correctly testing the type returned by sign. |
13:16 |
moritz_ |
well, numeric tests should generally not rely on is() |
13:16 |
moritz_ |
they should use is_approx, or ok $a == $b |
13:16 |
moritz_ |
and then isa_ok for checking the return type |
13:17 |
colomon |
I guess I don't see what's wrong with using is for results which should be Ints.... |
13:17 |
colomon |
and I will add isa_ok checks in a sec. |
13:25 |
|
ejs1 joined #perl6 |
13:26 |
pmichaud_ |
...why shouldn't numeric tests be using is() ? |
13:27 |
pmichaud_ |
oh, nm. |
13:27 |
pugs_svn |
r29175 | colomon++ | [t/spec] Add tests that sign returns Int. |
13:27 |
pmichaud_ |
things that are floats probably shouldn't be using is() |
13:27 |
pmichaud_ |
but other tests that contain exact values should use is(), I think. |
13:29 |
cognominal_ |
pmichaud, what is the meaning of the pasttype 'alt'? |
13:29 |
zaslon |
lolmasakhazblogged! masak++ 'November 23 2009 -- of China(s) and cheese': http://use.perl.org/~masak/journal/39933?from=rss |
13:30 |
|
ashizawa joined #perl6 |
13:30 |
dalek |
rakudo: a55d864 | (Solomon Foster)++ | src/setting/ (2 files): |
13:30 |
dalek |
rakudo: Fix Int.sign and Rat.sign so they correctly return Ints. |
13:30 |
dalek |
rakudo: review: http://github.com/rakudo/rakudo/commit/a55d864e83514b79de45d3904a11f1c0cede67cc |
13:32 |
colomon |
Okay, now back to my original goal of getting sign working in ng. |
13:32 |
moritz_ |
:-) |
13:32 |
colomon |
pmichaud_: any chance of quickly sneaking undef into ng? We're not going to pass all of the sign.t tests without it.... :) |
13:33 |
|
ruoso joined #perl6 |
13:34 |
moritz_ |
phenny: tell masak see http://ali.as/top100/index.html for ideas how to score projects |
13:34 |
phenny |
moritz_: I'll pass that on when masak is around. |
13:35 |
|
ejs2 joined #perl6 |
13:36 |
cognominal_ |
masak, in your article you forgot to say that our great (and benevolent) helmsman left for Taiwan's equivalent |
13:36 |
colomon |
oh wow, master's Num.sign is beautiful. |
13:36 |
|
camenix joined #perl6 |
13:43 |
colomon |
ng: say NaN ~~ NaN |
13:43 |
p6eval |
ng 3bdb4c: Method 'ACCEPTS' not found for invocant of class 'Float'current instr.: '&infix:<~~>' pc 157427 (src/gen/perl6-actions.pir:0) |
13:43 |
colomon |
ng: say 2 <=> 4 |
13:43 |
p6eval |
ng 3bdb4c: Confused at line 1, near "say 2 <=> "current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) |
13:44 |
colomon |
Well, that's going to make self ~~ NaN ?? NaN !! self <=> 0 a bit tricky now, isn't it? |
13:44 |
moritz_ |
well, you can implement it :-) |
13:44 |
colomon |
ng: say 2 < 4 |
13:44 |
p6eval |
ng 3bdb4c: sh: ./perl6: No such file or directory |
13:45 |
colomon |
all right, now that's just getting silly. |
13:45 |
moritz_ |
or use <, == and > separately |
13:45 |
colomon |
;) |
13:46 |
colomon |
Seems like the incremental difficulty of implementing <=> over sign is pretty minor... let's give it a go. |
13:47 |
colomon |
see how much I can get done before I take the boy to the library for storytime. |
13:48 |
colomon |
ng: say 2 cmp 4 |
13:48 |
p6eval |
ng 3bdb4c: Confused at line 1, near "say 2 cmp "current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) |
13:49 |
colomon |
Oh, wait. I suppose ng doesn't have order, either? |
13:49 |
colomon |
Order, I mean. |
13:49 |
colomon |
ng: Order |
13:49 |
p6eval |
ng 3bdb4c: Could not find non-existent sub &Ordercurrent instr.: '_block14' pc 29 (EVAL_1:0) |
13:49 |
moritz_ |
I think you suppose correctly :-) |
13:49 |
moritz_ |
rakudo: Order |
13:49 |
p6eval |
rakudo 7347ec: ( no output ) |
13:50 |
colomon |
Okay, maybe I'll just whip together an inelegant sign instead. |
13:52 |
|
ejs2 joined #perl6 |
13:54 |
pmichaud_ |
moritz_: (undef) Sure, we can haz undef. It would really help if I could nail down what it returns exactly. |
13:55 |
moritz_ |
pmichaud_: that was colomon... I think by default undef returns the Object type object |
13:58 |
pmichaud_ |
oh, you're right, that was colomon |
13:59 |
pmichaud_ |
if undef just returns Object, then it's just |
13:59 |
colomon |
and considering my luck so far implementing sign, may have been premature. ;) |
13:59 |
pmichaud_ |
our sub undef() is export { Object }; |
13:59 |
colomon |
not Object.net? |
13:59 |
colomon |
Object.new? |
13:59 |
pmichaud_ |
that wouldn't be the type object |
13:59 |
pmichaud_ |
and in some sense, Object.new should be defined. |
13:59 |
pmichaud_ |
(whereas we obviously want an undefined object :-) |
14:00 |
colomon |
okay. |
14:00 |
moritz_ |
pmichaud_: uhm, undef should be parsed as a term, not listop |
14:01 |
pmichaud_ |
moritz_: sure, but I suspect there's still an &undef function somewhere. |
14:01 |
moritz_ |
pmichaud_: the function is called undefined() |
14:01 |
pmichaud_ |
that's a different function |
14:01 |
moritz_ |
std: undef ~~ 1 |
14:01 |
p6eval |
std 29175: ok 00:01 105m |
14:01 |
pmichaud_ |
undefined() will undef a variable |
14:02 |
moritz_ |
std: sub a(); a ~~ 1 |
14:02 |
p6eval |
std 29175: [31m===[0mSORRY![31m===[0mMissing block at /tmp/b0JqcBS8CV line 1:------> [32msub a()[33m⏏[31m; a ~~ 1[0m expecting any of: block routine_def terminator trait whitespaceFAILED 00:01 104m |
14:02 |
moritz_ |
std: sub a() { }; a ~~ 1 |
14:02 |
p6eval |
std 29175: [31m===[0mSORRY![31m===[0mPreceding context expects a term, but found infix ~~ instead at /tmp/BPEWNQqh4r line 1:------> [32msub a() { }; a ~~[33m⏏[31m 1[0mFAILED 00:01 106m |
14:02 |
moritz_ |
pmichaud_: STD.pm doesn't know about an undef() function |
14:02 |
moritz_ |
you can see it doesn't parse as a listup |
14:02 |
pmichaud_ |
std: undef() |
14:02 |
colomon |
Do named arguments work in ng yet? |
14:02 |
p6eval |
std 29175: Undeclared routine: 'undef' used at line 1ok 00:01 103m |
14:02 |
moritz_ |
s/up/op/ |
14:03 |
pmichaud_ |
colomon: they should, yes. |
14:03 |
colomon |
huh. |
14:03 |
pmichaud_ |
moritz_: I agree that undef is a term, yes. |
14:03 |
pmichaud_ |
I'm wondering if there's also an &undef function. I'm fine if there isn't. |
14:04 |
pmichaud_ |
you're correct that std doesn't recognize one. |
14:07 |
colomon |
ng: say sign(1.0e0) |
14:07 |
p6eval |
ng 3bdb4c: Method 'sign' not found for invocant of class 'Num'current instr.: '&sign' pc 178053 (src/gen/core.pir:5033) |
14:08 |
colomon |
ieeeeeeee |
14:08 |
colomon |
ng: say 1.0e0.WHAT |
14:08 |
p6eval |
ng 3bdb4c: Int() |
14:08 |
colomon |
ng: say 1.1e0.WHAT |
14:08 |
p6eval |
ng 3bdb4c: Num() |
14:08 |
moritz_ |
uhm. |
14:08 |
* moritz_ |
calls that a bug |
14:15 |
|
szabgab joined #perl6 |
14:16 |
colomon |
even spookier: |
14:16 |
colomon |
ng: say 1.5e1.WHAT |
14:16 |
p6eval |
ng 3bdb4c: Int() |
14:16 |
colomon |
it's disturbingly smart about it.... |
14:16 |
moritz_ |
ETOOSMART |
14:18 |
pmichaud_ |
did someone adjust the floating point code? |
14:19 |
pmichaud_ |
ohhhh, I see. |
14:19 |
colomon |
Not me. |
14:19 |
colomon |
ng: say NaN == NaN |
14:19 |
p6eval |
ng 3bdb4c: 0 |
14:19 |
pmichaud_ |
internally the code gets converted to a Parrot float |
14:19 |
pmichaud_ |
so 1.5e1 ends up in the PIR source as "15" |
14:19 |
pmichaud_ |
which Parrot treats as an Int |
14:20 |
mathw |
umm |
14:20 |
mathw |
that's not good |
14:20 |
moritz_ |
so you'd have to go through a $N register? |
14:21 |
pmichaud_ |
no, we can tell the PAST::Val the exact type of object to be created |
14:21 |
moritz_ |
that sounds better |
14:21 |
* pmichaud_ |
tries that. |
14:23 |
pmichaud |
> say 1.5e1.WHAT |
14:23 |
pmichaud |
Num() |
14:23 |
lambdabot |
Not in scope: `say'Not in scope: data constructor `WHAT' |
14:23 |
|
_jaldhar joined #perl6 |
14:23 |
moritz_ |
lambdabot: learn some context, you fool |
14:23 |
pmichaud |
if anyone has a suggestion for a won't-clash-with-lambdabot prompt, we can change that too. :) |
14:23 |
* moritz_ |
suggests to kick lambdabot instead |
14:24 |
moritz_ |
zaslon: karma |
14:24 |
zaslon |
Sorry, I don't understand that command |
14:24 |
moritz_ |
zaslon: karma moritz_ |
14:24 |
zaslon |
Sorry, I don't understand that command |
14:24 |
moritz_ |
hm, that was mubot |
14:24 |
pmichaud |
I was thinking about »ö« as a prompt, but it doesn't quite look right to me in practice. |
14:25 |
moritz_ |
I'd rather add some karma tracking facilities to hugme and kick lambdabot for good |
14:25 |
pmichaud |
I also tried »ö«: as a prompt... that's a little better but still didn't quite look right. |
14:25 |
moritz_ |
it's too symmetric |
14:25 |
moritz_ |
a prompt is something asymmetric |
14:26 |
mathw |
just kill lambdabot |
14:26 |
mathw |
it responds to too many different leading characters |
14:26 |
mathw |
bad command set |
14:29 |
colomon |
ng: say NaN eq NaN |
14:29 |
p6eval |
ng 3bdb4c: 1 |
14:29 |
colomon |
ng: say 19 eq NaN |
14:29 |
p6eval |
ng 3bdb4c: 0 |
14:29 |
colomon |
ng: say NaN.WHAT |
14:29 |
p6eval |
ng 3bdb4c: Num() |
14:31 |
colomon |
btw, in ng plan * seems to generate |
14:31 |
colomon |
"1..!whatever_dispatch_helper" for the number of tests.... |
14:31 |
moritz_ |
rakudo: say * ~~ Whatever |
14:32 |
p6eval |
rakudo 7347ec: 1 |
14:32 |
moritz_ |
rakudo: say 1 ~~ Whatever |
14:32 |
p6eval |
rakudo 7347ec: 0 |
14:32 |
moritz_ |
I guess we can fix plan() |
14:33 |
ng_feed |
rakudo-ng: pmichaud++ |
14:33 |
ng_feed |
rakudo-ng: Force 1e0 to build a Num. |
14:34 |
|
perlygatekeeper joined #perl6 |
14:34 |
pugs_svn |
r29176 | colomon++ | [t/spec] Change 1.5e1 to 1.5e0 to test around current ng bug which makes 1.5e1 an Int. |
14:35 |
colomon |
Ironic juxtaposition of those last two commits, eh? :) |
14:35 |
|
am0c joined #perl6 |
14:40 |
pmichaud |
we fix bugs *and* work around them :) |
14:43 |
|
ejs joined #perl6 |
14:45 |
ng_feed |
rakudo-ng: colomon++ |
14:45 |
ng_feed |
rakudo-ng: Merge branch 'ng' of git github.com:rakudo/rakudo into ng |
14:45 |
ng_feed |
rakudo-ng: colomon++ |
14:45 |
ng_feed |
rakudo-ng: Provide basic implementations of Int.sign, Rat.sign, and Num.sign. |
14:45 |
|
FullMetalHarlot joined #perl6 |
14:45 |
colomon |
okay, I just pushed what I've got of sign. The first 33 tests pass, and then the named argument tests blow up. |
14:45 |
|
iblechbot joined #perl6 |
14:46 |
moritz_ |
is this the multi/proto/named args thing? |
14:46 |
colomon |
I've got to take the boy to storytime, and should probably do $work after that, so if someone else could take a look at the named argument thing, that would be cool.... |
14:46 |
colomon |
moritz_: yes, though I think we thought that worked in ng. |
14:47 |
moritz_ |
maybe I'll look into it later |
14:50 |
|
kolibrie joined #perl6 |
15:07 |
|
PacoLinux joined #perl6 |
15:11 |
|
Psyche^ joined #perl6 |
15:21 |
|
hudnix joined #perl6 |
15:24 |
|
Bzek joined #perl6 |
15:27 |
[particle]1 |
rakudo: use v6; say 'hi'; |
15:27 |
p6eval |
rakudo 7347ec: hi |
15:29 |
moritz_ |
rakudo: #=======#=======use v6; |
15:30 |
p6eval |
rakudo 7347ec: Could not find non-existent sub v6in Main (file src/gen_setting.pm, line 324) |
15:30 |
moritz_ |
there you go |
15:31 |
moritz_ |
std: #=======#=======use v6; |
15:31 |
p6eval |
std 29176: ok 00:01 104m |
15:31 |
|
payload joined #perl6 |
15:38 |
|
alester joined #perl6 |
15:39 |
|
rfordinal joined #perl6 |
15:43 |
|
ejs joined #perl6 |
15:44 |
moritz_ |
(for the record: bug reported) |
15:44 |
moritz_ |
I've found a computationally *very* expensive way to calculate a sine function |
15:45 |
Gothmog_ |
Picking a double by random and checking for correctness? |
15:45 |
moritz_ |
do a quantum mechanical tight-binding simulation of a wire with spin-orbit coupling |
15:45 |
moritz_ |
and then look at the spin conductance as a function of the spin-orbit coupling strength |
15:46 |
Gothmog_ |
bzzt |
15:50 |
pmichaud |
hmmm. I don't think term:<undef> can simply return the Object type object |
15:50 |
pmichaud |
because then $x ~~ undef doesn't dtrt |
15:51 |
pmichaud |
so whatever undef returns, it's likely not a type object. |
15:51 |
pmichaud |
(or not only a type object) |
15:52 |
moritz_ |
unless Object.ACCEPTS is special-cased |
15:52 |
pmichaud |
special-cased how? |
15:53 |
moritz_ |
if !$.defined && $?CLASS === Object { !.defined } else { normal type check logic } |
15:53 |
moritz_ |
but I really don't think that's a good answer |
15:53 |
pmichaud |
surely not $?CLASS |
15:53 |
moritz_ |
right |
15:53 |
moritz_ |
self.WHAT |
15:57 |
pmichaud |
S02:1077 |
15:57 |
pmichaud |
(The C<undef> function merely returns the most |
15:57 |
pmichaud |
generic C<Failure> object.) |
16:00 |
pmichaud |
afk for a bit |
16:10 |
|
cognominal_ joined #perl6 |
16:10 |
|
Woody2143 joined #perl6 |
16:15 |
|
jnthn joined #perl6 |
16:15 |
|
Gothmog_ joined #perl6 |
16:18 |
jnthn |
oh hai |
16:18 |
* jnthn |
is back from Latvia |
16:19 |
moritz_ |
oh it's jnthn |
16:22 |
|
wanradt joined #perl6 |
16:24 |
pmichaud |
jnthn: wb! |
16:25 |
jnthn |
pmichaud: Thanks. |
16:25 |
* jnthn |
spent his plane ride reading a paper on metamodels. :-) |
16:25 |
pmichaud |
as opposed to a meta description of paper models? |
16:26 |
pmichaud |
or perhaps it was a ride on paper plane metamodels? |
16:27 |
pmichaud |
jnthn: you mentioned (I think) about reworking some of the role stuff? |
16:29 |
|
Wolfman2000 joined #perl6 |
16:30 |
jnthn |
pmichaud: I already did start on that, but I ain't done yet. |
16:30 |
jnthn |
pmichaud: Well, it's onto the nth evolution since the original. :-) |
16:30 |
Wolfman2000 |
Morning. There is a slim chance I can pull off MD5/SHA. The big question is...can I write a program within 75 minutes? |
16:30 |
pmichaud |
jnthn: is it a significant change in terms of how roles are created/used internally? |
16:30 |
moritz_ |
Wolfman2000: you might want to look in the November source code |
16:31 |
moritz_ |
Wolfman2000: I think the use parrot's md5/sha1 libraries somewhere in there |
16:31 |
moritz_ |
s/the/thez/ |
16:31 |
Wolfman2000 |
moritz_: Where is that source code located? |
16:31 |
moritz_ |
*they* |
16:31 |
jnthn |
pmichaud: Most of the big changes are already in place. |
16:31 |
moritz_ |
pointme: november |
16:31 |
pointme |
viklund's november is at http://github.com/viklund/november/ |
16:31 |
pmichaud |
jnthn: okay |
16:31 |
jnthn |
pmichaud: That is to say, we construct it through the metamodelish stuff. |
16:31 |
moritz_ |
Wolfman2000: tehre you go |
16:31 |
pmichaud |
jnthn: in the current ng branch? |
16:31 |
jnthn |
pmichaud: Right. |
16:31 |
Wolfman2000 |
Is everything located at github? |
16:31 |
pmichaud |
jnthn: okay, excellent. |
16:31 |
moritz_ |
Wolfman2000: nope |
16:31 |
pmichaud |
I'm going to take a crack a the Failure role today, I think. |
16:31 |
jnthn |
pmichaud: There may be more to come. |
16:31 |
moritz_ |
Wolfman2000: we have on or two gitorious projects, and some are in the pugs repo... |
16:32 |
jnthn |
pmichaud: Well, there will be because I'm not finished making them work again yet. |
16:32 |
jnthn |
pmichaud: I meant more, in the future we may need to tweak it further. |
16:32 |
Wolfman2000 |
...and why am I not surprised to see PIR in here? |
16:33 |
moritz_ |
because that's the oldest way to interact with parrot? |
16:33 |
jnthn |
pmichaud: I'm happy I'm close enough to working out what's needed for now, so I just need to write a bunch of code. :-) |
16:34 |
Wolfman2000 |
moritz_: Soon as I locate the init and update functions, I can possibly use it. Otherwise, I get to relearn bit operations. |
16:34 |
|
facsimile joined #perl6 |
16:37 |
PerlJam |
good morning all |
16:42 |
|
rfordinal joined #perl6 |
16:43 |
Wolfman2000 |
...okay, I think my connection is back. |
16:43 |
Wolfman2000 |
...I need a reminder. How big our Perl 6 ints normally? 32 bit or 64 bit? |
16:44 |
Wolfman2000 |
How big are* |
16:44 |
pmichaud |
do you mean "int" or "Int"? |
16:44 |
moritz_ |
it's the wrong question :-) |
16:44 |
Wolfman2000 |
pmichaud: Int |
16:44 |
moritz_ |
Int is meant to be arbitrary precision |
16:44 |
pmichaud |
...what moritz++ said |
16:44 |
moritz_ |
s/precision/size/ |
16:44 |
|
KyleHa joined #perl6 |
16:44 |
moritz_ |
but isn't yet in Rakudo |
16:45 |
moritz_ |
the actual size is platform dependent |
16:45 |
Wolfman2000 |
...what is it on Feather? |
16:45 |
moritz_ |
again a wrong question :/ |
16:45 |
Wolfman2000 |
I compiled rakudo via normal means. I don't recall passing any command line switches. |
16:46 |
* moritz_ |
doesn't know |
16:46 |
pmichaud |
Wolfman2000: "Int" doesn't have a "size" |
16:46 |
Wolfman2000 |
pmichaud: I'm asking about rakudo at this point. |
16:46 |
pmichaud |
Wolfman2000: in rakudo, at this point, Int's larger than 32 bits spill over to become Num |
16:46 |
moritz_ |
Wolfman2000: does t/spec/S03-operators/overflow.t pass on feather? |
16:48 |
Wolfman2000 |
moritz_: let me find that directory and then run perl...5 or 6 on it? |
16:48 |
moritz_ |
Wolfman2000: rakudo |
16:49 |
moritz_ |
make testable |
16:49 |
|
perigrin joined #perl6 |
16:49 |
moritz_ |
then just ./perl6 t/spec/S03-operators/overflow.t |
16:49 |
Wolfman2000 |
test 18 is not ok, then it chokes due to floating point exception |
16:50 |
moritz_ |
then it's probably a 32bit parrot |
16:50 |
Wolfman2000 |
...guess I'll have to bide my time as I originally thought |
16:51 |
Wolfman2000 |
Oh well: I've got plenty for my project anyway. At least you guys will get some credit. |
16:51 |
pmichaud |
I don't think it matters what sort of parrot one has |
16:51 |
|
rfordinal left #perl6 |
16:51 |
moritz_ |
hm, overflow.t passes for me |
16:52 |
moritz_ |
pmichaud: what else could it depend on? availability of gmp? |
16:52 |
pmichaud |
moritz_: possibly, yes. |
16:52 |
pmichaud |
moritz_: but rakudo actually explicitly checks for values outside of 32-bit |
16:53 |
moritz_ |
and then.. does what? |
16:53 |
jnthn |
Aye, I remember seeing those recently. |
16:53 |
pmichaud |
if outside of 32-bit, makes it a num |
16:53 |
KyleHa |
I think overflow.t passes due to bogosity. |
16:53 |
pmichaud |
http://github.com/rakudo/rakudo/blob/master/src/builtins/op.pir#L19 |
16:54 |
KyleHa |
Its tests are designed for a 32-bit arch. It always passes for me on amd64. |
16:54 |
pmichaud |
many of the overflow.t tests came from the p5 test suite, iiuc |
16:54 |
pmichaud |
(which also tended to look at things at the 32-bit boundary) |
16:54 |
moritz_ |
KyleHa: they should pass on all platforms |
16:54 |
moritz_ |
KyleHa: so they're not bogus |
16:55 |
moritz_ |
KyleHa: just maybe not good enough, in some sense |
16:55 |
KyleHa |
Yes, that's a much better way to say it. |
16:55 |
mathw |
afternoon |
16:56 |
Wolfman2000 |
as a heads up, I don't think rakudo likes my @r[64]; yet. Must be the [64] part. |
16:56 |
jnthn |
hi mathw :_) |
16:56 |
jnthn |
Wolfman2000: Aye, sized arrays are nyi. |
16:56 |
* PerlJam |
reads about the S meta-op which he appears to have missed the arrival of |
16:57 |
mathw |
PerlJam: That was only the other day |
16:58 |
pmichaud |
PerlJam: yes, I missed it also. |
16:58 |
PerlJam |
mathw: forever ago in internet time :) |
16:58 |
|
felipe joined #perl6 |
16:58 |
moritz_ |
std: 1 S& 3 |
16:58 |
p6eval |
std 29176: ok 00:01 105m |
16:58 |
moritz_ |
std: 1 S+ 3 |
16:58 |
p6eval |
std 29176: ok 00:01 103m |
17:00 |
PerlJam |
apparently I missed "anon" as well. |
17:00 |
mathw |
I'm not quite sure what 'anon' is for yet |
17:01 |
mathw |
I haven't read the full thing |
17:02 |
KyleHa |
I think it's for declaring a sub that returns a particular type without having to use 'my' or 'our'. |
17:02 |
KyleHa |
Something like $x = anon Str sub { 'ha ha' }; |
17:03 |
pmichaud |
interesting. so one could do $x = anon Str sub xyz { 'ha ha' } to get a sub named 'xyz' that isn't entered in a symbol table as 'xyz' |
17:03 |
pmichaud |
I like it. |
17:03 |
moritz_ |
pmichaud: it isn't entered into the lexpad either, is it? |
17:04 |
PerlJam |
std: $x = anon Str sub xyz { 'ha ha' } |
17:04 |
p6eval |
std 29176: [31m===[0mSORRY![31m===[0mTwo terms in a row at /tmp/9u6vn39hU8 line 1:------> [32m$x = anon Str [33m⏏[31msub xyz { 'ha ha' }[0m expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorOther potential |
17:04 |
p6eval |
..difficulties: Varia… |
17:04 |
pmichaud |
moritz_: right |
17:04 |
pmichaud |
I consider lexpads to be symbol tables also :-) |
17:04 |
TimToady |
still need to check in 'anon' |
17:04 |
PerlJam |
at |
17:04 |
PerlJam |
er, ah |
17:04 |
moritz_ |
std: sink 1 |
17:04 |
p6eval |
std 29176: Undeclared routine: 'sink' used at line 1ok 00:01 103m |
17:04 |
* jnthn |
didn't get chance to review all of the changes yet; S looked odd at first glance. |
17:04 |
moritz_ |
TimToady: sink also :-) |
17:05 |
PerlJam |
anon still feels like one-too-many scope declarators to me (in the all of 5 minutes that I've known of its existence :) |
17:05 |
|
Linuturk joined #perl6 |
17:05 |
Wolfman2000 |
...I think I'm biting off more than I can chew right now. Str "The test" in hex is 5468652074657374. If I understand MD5 right, I should append a 1 bit, then 0 bits until my hex length is 28. Then, I append the length of the unpadded message...8, little endian style. Is it possible to append bit strings to Str? |
17:05 |
|
Linuturk left #perl6 |
17:06 |
moritz_ |
Buf()s would be better for that, but mostly NYI |
17:06 |
pmichaud |
bit strings should probably be buf, not str |
17:06 |
Wolfman2000 |
moritz_: Buf types aren't in yet? |
17:07 |
PerlJam |
Wolfman2000: patches welcome! :) |
17:07 |
moritz_ |
Wolfman2000: only very basic stuff is implemented in Buf |
17:07 |
moritz_ |
like encode/decode |
17:07 |
Wolfman2000 |
...alright, I'm out of my league then. PerlJam: can't even try to do this now. |
17:08 |
Wolfman2000 |
Back to my original plan then: worry about bit shifting and buffing AFTER my presentation. |
17:08 |
moritz_ |
TimToady: in the backlog, did you see my idea about a Base role or so which builtin types (or things that act like builtins) implement? |
17:08 |
Wolfman2000 |
To think, Perl 6 is in use before it's out for everyone to use. |
17:09 |
Wolfman2000 |
If this doesn't get you guys publicity, I don't know what will. |
17:09 |
moritz_ |
as long as it's good publicity... :-) |
17:09 |
Wolfman2000 |
moritz_: I plan on it. |
17:09 |
PerlJam |
I think I have a pessimist hat on today |
17:10 |
Wolfman2000 |
PerlJam: take it off. |
17:10 |
mathw |
anybody know what parrot means when it says 'unexpected end'? |
17:10 |
pmichaud |
mathw: usually that there's a missing '.end' I think |
17:10 |
PerlJam |
The first thing I thought when I saw "get you guys publicity" was ``what does he mean "you guys"?'' and that worried me some. |
17:10 |
mathw |
pmichaud: interesting |
17:10 |
mathw |
pmichaud: this seems to be caused by a bit of inline PIR |
17:11 |
|
synth joined #perl6 |
17:12 |
* mathw |
experiments |
17:13 |
moritz_ |
runaway quote maybe? |
17:13 |
* moritz_ |
guesses |
17:13 |
mathw |
aaaaaaaaaargh |
17:13 |
jnthn |
Pain. He experiences it. |
17:14 |
mathw |
yup |
17:14 |
mathw |
the cat's come to cheer me up |
17:14 |
jnthn |
cat++ |
17:14 |
mathw |
fortunately he's not trying to help |
17:14 |
jnthn |
.oO( Unexpected cheezburger ) |
17:15 |
|
simcop2387 joined #perl6 |
17:15 |
moritz_ |
at file <unknown>, line <unknown> |
17:15 |
|
cdarroch joined #perl6 |
17:16 |
pmichaud |
S02:565 says that C<Failure> is a non-instantiable role.... is that meant in the same sense that other roles don't have instances except via punning, or is there something deeper there? |
17:16 |
|
wtgee joined #perl6 |
17:17 |
mathw |
right |
17:17 |
jnthn |
All roles are non-instantiable without punning. |
17:17 |
mathw |
it seems that you can't have anything that's not a Q:PIR block inside a function body that has a Q:PIR block in it. Is this expected? |
17:18 |
jnthn |
mathw: May need a ; after the } but that may be a bug if so. |
17:18 |
pmichaud |
jnthn: right... I'm just wondering if the statement meant something further |
17:18 |
jnthn |
pmichaud: I srsly hope not. |
17:18 |
pmichaud |
mathw: that's not expected, no. |
17:18 |
PerlJam |
pmichaud: as in, you can't even pun Failure? |
17:18 |
mathw |
jnthn: I build test case |
17:18 |
pmichaud |
mathw: one should be able to put Q:PIR anywhere that a value is expected |
17:19 |
pmichaud |
ng: say 3 + Q:PIR { %r = box 4 }; |
17:19 |
p6eval |
ng e4113c: 7 |
17:19 |
jnthn |
pmichaud: Though if you want to make totally sure it can't be punned, then give the role a method new that throws an exception. |
17:19 |
jnthn |
(I assume it's got no other constructors...) |
17:19 |
mathw |
pmichaud: right |
17:19 |
jnthn |
pmichaud: I really can't imagine anything deeper than that though. |
17:19 |
mathw |
and my test case passed |
17:19 |
mathw |
so it's something else |
17:19 |
pmichaud |
mathw: can you nopaste what you have? |
17:19 |
mathw |
pmichaud: it's in a huge mess at the moment, I'm trying to rationalise it |
17:19 |
mathw |
I will do if I get something meaningful |
17:20 |
pmichaud |
mathw: okay. |
17:20 |
|
wtgee left #perl6 |
17:20 |
|
desertm4x joined #perl6 |
17:20 |
pmichaud |
so, given that we now have Numeric and Stringy roles... what do we expect prefix:<+> to look like? (more) |
17:21 |
pmichaud |
for example, I know that sub prefix:<+>(Numeric $x) { $x } is likely correct |
17:21 |
TimToady |
not without a 'multi' :P |
17:21 |
pmichaud |
but what if $x doesn't Numeric? what's our api for converting non-Numerics to numeric? |
17:21 |
pmichaud |
is it still .Num, or ... ? |
17:21 |
pmichaud |
(yes, need the multi) |
17:22 |
|
ejs joined #perl6 |
17:22 |
TimToady |
moritz_: yes, I saw Base, and am also wondering whether it actually works, or will prevent users from, say, doing numeric coercion via +$myobj, and whether or not that's good |
17:23 |
|
payload joined #perl6 |
17:24 |
TimToady |
the dwimmy thing the user expects of + is to call the coercer for the narrowest non-native type that handles it, or something like that |
17:24 |
TimToady |
maybe the next thing to do is to call the actual type of the original object to see if it has a Numeric sub defined |
17:25 |
TimToady |
so sweep the problem under the carpet of Str |
17:25 |
pmichaud |
okay, I'm afraid I didn't follow much of any of that |
17:25 |
mathw |
whee |
17:26 |
mathw |
infinite loop! |
17:26 |
TimToady |
I meant a method |
17:27 |
pmichaud |
so, multi sub prefix:<+>($x) { $x.Numeric } ? |
17:27 |
TimToady |
if there's a Str.Numeric method... yeah |
17:27 |
|
zamolxes joined #perl6 |
17:27 |
pmichaud |
same with Stringy and prefix:<~>, then ? |
17:28 |
TimToady |
presuming symmetry there |
17:28 |
mathw |
is there ever going to be a time when Rakudo can compile the core/*.pm without having to concat them all together first? |
17:28 |
pmichaud |
how about prefix:<?> and Boolean ? |
17:28 |
pmichaud |
still symmetry there, also ? (that would be nice) |
17:28 |
TimToady |
to the extend it makes sense |
17:28 |
TimToady |
*extent |
17:28 |
TimToady |
not everything extends to boolean |
17:29 |
|
KyleHa joined #perl6 |
17:29 |
pmichaud |
well, we still have the outstanding issues regarding the relationship of .true, .Bool, etc |
17:29 |
pmichaud |
so I'm wondering if .Boolean might help to clean that up |
17:29 |
TimToady |
maybe |
17:29 |
TimToady |
need to be careful with junctions |
17:30 |
pmichaud |
hmmm.... yes. |
17:31 |
mathw |
heh |
17:31 |
mathw |
calling @list.perl.say in ng seems to be causing an infinite loop |
17:31 |
mathw |
or at least, taking a veeery long time |
17:33 |
pmichaud |
I also wonder if @($x) should be doing $x.Positional and %($x) should be $x.Associative, then. |
17:34 |
pmichaud |
although that's not quite right, because if $x is a Capture then @($x) should be getting the positional elements out |
17:35 |
moritz_ |
TimToady: the idea behind Base is that class authors decide themselves if they want to support +$object |
17:36 |
pmichaud |
moritz_: wouldn't that normally be handled by .Numeric, though? |
17:36 |
moritz_ |
pmichaud: yes |
17:37 |
moritz_ |
pmichaud: my idea was to but methods like Numeric, sin, abs, etc. into a Base role and out of Any |
17:37 |
mathw |
woo! I wrote Array.push |
17:37 |
moritz_ |
pmichaud: so that user defined classes don't have 200 methods inherited from Any |
17:37 |
mathw |
...although it pushes into the middle, apparently |
17:37 |
dukeleto |
moritz_: that sounds like it could be a good idea |
17:37 |
dukeleto |
moritz_: and a performance enhancement as well |
17:37 |
moritz_ |
pmichaud: unless they explicitly want them, in which case they just 'do Base' |
17:38 |
moritz_ |
and if they don't, +$obj will fail because $obj doesn't have a Numeric method, unless defined explicitly |
17:38 |
pmichaud |
moritz_: and so then Int/Num/Str/List/Mapping all "does Base" by default ? |
17:38 |
moritz_ |
pmichaud: yes |
17:39 |
moritz_ |
all built-in types except Any, Object, junction and maybe Whatever (not sure about Whatever) |
17:39 |
|
iblechbot joined #perl6 |
17:40 |
TimToady |
.oO(all your Any are belong to us...) |
17:40 |
moritz_ |
I was just about to call for Base puns |
17:40 |
pmichaud |
moritz_: I like that idea, don't see many downsides. the name is a little "off" |
17:40 |
TimToady |
does BASIC |
17:41 |
moritz_ |
pmichaud: yeah, I'm not fixed on the name |
17:41 |
KyleHa |
does FORTRAN |
17:41 |
dukeleto |
TimToady: does Math |
17:41 |
moritz_ |
there are more than Math builtins |
17:41 |
TimToady |
does Polymath |
17:42 |
dukeleto |
is Polyglot |
17:42 |
pmichaud |
moritz_: what common methods wouldn't end up in Base? |
17:42 |
TimToady |
speaks P6ese |
17:42 |
pmichaud |
seems like .grep, .join, etc still go into Any |
17:42 |
TimToady |
P6ease |
17:42 |
moritz_ |
pmichaud: maybe the List ones... not sure though |
17:43 |
moritz_ |
one could make a case for putting them into Base too |
17:43 |
TimToady |
ohoh, the abstraction is leaking --> sink :) |
17:43 |
TimToady |
does KitchenSink |
17:43 |
pmichaud |
moritz_: well, .join probably doesn't go in Any |
17:43 |
pmichaud |
because it wants to be able to stringify |
17:44 |
pmichaud |
.grep still goes into Any, because we want to treat objects as lists of 1 elem |
17:44 |
moritz_ |
pmichaud: for builtin types, yes |
17:44 |
pmichaud |
moritz_: oh, I would think for non-builtin types also |
17:44 |
TimToady |
does DWIM |
17:45 |
pmichaud |
er, does WIM |
17:45 |
TimToady |
but it does do it! :) |
17:45 |
moritz_ |
pmichaud: not sure... <foo> returns a string, but a quote should alwys return something which does DWIM |
17:45 |
moritz_ |
pmichaud: so I see why <foo>.grep should work |
17:45 |
pmichaud |
moritz_: I think of it more along the lines of $x versus @x |
17:45 |
moritz_ |
pmichaud: but not why $arbitrary_object.grep shoudl work |
17:46 |
pmichaud |
i.e., $x and @x do different things in list context, even if they are the same object |
17:46 |
mathw |
so I ran make spectest in ng and everything passed |
17:46 |
moritz_ |
and by the same token $x.grep and @x.grep should do the same, even if $x !~~ Positional? |
17:46 |
mathw |
something's fudging, isn't it |
17:47 |
pmichaud |
moritz_: that's not my point |
17:47 |
pmichaud |
my point is whether we think of .grep as being "treat the invocant as a list, even if it's not already one" |
17:48 |
pmichaud |
and if that's true for all objects by default, as opposed to just those that "does Base" |
17:48 |
|
dalek joined #perl6 |
17:48 |
pmichaud |
if we think "for all objects by default", then .grep belongs in Any |
17:48 |
moritz_ |
right |
17:48 |
pmichaud |
if we think "this behavior only for builtin types", then .grep belongs in Base |
17:49 |
|
SmokeMachine joined #perl6 |
17:49 |
moritz_ |
anyway, that's a point I'm happy to negotiate, and maybe to just try out in real-world code |
17:50 |
pmichaud |
all of these issues fundamentally affect Rakudo-ng, though, so it would be good to nail them down a bit more now |
17:50 |
pmichaud |
especially the casting into Numeric, Stringy, Boolean, etc. |
17:50 |
pmichaud |
it's those sorts of issues that are posing questions about how to do Failure |
17:51 |
pmichaud |
and undef |
17:51 |
moritz_ |
right |
17:51 |
* dukeleto |
does Failure |
17:51 |
|
Nex6 joined #perl6 |
17:55 |
pugs_svn |
r29177 | lwall++ | [CORE,Stash] catch up with recent name changes |
17:55 |
pugs_svn |
r29177 | [STD] add anon, sink |
17:56 |
ng_feed |
rakudo-ng: (jnthn)++ |
17:56 |
ng_feed |
rakudo-ng: Start to get some junctional bits back in. Not yet working (but want to continue hacking on my desktop, not on my laptop :-)). |
17:56 |
* pmichaud |
does lunch, errands |
17:56 |
pmichaud |
bbiaw |
17:57 |
mathw |
http://gist.github.com/241235 highly oversimplified implementation of Array.push. I think it should be flattening the arguments maybe? |
17:58 |
|
payload joined #perl6 |
17:58 |
jnthn |
mathw: I think the slurpy param should enforce list context, and thus do that. |
17:58 |
mathw |
that would be nice |
17:59 |
mathw |
I need to figure out how to get it to do push-related spectests |
17:59 |
mathw |
but it works for simple things |
17:59 |
jnthn |
mathw: BTW, you can also do all of this with pir::opname form too :-) |
17:59 |
mathw |
I saw that elsewhere |
17:59 |
mathw |
but I didn't really understand it |
18:00 |
jnthn |
Also I wonder if pmichaud was thinking more of doing it in term of a .splice method call on self... |
18:00 |
mathw |
that's possible |
18:00 |
mathw |
in fact, that's quite likely |
18:00 |
PerlJam |
the less Q:PIR the better |
18:00 |
mathw |
that pir::opname thing requires you to know the name that has the argument type annotations doesn't it |
18:01 |
mathw |
PerlJam: agreed |
18:01 |
pmichaud |
+ my $elems = self.elems; |
18:01 |
pmichaud |
probably don't want to do that if we can avoid it |
18:01 |
mathw |
pmichaud: I know |
18:01 |
mathw |
Parrot's splice needs a count of where to stick it though |
18:01 |
* moritz_ |
wonders how push, unshift etc. relate to laziness |
18:01 |
mathw |
I know this isn't a good implementation, but it's been educational :) |
18:02 |
jnthn |
mathw: If you're doing e.g. $P0 = parrotop $S0, $I0 then you'd turn it into pir::parrotop__PSI($x, $y) or so. |
18:02 |
pmichaud |
it's also the case that you need to not push the original elements of @args, but copies |
18:02 |
jnthn |
"copies" :-) |
18:02 |
pmichaud |
otherwise if the original elements change, the values in the array change also |
18:02 |
mathw |
hmm |
18:02 |
mathw |
point |
18:02 |
mathw |
very good point |
18:02 |
jnthn |
It's copies in the assignment sense of the word though. |
18:02 |
pmichaud |
right |
18:03 |
mathw |
is that why the one in master does all the wrapping in Perl6Scalar? |
18:03 |
mathw |
or was tha tjust because it was pure PIR |
18:03 |
pmichaud |
it's not wrapping, exactly |
18:03 |
pmichaud |
but yes, that's why |
18:03 |
mathw |
right |
18:03 |
pmichaud |
it needs to act like an array of scalars |
18:04 |
pmichaud |
so my plan was more along the lines of |
18:04 |
pmichaud |
my @array = @args; |
18:04 |
pmichaud |
# splice @array into self |
18:04 |
mathw |
so really your plan for implementing push is |
18:04 |
mathw |
1) write splice |
18:05 |
pmichaud |
where "splice @array into self" does it based on the internals |
18:05 |
mathw |
so you're okay using Parrot's splice |
18:05 |
pmichaud |
i.e., without actually flattening @!values |
18:05 |
pmichaud |
yes, I'm fine with Parrot's splice |
18:05 |
mathw |
well maybe I can do something more like that |
18:05 |
pmichaud |
I just don't want to be forcing flattening of the Array itself |
18:05 |
mathw |
this is all very interesting |
18:05 |
mathw |
excuse me |
18:05 |
mathw |
I need to have some dinner |
18:06 |
pmichaud |
I think if you can write Array.splice first, the rest become much easier :) |
18:06 |
mathw |
that's because Array.splice is the hard one :P |
18:06 |
mathw |
although we could then have push entirely in Perl 6, I suppose |
18:06 |
jnthn |
Having more stuff in Perl 6 itself is nice. :) |
18:06 |
pmichaud |
right. |
18:07 |
* jnthn |
gets latest Parrot and ng branch built so he can do some stuff. |
18:07 |
mathw |
heh okay |
18:07 |
mathw |
I'll look at splice later then |
18:07 |
pmichaud |
otoh, it might not be so easy to do with push with splice because splice wants an offset also |
18:08 |
pmichaud |
so... I dunno. |
18:08 |
mathw |
laziness mucks it all up a bit |
18:08 |
pmichaud |
unshift and shift are easy with splice; push/pop not so easy |
18:08 |
mathw |
if one does splice, unshift and shift |
18:08 |
jnthn |
masak and I were pondering this yesterday. Does push onto an infinite list followed by a pop give you the thing you just pushed? |
18:08 |
mathw |
one can leave push for later |
18:08 |
pmichaud |
jnthn: that would be nice. I don't see a barrier to someday implementing it that way. |
18:09 |
pmichaud |
(nor has the stuff I've written thus far preclude it) |
18:09 |
jnthn |
I don't expect pop of 1..Inf is going to do much helpful though. :-) |
18:09 |
jnthn |
Well, unless your task was "fill up memory" |
18:09 |
pmichaud |
why is that? |
18:09 |
pmichaud |
I could imagine that pop of an infinite generator can work |
18:10 |
jnthn |
Wouldn't we have to generate the entire lot to know what it's last element is, in the general case? |
18:10 |
jnthn |
OK, for a range it's a poor example - we know. |
18:10 |
pmichaud |
in the general case, like I/O, perhaps |
18:10 |
pmichaud |
but just because a generator is infinite doesn't mean we can't pop :) |
18:10 |
Tene |
a generator could feasibly generate at both ends. |
18:11 |
jnthn |
.oO( if you call .pop on 1..Inf an infinite number of times...oh wait... ) |
18:11 |
pmichaud |
maybe something like -Inf .. 1 :-) |
18:11 |
mathw |
depends on the generator |
18:11 |
jnthn |
Yeah, true. :-) |
18:11 |
jnthn |
Depends how clever we want to be. :-) |
18:11 |
pmichaud |
okay, lunch for real now |
18:11 |
pmichaud |
bbl |
18:11 |
mathw |
can we not be too clever please |
18:11 |
mathw |
I don't think we really need to spend too much time letting people do foolish things with infinity |
18:11 |
jnthn |
mathw: Yes, I have a fear of excessive cleverness too :-) |
18:12 |
|
pnate joined #perl6 |
18:12 |
pmichaud |
mathw: you forget the Perl motto: "Perl exists to torment the implementors." |
18:12 |
pmichaud |
That would be you. |
18:12 |
pmichaud |
:-) |
18:12 |
mathw |
bah |
18:12 |
jnthn |
Yeah, but unfathomable semantics torment users too. :-) |
18:12 |
mathw |
I'll write the version that doesn't work with infinite lists |
18:12 |
mathw |
and let you fix it :P |
18:12 |
jnthn |
Shared tormentation. |
18:13 |
mathw |
Perl 6 isn't supposed to have unfathomable semantics |
18:13 |
PerlJam |
mathw: depends on who you are as to how "fathomable" the semantics are. |
18:13 |
mathw |
PerlJam: they should at least be written down somewhere |
18:14 |
|
stephenlb joined #perl6 |
18:14 |
PerlJam |
mathw: yes, but most of them are written in Perl 6! :) |
18:15 |
mathw |
PerlJam: recursion is... recursive :) |
18:15 |
|
lithos joined #perl6 |
18:16 |
lithos |
ng: say(0b22); |
18:16 |
p6eval |
ng e4113c: sh: ./perl6: No such file or directory |
18:16 |
lithos |
nqp: say(0b22); |
18:16 |
p6eval |
nqp: 6 |
18:17 |
|
eternaleye joined #perl6 |
18:17 |
lithos |
nqp: say(0b33); |
18:17 |
p6eval |
nqp: Method 'panic' not found for invocant of class 'Regex;Match'current instr.: 'parrot;HLL;Actions;string_to_int' pc 13934 (gen/hllgrammar-grammar.pir:3334) |
18:17 |
moritz_ |
in rakudo that's a known bug |
18:18 |
lithos |
hi! for nqp, one cause is a pasto in HLL/Grammar.pm, I think |
18:18 |
mathw |
lithos: are you the person who posted the summary on perl6-language? |
18:18 |
lithos |
yes |
18:18 |
mathw |
lithos: excellent work |
18:18 |
lithos |
noticed this bug preparing the summary |
18:18 |
mathw |
thank you very much :) |
18:18 |
lithos |
thanks |
18:19 |
moritz_ |
lithos: ah, you mean token binint { [<[ 0..7 ]>+] ** '_' } |
18:19 |
lithos |
yes |
18:19 |
* moritz_ |
fixes and tests |
18:20 |
lithos |
second thing is in HLL/Actions.pm:24 I think there should be >= in "if digitval > base goto err_base" |
18:21 |
|
desertm4x_ joined #perl6 |
18:22 |
lithos |
unless one wants to support redundant digits |
18:22 |
dalek |
nqp-rx: f9d5159 | moritz++ | src/HLL/Grammar.pm: |
18:22 |
dalek |
nqp-rx: fix binint pasto as noticed by lithos++ |
18:22 |
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f9d5159010b96244d546da1463c87c0400883597 |
18:23 |
moritz_ |
there's no reason to support 8 in base 8, right :-) |
18:23 |
TimToady |
lithos++ |
18:23 |
mathw |
moritz_: I hope not |
18:23 |
mathw |
if there is, my understanding of how to write numbers down is much poorer than it should be |
18:24 |
moritz_ |
lithos++ |
18:24 |
PerlJam |
lithos++ (indeed, that's where I first found out about the S meta-op) |
18:24 |
moritz_ |
@karma lithos |
18:24 |
lambdabot |
lithos has a karma of 4 |
18:25 |
lithos |
ok, one more nqp nit: t/nqp/42-cond-loop.t:36 and following claim they are testing "unless" but they actually are not |
18:26 |
PerlJam |
what happened to PERL6EXE in build/Makefile.in ? |
18:27 |
dalek |
nqp-rx: 1ec10cc | moritz++ | src/HLL/Actions.pm: |
18:27 |
dalek |
nqp-rx: fix an off-by-one error in number conversion error checking |
18:27 |
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx/commit/1ec10cc6bdeb169a966f6e52b7ba6f1eb3ba046b |
18:27 |
dalek |
nqp-rx: a89723d | moritz++ | t/nqp/42-cond-loop.t: |
18:27 |
dalek |
nqp-rx: fix some test descriptions, as reported by lithos++ |
18:27 |
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx/commit/a89723dc6c543bd097e14235debfd24ee6125b09 |
18:28 |
|
mdxi joined #perl6 |
18:28 |
PerlJam |
oh, I see. In some places we have PERL6EXE and in others we have PERL6_EXE |
18:29 |
colomon |
lithos++ indeed! |
18:29 |
jnthn |
lithos++ # some nice fixes there! :-) |
18:29 |
lithos |
hm, moritz_, maybe the descriptions where as intended but the tests themselves weren't? |
18:29 |
* lithos |
blushes |
18:29 |
|
mdxi joined #perl6 |
18:33 |
ng_feed |
rakudo-ng: (Jonathan Scott Duff)++ |
18:33 |
ng_feed |
rakudo-ng: [makefile] s/PERL6EXE/PERL6_EXE/ |
18:33 |
|
zloyrusskiy joined #perl6 |
18:33 |
|
rgrau joined #perl6 |
18:36 |
IllvilJa |
Is this channel a place where I can find Russ Allbery (who maintains Term::ANSIColor for Perl5). I asked in #perl but got no answer... (and yes, I have tried to mail Russ using his CPAN mail address) |
18:37 |
|
Su-Shee joined #perl6 |
18:38 |
|
pure1111 joined #perl6 |
18:38 |
ng_feed |
rakudo-ng: jnthn++ |
18:38 |
ng_feed |
rakudo-ng: Give Junction a decent custom .new, meaning we can now nicely write all of any/all/one/none in the setting, as well as the various operators. |
18:41 |
jnthn |
std: anon Int $x; |
18:41 |
p6eval |
std 29177: ok 00:01 106m |
18:41 |
jnthn |
std: anon Int $x; say $x; |
18:41 |
p6eval |
std 29177: Potential difficulties: Variable $x is not predeclared at /tmp/4CzilF5Wfi line 1:------> [32manon Int $x; say $x[33m⏏[31m;[0mok 00:01 104m |
18:41 |
jnthn |
std++ |
18:41 |
mathw |
jnthn: oooh |
18:43 |
* mathw |
looks at the spec for Array.splice and goes a bit pale |
18:43 |
jnthn |
Not quite sure of a use for an anonymous variable yet. ;-) |
18:44 |
mathw |
no |
18:44 |
mathw |
so this junction thing you just committed |
18:44 |
mathw |
that looks fun |
18:45 |
jnthn |
mathw: Well, it just bugged me that the internal what-kinda-junction-is-it ID was gonna leak out if I wanted to write any/all/etc in the setting. |
18:45 |
jnthn |
So gave it a nicer interface. |
18:45 |
mathw |
yeah |
18:45 |
* mathw |
reads thePIR and tries to figure out what that is |
18:46 |
jnthn |
If we can work out how you introspection a junction's type in some sane way, we can port most of the rest to the setting. |
18:46 |
jnthn |
Certainly .perl for a start. |
18:46 |
mathw |
.param pmc any :named('any') :optional |
18:46 |
mathw |
.param pmc all :named('any') :optional |
18:46 |
mathw |
.param pmc one :named('any') :optional |
18:46 |
mathw |
.param pmc none :named('any') :optional |
18:46 |
mathw |
umm |
18:46 |
mathw |
what? |
18:46 |
jnthn |
oh wtf |
18:46 |
jnthn |
Yeah, bug. |
18:46 |
mathw |
pastefail? |
18:46 |
jnthn |
yeah |
18:47 |
jnthn |
I didn't test this beyond that it doesn't break the build. |
18:47 |
jnthn |
:-) |
18:47 |
mathw |
lol |
18:47 |
jnthn |
Junctions are kinda useless until I put back auto-threading. |
18:47 |
mathw |
so it works out as Junction.new(:any, @states) |
18:47 |
jnthn |
(Which is what I'm doing now) |
18:47 |
mathw |
\o/ |
18:48 |
jnthn |
I'd blame jet lag but I only did one timezone. :-/ |
18:49 |
mathw |
that's okay |
18:49 |
ng_feed |
rakudo-ng: jnthn++ |
18:49 |
ng_feed |
rakudo-ng: Fix pasto spotted by mathw++. |
18:50 |
* colomon |
is disappointed he didn't follow his first thought and report that issue. He just decided it must be two different anys.... |
18:51 |
mathw |
so, jnthn, is it really as simple as sub all(*@states) { Junction.new(:all, @states); } |
18:51 |
mathw |
have you really created such a level of awesome? |
18:52 |
jnthn |
mathw: Yeah. |
18:52 |
mathw |
woo |
18:52 |
jnthn |
mathw: I thought I'd already checked that in to the setting? |
18:52 |
jnthn |
Maybe I messed that up too though :-) |
18:52 |
* jnthn |
checks! |
18:52 |
mathw |
hmm you did |
18:52 |
mathw |
operators.pm |
18:52 |
mathw |
excellent |
18:52 |
jnthn |
yay |
18:52 |
jnthn |
:-) |
18:52 |
jnthn |
They work too. |
18:52 |
* mathw |
notes... look first |
18:54 |
mathw |
I was just looking for something less scary than splice :) |
18:55 |
jnthn |
I'm a bad person to come to for less scary tasks. |
18:55 |
|
slavik joined #perl6 |
18:55 |
mathw |
:) |
18:55 |
mathw |
at least I learned things |
18:56 |
jnthn |
I suggest open to masak++ and it turned out non-trivial due to lots of other missing stuff :-) |
18:56 |
mathw |
yes |
18:56 |
jnthn |
Happily, he did lots of them though, so it was a win. :-) |
18:56 |
mathw |
one of which was push |
18:56 |
jnthn |
Yeah! |
18:56 |
mathw |
which is why I was looking at it |
18:56 |
mathw |
but push turns out to be significantly more complicated |
18:56 |
jnthn |
Well |
18:56 |
|
zloyrusskiy joined #perl6 |
18:56 |
mathw |
unless we ignore laziness for now... |
18:56 |
jnthn |
Only if you want to do it in terms of a Perl 6 .splice.. |
18:56 |
mathw |
in which case I think the only thing I did badly was not copying |
18:57 |
|
quietfanatic joined #perl6 |
18:57 |
mathw |
Perl 6 .splice is terrifying |
18:57 |
mathw |
mostly because of the bit that says it returns a Parcel of deleted elements |
18:57 |
PerlJam |
mathw: why is that terrifying? |
18:57 |
quietfanatic |
It's more or less the same as Perl 5's |
18:57 |
quietfanatic |
except list instead of parcel |
18:57 |
jnthn |
mathw: My impression was that what you'd got + the copy would work as a first cut. |
18:57 |
mathw |
Because I think it makes it difficult to implement it in terms of Parrot's splice |
18:58 |
mathw |
jnthn: I'll try that |
18:59 |
|
ejs joined #perl6 |
19:00 |
jnthn |
mathw: OTOH, I guess you can work out what elements you'll delete and just take a slice. |
19:00 |
jnthn |
And then use Parrot's splice. |
19:00 |
jnthn |
And then return the @deleted you got. |
19:01 |
mathw |
maybe |
19:01 |
mathw |
I guess that could work |
19:01 |
jnthn |
It's the first thing that comes to mind. :-) |
19:01 |
mathw |
:) |
19:02 |
mathw |
worth a try |
19:03 |
jnthn |
The tricky on splice is that you probably need to worry about evaluating any unevaluated parts of the list that your splice touches. |
19:03 |
jnthn |
I'm not sure how that looks. |
19:03 |
mathw |
yes that is potentially very very messy |
19:03 |
jnthn |
It may be handled for you...I didn't look at how the lazy works yet. |
19:03 |
mathw |
but again, how clever do we want to be right now? |
19:09 |
colomon |
I dunno, it seems to me the problem with a little bit lazy is that once you've got it, it propagates everywhere. |
19:10 |
colomon |
Though I suppose I could write Range.Iterator (for example) to create an entire List unlazily and then just return that List's .Iterator.... hmm. |
19:11 |
TimToady |
makes it kinda hard to iterate 0..* :) |
19:12 |
colomon |
TimToady: sure enough, but right now we can't even iterate 1..2 in ng. :) |
19:12 |
jnthn |
Should Range.Iterator return a RangeIter |
19:12 |
* jnthn |
may be behind on the spec... |
19:12 |
TimToady |
can certain eagerify the short ones; it's even specced that laziness can be batchy |
19:12 |
colomon |
RangeIterator according to the spec, I think? |
19:13 |
TimToady |
*certainly |
19:13 |
colomon |
It does now in ng. |
19:13 |
jnthn |
std: RangeIterator |
19:13 |
p6eval |
std 29177: Undeclared name: 'RangeIterator' used at line 1ok 00:01 105m |
19:13 |
jnthn |
std: RangeIter |
19:13 |
p6eval |
std 29177: Undeclared name: 'RangeIter' used at line 1ok 00:01 103m |
19:13 |
jnthn |
meh |
19:13 |
colomon |
But there's no defined Iterator Role or interface in ng, so poor little RangeIterator doesn't know how to talk to the rest of the ng universe. |
19:14 |
jnthn |
Oh. :-/ |
19:14 |
jnthn |
That's...a problem. |
19:14 |
colomon |
all it can do is RangeIteartor.get. |
19:14 |
pugs_svn |
r29178 | lwall++ | [CORE] add RangeIterator |
19:14 |
colomon |
which unfortunately isn't what whatever wants iterators wants to get. |
19:14 |
jnthn |
Sheesh, that was fast. :-) |
19:15 |
colomon |
ng: my $a = (1..4).Iterator; say $a.get; say $a.get; say $a.get; say $a.get; say $a.get |
19:15 |
p6eval |
ng 6a652f: sh: ./perl6: No such file or directory |
19:15 |
colomon |
well, that was supposed to be a brilliant demonstration. :) |
19:15 |
mathw |
just wait a bit then :) |
19:16 |
colomon |
ng: say 'hai' |
19:16 |
p6eval |
ng d3f9a8: hai |
19:17 |
colomon |
ng: my $a = (1..4).Iterator; say $a.get; say $a.get; say $a.get; say $a.get; say $a.get |
19:17 |
p6eval |
ng d3f9a8: making RangeIterator on 1..4in get1in get2in get3in get4in get |
19:17 |
pmichaud |
back |
19:17 |
colomon |
still some debugging output left in there, I see. :) |
19:19 |
* mathw |
stares at simple splice implementation and wonders if it might work |
19:19 |
jnthn |
Why on earth does Parrot only ever return the top of the function's line number in an error? |
19:19 |
mathw |
one way to find out... |
19:19 |
pmichaud |
jnthn: I don't know -- that started happening recently. |
19:19 |
jnthn |
*sigh* |
19:19 |
jnthn |
parrot-- |
19:19 |
pmichaud |
well, "recently" ~~ "within the past couple of months" |
19:20 |
pmichaud |
jnthn: do we have a ready example in ng of attaching a role to a class? |
19:20 |
pmichaud |
(in PIR, and a builtin class) |
19:20 |
jnthn |
pmichaud: No, because that bit isn't done yet. |
19:21 |
jnthn |
pmichaud: That's the bit I've been spending the last while working out how should be structured. :-) |
19:21 |
jnthn |
Or at least, one bit... |
19:21 |
pmichaud |
hmmmm |
19:22 |
jnthn |
pmichaud: I've spent more time on getting classes straightened out so far... |
19:22 |
jnthn |
Hadn't really got to sorting roles out fully yet. |
19:22 |
pmichaud |
okay. So perhaps I should just cheat on Failure for a while, then? |
19:22 |
jnthn |
Got pieces, but not a completed jigsaw. |
19:22 |
jnthn |
Yeah. |
19:22 |
pmichaud |
I was also hoping to start doing Int does Numeric does Integral and Str does Stringy :) |
19:22 |
jnthn |
I may do a Rakudo Day tomorrow and focus on the roles stuff. |
19:23 |
jnthn |
I've dealt with enough of the conceptual problems I had now. |
19:23 |
jnthn |
So am at the "write code" point. :-) |
19:23 |
mathw |
:) |
19:23 |
pmichaud |
okay. |
19:23 |
pmichaud |
I'll cheat on things a while longer. |
19:23 |
jnthn |
k |
19:23 |
jnthn |
Not quite sure I've got the branes to hack on that bit tonight. |
19:23 |
pmichaud |
np |
19:23 |
jnthn |
So just doing easy bits. |
19:24 |
pmichaud |
there's plenty of those yet. |
19:24 |
jnthn |
oh damm |
19:25 |
jnthn |
I mis-read a stack trace and went off trying to find a bug in the junction threader...that actually is in the code it runs. |
19:25 |
jnthn |
...which also needs push! |
19:25 |
jnthn |
:-) |
19:25 |
jnthn |
Oh well |
19:25 |
jnthn |
We seem to have junction auto-threading back. |
19:25 |
mathw |
jnthn++ |
19:27 |
ng_feed |
rakudo-ng: jnthn++ |
19:27 |
ng_feed |
rakudo-ng: Few fixes that seem to have us doing junction auto-threading properly again. |
19:27 |
ng_feed |
rakudo-ng: jnthn++ |
19:27 |
ng_feed |
rakudo-ng: Routines should have Any as default parameter type. |
19:27 |
jnthn |
Just can't run any of the tests on it yet :-( |
19:27 |
mathw |
aww |
19:27 |
mathw |
null pmc access in get_string |
19:27 |
pmichaud |
http://gist.github.com/241310 # version of Array.push, for comment/review by mathw |
19:27 |
* mathw |
sighs |
19:28 |
mathw |
pmichaud: neater |
19:28 |
mathw |
doing the elements call in PIR saves a lot of mucking about with find_lex |
19:28 |
mathw |
I like that |
19:28 |
pmichaud |
also handles any necessary "assign to array" flattening. |
19:29 |
jnthn |
pmichaud: eval fail, I think... |
19:29 |
jnthn |
pmichaud: Does it pass namespace along / set namespace? |
19:29 |
jnthn |
oh gah |
19:29 |
jnthn |
wait |
19:29 |
pmichaud |
jnthn: where does Actions.pm look for namespace? |
19:29 |
jnthn |
pmichaud: It's a runtime issue, not a compile time one. |
19:29 |
jnthn |
pmichaud: But the test is: |
19:30 |
jnthn |
class A61354_1 { eval q/method x { "OH HAI" }/ } |
19:30 |
jnthn |
is (A61354_1.x), 'OH HAI', 'define method with eval in class'; |
19:30 |
jnthn |
Please. No. |
19:31 |
jnthn |
pmichaud: On eval and namespace though, consider... |
19:32 |
jnthn |
oh, actually |
19:32 |
jnthn |
I think eval is fine. |
19:32 |
pmichaud |
:) |
19:32 |
mathw |
pmichaud: I think that push looks good |
19:32 |
jnthn |
I still vote to forbid being able to add methods like that. |
19:32 |
mathw |
it's definitely better than mine |
19:33 |
pmichaud |
jnthn: I agree -- that looks too monkey patched. |
19:33 |
jnthn |
There's so many better ways to do it. |
19:33 |
pmichaud |
besides, we already have the "augment" verb. |
19:33 |
pmichaud |
er, declarator. |
19:33 |
jnthn |
Not to mention $?CLASS.^add_method('x', method { "OH HAI" }) |
19:34 |
jnthn |
If you *really* must patch it in during running the class body. |
19:34 |
pmichaud |
anyway, I wouldn't worry about that particular test for a while. It's not needed for Rakudo *, at any rate. |
19:34 |
mathw |
yeah |
19:34 |
mathw |
doing it via eval just seems silly |
19:34 |
pmichaud |
and I'm fine with a note that says "Rakudo doesn't like this, perhaps never will :)" |
19:34 |
jnthn |
pmichaud: Heh, I'm more inclined to change is to dies_ok ;-) |
19:35 |
pmichaud |
that's fine with me also :) |
19:35 |
jnthn |
It kinda worked by accident before anyhow... |
19:35 |
jnthn |
Granted, we've not had a good way to do this before the metamodel got straightened out. |
19:37 |
jnthn |
Great. We're one test off passing S12-class/basic.t |
19:37 |
jnthn |
(checking for re-declaration) |
19:37 |
|
tarbo2 joined #perl6 |
19:38 |
mathw |
yay |
19:39 |
pugs_svn |
r29179 | jnthn++ | [t/spec] Change a test - monkey-patching in extra methods at runtime using eval is Not Good, especially when there's so many better ways to do it. |
19:44 |
jnthn |
OK, I need to pop to the store. :-) |
19:44 |
* jnthn |
is getting peckish |
19:48 |
|
KyleHa joined #perl6 |
19:51 |
|
hsb left #perl6 |
19:54 |
ng_feed |
rakudo-ng: pmichaud++ |
19:54 |
ng_feed |
rakudo-ng: Add Array.push and Array.unshift . |
19:56 |
pmichaud |
...although, come to think of it, Array.push could really just be self = (self, @values) |
19:57 |
pmichaud |
except that self needs to flatten |
19:57 |
mathw |
yay pmichaud |
19:57 |
pmichaud |
and Array.unshift is really just self = (@values, self) |
19:57 |
pmichaud |
anyway, this mechanism is slightly more efficient :-) |
19:57 |
mathw |
yes |
19:59 |
|
slavik joined #perl6 |
20:13 |
|
Exodist joined #perl6 |
20:16 |
ng_feed |
rakudo-ng: KyleHa++ |
20:16 |
ng_feed |
rakudo-ng: Two more test files pass |
20:21 |
* jnthn |
back |
20:22 |
jnthn |
pmichaud: (flatten) When it's supported again in ng, I guess those things can be done as method foo(@self: @values) { ... } |
20:23 |
pmichaud |
jnthn: yes, that would work nicely. |
20:23 |
pmichaud |
we still might want to use the PIR form as being more efficient, though. |
20:23 |
jnthn |
Oh, I think we want to not change push, yes. |
20:23 |
jnthn |
Was just noting it in case it's useful elsewhere. :-) |
20:25 |
pmichaud |
it undoubtedly will be, yes. I had not thought of it, so I'm glad you mention it -- that'll be a useful pattern. |
20:38 |
colomon |
can you do the reverse of that? for pop, my (self, $popped) = self or something like that? (shift seems more reasonable, I guess) |
20:41 |
jnthn |
You'd at least need to make @self is rw in the sig... |
20:42 |
jnthn |
oh, wait |
20:42 |
jnthn |
That probably doesn't work, as @self could swallow up all of the elements... |
20:42 |
jnthn |
ng: my (@x, $y) = 1,2,3; say $y; |
20:42 |
p6eval |
ng 8c6663: Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 8513 (src/builtins/assign.pir:12) |
20:42 |
jnthn |
...huh? |
20:45 |
jnthn |
rakudo: my (@x, $y) = 1,2,3; say $y; |
20:45 |
p6eval |
rakudo 7347ec:  |
20:45 |
jnthn |
ng: my @x; my $y; (@x, $y) = 1,2,3; say $y; |
20:45 |
p6eval |
ng 8c6663: sh: ./perl6: No such file or directory |
20:46 |
jnthn |
oh wait, maybe just missing list assignment. |
20:49 |
|
bluescreen joined #perl6 |
20:52 |
|
FCO joined #perl6 |
20:53 |
|
run4flat joined #perl6 |
20:55 |
|
payload joined #perl6 |
20:58 |
|
pmurias joined #perl6 |
21:00 |
colomon |
sorry for disappearing on that one, yes, I expect swallowing up all the elements could be an issue. But could shift work that way? ($shifted, @self) = @self ? |
21:00 |
colomon |
(assuming list assignment, of course!) |
21:00 |
|
cognominal joined #perl6 |
21:03 |
moritz_ |
re |
21:10 |
|
cognominal joined #perl6 |
21:12 |
pmurias |
rakudo: my $a,@b;@b=1,2,3,4;($a,@b) = @b;say @b |
21:12 |
p6eval |
rakudo 7347ec: Symbol '@b' not predeclared in <anonymous> (/tmp/DK4secnPEW:2)in Main (file <unknown>, line <unknown>) |
21:12 |
pmurias |
rakudo: my $a,my @b;@b=1,2,3,4;($a,@b) = @b;say @b; |
21:12 |
p6eval |
rakudo 7347ec: 234 |
21:12 |
pmurias |
rakudo: my $a,my @b;@b=1,2,3,4;($a,@b) = @b;say $a; |
21:12 |
p6eval |
rakudo 7347ec: 1 |
21:12 |
pmurias |
cognominal: seems to work |
21:13 |
pmurias |
cognominal: i'm not sure it would be the most efficient way of doing it |
21:16 |
cognominal |
pmurias, I am very happy for you even if I have no clue of what you are ralking about :) |
21:19 |
jnthn |
Think pmurias meant colomon :-) |
21:26 |
colomon |
:) |
21:27 |
run4flat |
Hello, I have a question that's not specifically related to Perl6 per-se, but my idea might make it into Perl6 some day... maybe... |
21:28 |
run4flat |
Does anybody know where I can find some Regexp-engine hackers? |
21:29 |
run4flat |
I have an idea that really works best in PDL, but nobody else who hangs out there is interested in numerical regular expressions |
21:31 |
moritz_ |
run4flat: pmichaud is one, others have implemented some regex engines here too |
21:31 |
run4flat |
moritz_: thanks |
21:31 |
colomon |
numerical regular expressions? |
21:31 |
diakopter |
run4flat: feel free to voice your idea here |
21:32 |
run4flat |
diakopter: yeah |
21:32 |
run4flat |
The name says most of it. Numerical regular expressions would be a specification for a state machine that would analyze an array of floating point numbers instead of an array of UTF-8 characters |
21:33 |
moritz_ |
sounds interesting |
21:33 |
run4flat |
moritz_: That's what I think |
21:33 |
run4flat |
:) |
21:33 |
diakopter |
for pattern matching? |
21:33 |
run4flat |
but whenever I suggest this idea, people say, "What would you use it for?" |
21:33 |
run4flat |
diakopter: yeah |
21:33 |
run4flat |
signal processing protoyping |
21:34 |
run4flat |
for example |
21:34 |
moritz_ |
run4flat: is there some theoretical foundation for it? |
21:34 |
run4flat |
no |
21:34 |
run4flat |
moritz_: I mean, not anything more than string regexp's |
21:34 |
run4flat |
it was just an idea that occurred to me last summer |
21:35 |
run4flat |
moritz_: I'm not sure what theoretical foundation you could get for numerical regexp's that goes beyond character regexp's |
21:36 |
cognominal |
well, as you express it, you have a solution in quest of a problem. May be if you tell why you came with we could understand... |
21:36 |
moritz_ |
run4flat: i'm mostly intersted in what kind of features you could find in a stream of numeric data |
21:36 |
run4flat |
let me give a simple example of how I would use this |
21:36 |
moritz_ |
run4flat: like, can you find a maximum/minimum? what about a maximum in the derivation of the function? |
21:36 |
diakopter |
run4flat: what would the primitives be? you would need logical expressions and comparison expressions |
21:37 |
run4flat |
right, I don't want to get into details of the spec |
21:37 |
run4flat |
because it's pretty complicated |
21:37 |
run4flat |
but. basically, you would have numerical 'classes' like character classes |
21:37 |
moritz_ |
have you written it down somewhere? |
21:37 |
run4flat |
Yeah, but I've not published it |
21:37 |
run4flat |
it's still pretty rough |
21:38 |
run4flat |
example: -5 <=x < 10 would become [-5, 10) |
21:38 |
run4flat |
so then, $my_data =~ n/ [5%, 10%) M / |
21:39 |
run4flat |
would match a local maximum that is preceded by a data pont that is between 5% and 10% of the data's width |
21:40 |
run4flat |
For my uses, I would take a bunch of data sets with on measurement |
21:40 |
run4flat |
separated by a really obvious signal between data sets |
21:40 |
run4flat |
and then use a regexp to separate them |
21:40 |
diakopter |
run4flat: http://search.cpan.org/~tbone/Array-PatternMatcher-0.04/PatternMatcher.pm |
21:40 |
run4flat |
diakopter: thanks! |
21:40 |
run4flat |
that's the first useful feedback I've gotten on this! |
21:41 |
diakopter |
I don't know whether it can handle moving averages & regression-type lookbacks |
21:41 |
diakopter |
time series stuff... but certainly static expressions. |
21:41 |
ng_feed |
rakudo-ng: moritz++ |
21:41 |
ng_feed |
rakudo-ng: enable basic regex tests |
21:41 |
pmichaud |
iiuc, perl 6's regular expression pattern matching is supposed to be able to more than just character strings |
21:41 |
pmichaud |
and, of course, one can likely do a lot with nested signatures |
21:42 |
run4flat |
diakopter: Thanks, I'll look into this |
21:43 |
run4flat |
pmichaud: yeah, I have not looked into Perl 6's regular expressions too closely yet... know of any good primer for a non-traditional use? |
21:43 |
pmichaud |
run4flat: there's not much written yet. Just a small section at the bottom of Synopsis 5 |
21:44 |
run4flat |
pmichaud: I think I read through that once a while back |
21:44 |
run4flat |
I'll take another look |
21:48 |
run4flat |
Well, thanks for your feedback. I'll take another look at Synopsis 5 and I'll look over Array::PatternMatcher |
21:48 |
run4flat |
If you get any other ideas, you can usually find me on the #pdl channel at irc.perl.org |
21:55 |
* diakopter |
squints sideways at check_doteq |
22:02 |
|
ashizawa joined #perl6 |
22:10 |
|
IllvilJa joined #perl6 |
22:11 |
colomon |
Is anyone working on split in ng yet? |
22:11 |
jnthn |
nqp: my $*X = 42; say("lol answer is $*X") |
22:11 |
p6eval |
nqp: Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " 42; say(\""current instr.: 'parrot;HLL;Grammar;panic' pc 519 (src/cheats/hll-grammar.pir:197) |
22:11 |
moritz_ |
not that I know of |
22:11 |
jnthn |
nqp: my $*X := 42; say("lol answer is $*X") |
22:11 |
p6eval |
nqp: lol answer is 42 |
22:11 |
jnthn |
colomon: I ain't. |
22:12 |
moritz_ |
ng: say 'abcab'.match(/a/, :c(1) |
22:12 |
p6eval |
ng 7912ba: Confused at line 1, near "say 'abcab"current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) |
22:12 |
moritz_ |
ng: say 'abcab'.match(/a./, :c(1)) |
22:12 |
p6eval |
ng 7912ba: ab |
22:12 |
moritz_ |
ng: say 'abcaX'.match(/a./, :c(1)) |
22:12 |
p6eval |
ng 7912ba: aX |
22:13 |
moritz_ |
colomon: :c($pos) will be very handy for Str.split(Regex) |
22:13 |
colomon |
moritz_: ? |
22:13 |
moritz_ |
colomon: it allows you to start a regex match not at the beginning of the string, but somwhere later on |
22:14 |
colomon |
ah, yes, that sounds useful. :) |
22:14 |
moritz_ |
so you don't have to deconstruct the source string |
22:14 |
moritz_ |
(which also confuses $match.from and .to if the :all flag is passed to split) |
22:15 |
jnthn |
Whee. If the rest of the tests pass, looks like I've got us S12-class/basic.t back. :-) |
22:16 |
Tene |
jnthn: any recommendations on where you'd like me to work, if I start working on ng? |
22:16 |
|
tylerni7 joined #perl6 |
22:17 |
colomon |
oh bother. we've actually got p6 implementations of split, but they require gather/take. |
22:17 |
Tene |
Ooo, gather/take. I wrote the original version of that. |
22:17 |
moritz_ |
Tene: if you could bring that back to ng that would be great |
22:17 |
Tene |
Needs to work with generators or whatever in ng, though, right? |
22:17 |
pmichaud |
I don't mind if gather/take is eager still. |
22:17 |
colomon |
right |
22:18 |
pmichaud |
we can lazify it later |
22:18 |
moritz_ |
colomon: gather/take can easily be emulated with an array and push |
22:18 |
colomon |
afk dinner |
22:18 |
Tene |
Oh, if eager is okay, then it's easy. Yeah, I'll do that tonight. |
22:18 |
jnthn |
Yay |
22:18 |
moritz_ |
I just wrote it with gather/take in the expectation that at some point it would magically become lazy if I only used gather/take |
22:18 |
|
tylerni8 joined #perl6 |
22:18 |
moritz_ |
silly me |
22:18 |
pmichaud |
moritz_: and it would have/will do that :) |
22:19 |
moritz_ |
anyway, since we didn't have :c back then it's a less-than-awesome way to do it now |
22:19 |
ng_feed |
rakudo-ng: jnthn++ |
22:19 |
ng_feed |
rakudo-ng: S12-class/basic.t passes again. |
22:19 |
ng_feed |
rakudo-ng: jnthn++ |
22:19 |
ng_feed |
rakudo-ng: Start to get name handling filled out a bit more STDishly, meaning we can now have a chance of detecting redeclarations. |
22:26 |
jnthn |
rakudo: eval('class C { method x { say 42 } }'); eval('C.x'); |
22:27 |
p6eval |
rakudo 7347ec: ( no output ) |
22:28 |
jnthn |
rakudo: eval('die "oh noes"'); |
22:28 |
jnthn |
ng: eval('die "oh noes"'); |
22:28 |
p6eval |
rakudo 7347ec: ( no output ) |
22:28 |
p6eval |
ng 7912ba: oh noescurrent instr.: '&die' pc 8620 (src/builtins/control.pir:18) |
22:28 |
jnthn |
eval doesn't catch exceptions? :-) |
22:30 |
|
snearch_ joined #perl6 |
22:31 |
|
jferrero joined #perl6 |
22:34 |
|
vamped joined #perl6 |
22:43 |
jnthn |
eww! |
22:43 |
jnthn |
ng: { my $a = 0; sub test() { $a++; } } |
22:43 |
p6eval |
ng 7912ba: ( no output ) |
22:43 |
jnthn |
ng: class Foo { }; { my $a = 0; sub test() { $a++; } } |
22:43 |
p6eval |
ng 7912ba: Symbol '$a' not predeclared in &testcurrent instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (src/PCT/HLLCompiler.pir:101) |
22:54 |
|
zamolxes joined #perl6 |
23:15 |
|
mberends joined #perl6 |
23:15 |
diakopter |
mberends: hi |
23:16 |
mberends |
hihi, hotel wifi a bit flaky this week |
23:19 |
ng_feed |
rakudo-ng: jnthn++ |
23:19 |
ng_feed |
rakudo-ng: Start to eliminate is ref in favor of the \ quantifier. Stub in parsing and various bits for the | quantifier too. |
23:22 |
|
kidd joined #perl6 |
23:27 |
ng_feed |
rakudo-ng: jnthn++ |
23:27 |
ng_feed |
rakudo-ng: Remove ref from signature introspection, in favor of parcel. Also add .capture, so we can introspect for |$foo. |
23:27 |
ng_feed |
rakudo-ng: jnthn++ |
23:27 |
ng_feed |
rakudo-ng: Rename ref to parcel in the binder. |
23:41 |
ng_feed |
rakudo-ng: jnthn++ |
23:41 |
ng_feed |
rakudo-ng: ..., ??? and !!!. |
23:42 |
Tene |
okay, just need to set up this classroom for an exam, and then I can go home. |
23:42 |
|
explorer__ joined #perl6 |
23:44 |
Tene |
I'll try to remember to do gather/take tonight... I'm feeling kinda sleepy... |
23:50 |
KyleHa |
ng: sub foo($x) { say 'x' } |
23:50 |
p6eval |
ng 92410f: ( no output ) |
23:51 |
KyleHa |
ng: sub foo'($x) { say $x }; say 'alive' |
23:51 |
p6eval |
ng 92410f: Confused at line 1, near "sub foo'($"current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) |
23:52 |
jnthn |
std: sub foo'($x) { say $x }; say 'alive' |
23:52 |
p6eval |
std 29179: [31m===[0mSORRY![31m===[0mMalformed block at /tmp/Q6FFGIjoZs line 1:------> [32msub foo[33m⏏[31m'($x) { say $x }; say 'alive'[0m expecting any of: block new name to be defined routine_def terminator trait whitespaceFAILED 00:01 105m |
23:57 |
jnthn |
pmichaud: Any thoughts on this one: |
23:57 |
jnthn |
my @x; for @x { say "once" } |
23:57 |
jnthn |
erm |
23:57 |
jnthn |
ng: my @x; for @x { say "once" } |
23:57 |
p6eval |
ng 92410f: once |
23:59 |
KyleHa |
S02-names/identifier.t passes now, but some 'eval_dies_ok' tests (like "sub foo'4($x)") are 'ok' with an error I'm not sure is ok. It complains that $x is an undeclared identifier. |
23:59 |
ng_feed |
rakudo-ng: jnthn++ |
23:59 |
ng_feed |
rakudo-ng: Various tweaks to .params and .arity to try and be a bit more correct with list handling. Seems another bug blocks things though. |
23:59 |
KyleHa |
Oh, I have an idea... |
23:59 |
|
s1n joined #perl6 |
23:59 |
jnthn |
pmichaud: If that can be worked out, we may have a decent chance of passing arity.t. |