»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by diakopter on 25 January 2010.
00:06 jferrero left 00:08 drbean left 00:17 PlotDevice left 00:19 andy1 joined, snarkyboojum joined 00:24 jferrero joined 00:28 snarkyboojum left 00:32 patspam joined 00:35 justatheory joined
lue hellooooo? 00:36
00:38 justatheory left 00:47 snarkyboojum joined 00:50 snarkyboojum left, xabbu42 joined 00:53 yinyin joined 00:57 snarkyboojum joined
lue heloooooooooooo? 00:57
bkeeler hi
lue hello 00:59
I'm going to fall asleep on the lid of this laptop. 01:03
I've been sitting here since about 8:30, and now its 17:00 !
bkeeler Need a break here too 01:09
Time to take the doggy for a walk and go to the store etc
01:13 snarkyboojum left 01:19 devinus left 01:48 wknight8111 left 01:52 devinus joined 01:56 devinus left 02:09 justatheory joined 02:12 bob818 left
bkeeler Any NQP experts around? 02:18
02:19 Brennus joined
Brennus can anyone tell me how to check out a previous version? 02:20
bkeeler I think it's something like git checkout -t origin/<branch> 02:22
I'm not much a git expert yet though
02:24 justatheory left, Chillance left 02:37 snarkyboojum joined
Brennus I was told to check out January's for a fuller implementation but I don't know the name or how to list them 02:39
bkeeler You can always download the release tarball from github.com/rakudo/rakudo/downloads if you can't make git cooperate 02:41
Brennus duh forgot about that - thanks 02:42
02:42 Brennus left 02:46 JimmyZ joined 02:56 xabbu42 left
pugs_svn r29793 | lwall++ | [S02] revise Whatever semantics to autocurry any unary or binary that doesn't 02:56
r29793 | explicitly care to handle Whatever itself. *+* is now Code:($x,$y)
02:58 crythias joined 03:03 lichtkind_ joined 03:05 lichtkind left, lichtkind_ is now known as lichtkind, meppl left 03:20 devinus joined 03:23 devinus left 03:26 devinus joined, devinus left, nbrown left, nbrown joined 03:32 lichtkind left 03:35 ggoebel left 03:40 ruoso left
snarkyboojum rakudo: say 'A'..'£' 04:03
p6eval rakudo ec47f3: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
snarkyboojum rakudo: say ('A'..'£').iterator.GrabAndSay(50) 04:22
p6eval rakudo ec47f3: OUTPUT«A␤B␤C␤D␤E␤F␤G␤H␤I␤J␤K␤L␤M␤N␤O␤P␤Q␤R␤S␤T␤U␤V␤W␤X␤Y␤Z␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
snarkyboojum how weird.. I just d/led and built the latest rakudo in master and I get a different result for that 04:24
TimToady do you have icu? 04:29
snarkyboojum I think so (?)
TimToady I get the newlines here
snarkyboojum I get A..Z.. ZZ though (if that makes sense) 04:30
have blown away my git repo and retrying
TimToady rakudo: my @x = ('A'..'£').iterator.batch(50); say @x.elems 04:31
p6eval rakudo ec47f3: OUTPUT«26␤»
TimToady it does, if £ is not being UTF-8, but taken as Latin-1
snarkyboojum yeah, grab and say just prints out excess newlines
oic
TimToady why I asked about icu
but could just be locale
snarkyboojum is generally pretty clueless about that stuff 04:32
TimToady you get ZZ because that's the Perl 5 not-longer-than semantics
snarkyboojum not-longer-than semantics? :)
TimToady but p6 is supposed to carp about it
'A'..'99' will give you the same result in Perl 5 04:33
as soon as it goes to AAA it knows it's done
but in a language with infinite lists, it doesn't seem all that useful 04:34
snarkyboojum I (kinda) see
interesting :)
TimToady in p5 it's mostly only useful to prevent running out of memory, in other words
lue geez... string ranges in p6 are interesting :) 04:35
04:35 alester joined
TimToady hmm 04:36
rakudo: say 'ZZ' ... 'AA'
p6eval rakudo ec47f3:
..OUTPUT«ZZZYZXZWZVZUZTZSZRZQZPZOZNZMZLZKZJZIZHZGZFZEZDZCZBZAYZYYYXYWYVYUYTYSYRYQYPYOYNYMYLYKYJYIYHYGYFYEYDYCYBYAXZXYXXXWXVXUXTXSXRXQXPXOXNXMXLXKXJXIXHXGXFXEXDXCXBXAWZWYWXWWWVWUWTWSWRWQWPWOWNWMWLWKWJWIWHWGWFWEWDWCWBWAVZVYVXVWVVVUVTVSVRVQVPVOVNVMVLVKVJVIVHVGVFVEVDVCVBVAUZUYUXUWUVUUUTUSURUQUP…
lue interesting! 04:39
TimToady rakudo: say 'A' ... {chr(.ord+1)}, '£'
p6eval rakudo ec47f3: OUTPUT«Decrement out of range␤current instr.: 'perl6;Perl6Exception;throw' pc 14244 (src/builtins/Seq.pir:52)␤»
TimToady rakudo: say 'A' ... {chr(.ord+1)}, 'Z' 04:40
p6eval rakudo ec47f3: OUTPUT«Decrement out of range␤current instr.: 'perl6;Perl6Exception;throw' pc 14244 (src/builtins/Seq.pir:52)␤»
TimToady rakudo: say 'A','B' ... {chr(.ord+1)}, 'Z'
p6eval rakudo ec47f3: OUTPUT«2␤»
lue ō.– 04:41
TimToady rakudo: say 'A','B' ... {chr($^a.ord+1)}, 'Z'
p6eval rakudo ec47f3: OUTPUT«2␤»
TimToady alpha: say 'A','B' ... {chr($^a.ord+1)}, 'Z'
p6eval alpha 30e0ed: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
TimToady alpha: say 'A','B' ... {chr($^a.ord+1)}, '£'
lue (finally came up with the raise eyebrow smiley!)
p6eval alpha 30e0ed: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^H ¡¢£␤»
TimToady alpha: say 'A','B' ... {chr(.ord+1)}, '£'
p6eval alpha 30e0ed: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^H ¡¢£␤»
TimToady alpha: say 'A','B' ... *.ord.succ.chr, '£' 04:42
p6eval alpha 30e0ed: OUTPUT«Method 'succ' not found for invocant of class 'Block'␤in Main (file src/gen_setting.pm, line 324)␤»
TimToady alpha: say 'A','B' ... {.ord.succ.chr}, '£'
p6eval alpha 30e0ed: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^H ¡¢£␤»
TimToady there you go
old-style syntax though 04:43
lue :O
TimToady the * form oughta work too, eventually
lue alpha: say 'A','B' ... {.ord.succ.chr}, '‹' 04:44
JimmyZ Is gather lazy now?
p6eval alpha 30e0ed: ( no output )
lue alpha: say 'A','B' ... {.ord.succ.chr}, '§'
p6eval alpha 30e0ed: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^H ¡¢£¤¥¦§␤»
snarkyboojum rakudo: say 'AA'.chars <=> '£'.chars
p6eval rakudo ec47f3: OUTPUT«1␤»
JimmyZ rakudo: my $a = 1..*; 04:45
p6eval rakudo ec47f3: ( no output )
snarkyboojum so the reason I'm getting 0 when I run this in the rakudo REPL on my machine is because of an encoding difference?
oh 04:46
$ ./perl6 -e "say 'AA'.chars <=> '£'.chars"
1
but inside the REPL -> 0 04:47
TimToady rakudo: say (gather map { take $_ }, 1...*).batch(10)
p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &map␤current instr.: '_block43' pc 310 (EVAL_1:125)␤»
TimToady no map?!? 04:48
lue echo no map?!?
snarkyboojum so the REPL isn't reading this as UTF-8?
in my example above?
TimToady seems like
maybe readline is busted
snarkyboojum fun fun 04:49
TimToady rakudo: say (gather (1..*).map: { take $_ }).batch(10) 04:51
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady rakudo: say (gather (..*).map: { take $_ }).batch(10)
p6eval rakudo ec47f3: OUTPUT«Confused at line 11, near "say (gathe"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady rakudo: say (gather ('a'..*).map: { take $_ }).batch(10)
p6eval rakudo ec47f3: OUTPUT«␤»
JimmyZ rakudo: (1..10).WHAT.say;
p6eval rakudo ec47f3: OUTPUT«Type objects do not have state, but you tried to access attribute $!excludes_min␤current instr.: 'perl6;Attribute;accessor_helper_ro' pc 3312 (src/gen/Attribute.pir:400)␤»
JimmyZ rakudo: (1...10).WHAT.say; 04:52
p6eval rakudo ec47f3: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;GatherIterator;get' pc 345011 (src/gen/core.pir:47250)␤»
TimToady JimmyZ: looks like maybe not yet
JimmyZ rakudo: say (1...10).WHAT;
p6eval rakudo ec47f3: OUTPUT«GatherIterator()␤»
TimToady rakudo: say (gather ('a'..*).map: { take $_; last if state $stopper++ == 50 }).batch(10)
p6eval rakudo ec47f3: OUTPUT«Symbol '$stopper' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
TimToady not declared?!? 04:53
what do you suppose 'state' is doing?!?
lue should $stopper be defined for you?
TimToady rakudo: say (gather ('a'..*).map: { take $_; last if (state $)++ == 50 }).batch(10)
p6eval rakudo ec47f3: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
TimToady rakudo: say (gather ('a'..*).map: { take $_; last if (state $s)++ == 50 }).batch(10)
p6eval rakudo ec47f3: OUTPUT«Symbol '$s' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
TimToady rakudo: my $s = 0; say (gather ('a'..*).map: { take $_; last if $s++ == 50 }).batch(10) 04:54
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady rakudo: my $s = 0; say (gather ('a'..'z').map: { take $_; last if $s++ == 50 }).batch(10)
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady rakudo: my $s = 0; say (gather ('a'...'z').map: { take $_; last if $s++ == 50 }).batch(10) 04:55
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady rakudo: my $s = 0; say (gather ('a'...'z').map: { take $_; last if $s++ == 50 })
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady rakudo: say gather { ('a'...'z').map: { take $_ } } 04:56
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady rakudo: say ~gather { ('a'...'z').map: { take $_ } }
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady rakudo: say (gather { ('a'...'z').map: { take $_ } }).WHAT
p6eval rakudo ec47f3: OUTPUT«GatherIterator()␤»
TimToady rakudo: say (gather { ('a'...'z').map: { take $^a } }).WHAT
p6eval rakudo ec47f3: OUTPUT«GatherIterator()␤»
TimToady rakudo: say (gather { ('a'...'z').map: { take $^a } })
p6eval rakudo ec47f3: OUTPUT«␤» 04:57
TimToady rakudo: say (gather { ('a'...'z').map: { say $^a } })
p6eval rakudo ec47f3: OUTPUT«␤»
TimToady ah, stupid sink context
rakudo: say (gather { eager ('a'...'z').map: { say $^a } })
04:57 patspam left
p6eval rakudo ec47f3: 04:57
..OUTPUT«a␤b␤c␤d␤e␤f␤g␤h␤i␤j␤k␤l␤m␤n␤o␤p␤q␤r␤s␤t␤u␤v␤w␤x␤y␤z␤aa␤ab␤ac␤ad␤ae␤af␤ag␤ah␤ai␤aj␤ak␤al␤am␤an␤ao␤ap␤aq␤ar␤as␤at␤au␤av␤aw␤ax␤ay␤az␤ba␤bb␤bc␤bd␤be␤bf␤bg␤bh␤bi␤bj␤bk␤bl␤bm␤bn␤bo␤bp␤bq␤br␤bs␤bt␤bu␤bv␤bw␤bx␤by␤bz␤ca␤cb␤cc␤cd␤ce␤cf␤cg␤ch␤ci␤cj␤ck􏿽xE2􏿽x90
TimToady er...
lue it gives the appearance of a foreign language! \o/ 04:58
TimToady rakudo: say (gather { eager ('a'..'z').map: { say $^a } })
p6eval rakudo ec47f3: OUTPUT«a␤b␤c␤d␤e␤f␤g␤h␤i␤j␤k␤l␤m␤n␤o␤p␤q␤r␤s␤t␤u␤v␤w␤x␤y␤z␤␤»
TimToady ah, the ...'z' bug
04:59 crythias left
TimToady rakudo: say (gather { eager ('a'..'z').map: { take $^a } }) 04:59
p6eval rakudo ec47f3: OUTPUT«abcdefghijklmnopqrstuvwxyz␤»
JimmyZ rakudo:gather for 1..10 take $_;
snarkyboojum rakudo: say 'a'...'z'
TimToady rakudo: say (gather { eager ('a'..'zzzzzz').map: { take $^a } }).batch(10)
p6eval rakudo ec47f3:
..OUTPUT«abcdefghijklmnopqrstuvwxyzaaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayazbabbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczdadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzeaebecedeeefegeheiejekelemeneoepeqereseteuevewex…
rakudo ec47f3: OUTPUT«abcdefghij␤»
JimmyZ rakudo: gather for 1..10 take $_; 05:00
p6eval rakudo ec47f3: OUTPUT«Missing block at line 11, near "take $_;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady JimmyZ: looks like gather/take is lazy
std: gather for 1..10 take $_;
p6eval std 29793: OUTPUT«===SORRY!===␤Missing block at /tmp/MZZd33OwbU line 1:␤------> gather for 1..10 ⏏take $_;␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤FAILED 00:01 108m␤»
JimmyZ std: gather for 1..10 { take $_ }; 05:01
p6eval std 29793: OUTPUT«ok 00:01 106m␤»
JimmyZ rakudo: gather for 1..10 { take $_ };
p6eval rakudo ec47f3: ( no output )
TimToady rakudo: say (gather { eager ('a'...*).map: { take $^a } }).batch(10)
p6eval rakudo ec47f3: OUTPUT«abcdefghij␤»
JimmyZ rakudo: our multi infix:<xx>(Mu \$item, $n) { gather for 1..$n { take $item; } } 05:02
p6eval rakudo ec47f3: ( no output )
JimmyZ TimToady: Is it a lazy version? 05:03
TimToady looks like it
JimmyZ thanks 05:04
TimToady rakudo: say ('a' xx *).batch(10)
p6eval rakudo ec47f3: ( no output )
TimToady or not...
rakudo: say ('a' xx 999999).batch(10) 05:05
p6eval rakudo ec47f3: ( no output )
TimToady looks like not
JimmyZ rakudo: our multi infix:<xx>(Mu \$item, $n) { gather for 1..$n { take $item; } } ;say ('a' xx 999999).batch(10)
p6eval rakudo ec47f3: OUTPUT«Ambiguous dispatch to multi 'infix:<xx>'. Ambiguous candidates had signatures:␤:(Mu $item, Any $n)␤:(Mu $item, Any $n)␤␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
JimmyZ rakudo: our multi infix:<xx>('a', $n) { gather for 1..$n { take $item; } } ;say ('a' xx 999999).batch(10) 05:07
p6eval rakudo ec47f3: OUTPUT«Symbol '$item' not predeclared in infix:<xx>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
05:08 jferrero left
TimToady rakudo: our multi infix:<xxx>($item, $n) { gather for 1..$n { take $item; } } ;say ('a' xxx 999999).batch(10) 05:10
p6eval rakudo ec47f3: OUTPUT«Confused at line 11, near "say ('a' x"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady rakudo: our multi infix:<yyy>($item, $n) { gather for 1..$n { take $item; } } ;say ('a' yyy 999999).batch(10)
p6eval rakudo ec47f3: OUTPUT«Confused at line 11, near "say ('a' y"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:13 am0c left
TimToady rakudo: our multi yyy($item, $n) { gather for 1..$n { take $item; } } ;say (yyy('a',999999)).batch(10) 05:14
p6eval rakudo ec47f3: ( no output )
TimToady rakudo: our multi yyy($item, $n) { gather eager do for 1..$n { take $item; } } ;say (yyy('a',999999)).batch(10) 05:15
p6eval rakudo ec47f3: ( no output )
TimToady rakudo: our multi yyy($item, $n) { gather eager do for 1..$n { take $item; } } ;say (yyy('a',20)).batch(10)
p6eval rakudo ec47f3: OUTPUT«aaaaaaaaaa␤»
JimmyZ rakudo: sub infix:<+->($item, $n) { gather for 1..$n { take $item; } }; say (7 +- 999999).batch(10);
p6eval rakudo ec47f3: OUTPUT«Method 'batch' not found for invocant of class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady rakudo: our multi yyy($item, $n) { gather eager do for 1..$n { take $item; say 'x'; } } ;say (yyy('a',20)).batch(10) 05:16
p6eval rakudo ec47f3: OUTPUT«x␤x␤x␤x␤x␤x␤x␤x␤x␤aaaaaaaaaa␤»
TimToady rakudo: our multi yyy($item, $n) { gather eager do for 1..$n { take $item; say 'x'; } } ;say (yyy('a',200)).batch(10)
JimmyZ rakudo: our multi yyy($item, $n) { gather for 1..$n { take $item; } } ;say (yyy('a',20)).batch(10)
p6eval rakudo ec47f3: OUTPUT«x␤x␤x␤x␤x␤x␤x␤x␤x␤aaaaaaaaaa␤»
rakudo ec47f3: OUTPUT«aaaaaaaaaa␤»
TimToady looks lazy to me
JimmyZ rakudo: our multi yyy($item, $n) { gather for 1..$n { take $item; } } ;say (yyy('a',*)).batch(10) 05:17
p6eval rakudo ec47f3: ( no output )
TimToady though it's possible RangeIterator isn't
JimmyZ rakudo: our multi yyy($item, $n) { gather for 1..$n { take $item; } } ;say (yyy('a',10000000000)).batch(10)
p6eval rakudo ec47f3: ( no output )
TimToady so it gives up trying to construct the .. before looping, maybe 05:18
rakudo: our multi yyy($item, $n) { gather eager do for 1..$n { take $item; say 'x'; } } ;say (yyy('a',*)).batch(10)
JimmyZ rakudo: our multi yyy($item, $n) { gather for 1...$n { take $item; } } ;say (yyy('a',10000000000)).batch(10)
p6eval rakudo ec47f3: ( no output ) 05:19
05:29 alester left
lue hello? 05:37
PerlJam greetings
lue Oi!
05:38 alester joined 05:55 am0c joined 05:57 lue left
pugs_svn r29794 | lwall++ | [S02] a bit more rationale for previous change 06:03
dalek kudo/master: e904536 | duff++ | src/Perl6/ (2 files):
Simple statement modifier for loop
06:04
kudo/master: ed656df | duff++ | src/core/Any-list.pm:
Add non-method form of map
06:21 kst left, kst` joined 06:38 gfx joined
diakopter zugh 06:48
07:21 iblechbot joined 07:29 cotto joined
dalek kudo/master: 68bb56b | duff++ | src/Perl6/ (2 files):
simplify statement_mod_loop logic a little
07:30
07:35 alester left 07:40 eternaleye left 08:03 eternaleye joined 08:04 k23z__ left 08:10 gfx left 08:16 am0c left 08:21 iblechbot left 08:26 synth left 08:29 Su-Shee joined
Su-Shee good morning 08:33
bkeeler hallo
09:16 synth joined 09:18 nadim left 09:47 drbean joined 09:59 yinyin left 10:15 payload joined 10:26 orafu left, orafu joined, snarkyboojum left, snarkyboojum joined 10:27 meppl joined 10:28 snarkyboojum left, snarkyboojum joined 10:34 snarkyboojum left 10:42 mikehh left 10:44 JimmyZ left 11:04 vorner left 11:25 akl joined 11:42 PZt left 12:05 ilogger2 joined 12:22 pmurias joined
bkeeler alpha: my @a = gather { take 1, 2; }; say @a 12:22
p6eval alpha 30e0ed: OUTPUT«too many positional arguments: 2 passed, 1 expected␤in Main (file <unknown>, line <unknown>)␤»
eternaleye my @a = gather { take 1; take 2; }; say @a 12:28
grr
pastefail
alpha: my @a = gather { take 1; take 2; }; say @a
p6eval alpha 30e0ed: OUTPUT«12␤» 12:29
bkeeler Yah, take is supposed to be a listop though
eternaleye Seems take in alpha doesn't obey the 'accepts a parcel' bit of the spec
bkeeler Fixing it now ;)
eternaleye \o/
bkeeler++
frettled bkeeler: I see that #perl6 has recovered from our game :) 12:30
bkeeler So it has
eternaleye Hm, alpha is the old master... Is it still intended to be maintained?
Or is it kept for comparison and cherry-picking? 12:31
ng: my @a = gather { take 1, 2; }; say @a
gah, old reflexes are old
rakudo: my @a = gather { take 1, 2; }; say @a 12:32
p6eval rakudo 68bb56: OUTPUT«too many positional arguments: 2 passed, 1 expected␤current instr.: '&take' pc 16846 (src/builtins/Junction.pir:485)␤»
eternaleye Ah, you're fixing it in master and just consulting alpha to see if it got it right
bkeeler indeed
eternaleye Missing that is probably a sign that I ought to sleep. This conclusion is supported by it being 4:30 AM 12:33
12:33 ggoebel joined 12:34 Chillance joined 13:08 pmurias left 13:19 crythias joined, xabbu42 joined 13:30 Patterner joined 13:34 avar joined, jonasbn joined 13:38 payload joined 13:47 mikehh joined 13:54 huf joined 13:57 wknight8111 joined 14:00 crythias left 14:03 iblechbot joined
eternaleye Hm. After reading the S26 discussion on -lang, I decided to do a read-through of that synopsis, and I find myself very happy with it... except for where, under Modules, it uses the syntax '=use Perldoc::Plugin::XHTML-1.2.1-(*)' to set :ver<1.2.1> and :auth(*). It just doesn't feel quite right. Perhaps speccing it as '=use Perldoc::Plugin::XHTML:ver<1.2.1>:auth(*)'? I suggest this because it specifically staes that C<require> is 14:11
...spec as P6 propr
*proper
14:16 jonasbn left 14:33 jonasbn joined 14:56 nadim joined 15:00 am0c joined 15:07 nihiliad joined
TimToady eternaleye: that's how it used to be in Perl too; feel free to update it to the new syntax 15:12
colomon morning! 15:16
colomon needs to get his head back into the game this morning, after a benefit concert that ran late last night... 15:23
15:46 jonasbn left 15:50 Psyche^ joined 15:54 Patterner left, Psyche^ is now known as Patterner
pmichaud good morning, #perl 6 15:55
15:56 pmurias joined 15:58 iblechbot left
colomon o/ 16:07
lazy day here.
16:08 Trashlord joined
PerlJam does :pasttype('call') really work with no :name() set? 16:11
pmichaud I think it treats the first child as a callable 16:15
colomon: the latest changes made to RangeIter don't match the spec 16:16
the latest spec doesn't do any checking of string lengths
PerlJam That's what the docs say, but I must be doing something wrong as I get "too few positional arguments: 0 passed, 1 (or more) expected"
It's like the other children aren't being passed as args.
(in this case, child) 16:17
pmichaud hmmmm
in that case, it obviously *is* calling something :-) 16:19
PerlJam I'm trying to add the statement modifier form of given. Here's the patch that I'm working with: gist.github.com/13afc5a984d7399803ef 16:20
oh, I think I see 16:22
PerlJam is slow this morning
oh, no I don't see
pmichaud std: proto token foo { }
p6eval std 29794: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/ZhexAtix5z line 1:␤------> proto token foo { ⏏}␤FAILED 00:01 107m␤»
PerlJam whoever is was that was complaining about compiling core.pm taking forever wasn't kidding. 16:33
pmichaud yes, I need to do some profiling there to see what we can do to speed things up. 16:39
colomon pmichaud: test suite and talking to TimToady make it very clear that the string length stuff is what is intended for Range. 16:41
'Y'..'AB' is supposed to be Y, Z, AA, AB, not a null list. 16:42
It's also how infix:<...> is supposed to behave. And other Range stuff needs to be fixed based on that as well.
pmichaud colomon: do you have that conversation? The one I saw yesterday indicated otherwise. 16:43
colomon where?
pmichaud irclog.perlgeek.de/perl6/2010-02-20#i_2012654 16:44
colomon irclog.perlgeek.de/perl6/2010-02-20#i_2012532 (for instance) indicates that .succ and Ranges do not use lexicographic order
dalek p-rx: 09ded51 | pmichaud++ | src/NQP/Grammar.pm:
Throw a useful error message if a protoregex is given a body other than <...>.
16:46
colomon As I read it in your link, TimToady is talking about a slightly different related issue.
pmichaud my point is that the spec now says we terminate the range upon reaching the endpoint
and nothing in the spec indicates anything about length-of-string comparison
colomon afk # lunch, back in ten
eternaleye TimToady: Cool, I'll make a patch 16:48
colomon or I'll just grab my laptop to the table while I cook ravs for the boy. 16:54
You have to be able to compare the start and end of a series, for sure.
And since succ does not use lexicographic order, you have to factor in string length. 16:55
pmichaud it doesn't have anything to do with .succ -- the question is what after is supposed to do 16:56
let me put it this way
at one time the spec contained a fair bit of detail about how ranges worked with strings based on string length
that's no longer there
which implies to me that string length is no longer intended to be part of the calculation
PerlJam I thought that was just more water-bed ... push the complexity into the comparison operator we're using 16:59
pmichaud PerlJam: I'm fine if that's the case -- the RangeIterCmp patch doesn't do that. It keeps the complexity in the range iterator (which is why I think it's not correct)
colomon I think TimToady just hasn't thought it all through yet. :)
pmichaud: I think I actually proposed a new comparison operator sometime in the last two days. I certainly thought about it. 17:00
pmichaud colomon: so, whenever TimToady hasn't thought something through, my preference is to implement what the spec says :-)
as opposed to what we think "might work" :)
colomon but the spec doesn't say anything sensible on the question at all! 17:01
eternaleye Someone w/ a commitbit: S26-update-module-syntax.patch is at ix.io/Ly
colomon you're looking at series operator, not Range.
pmichaud ??? 17:02
colomon Likewise, since Z comes after A: 17:03
'Z' ... 'A'
uses the function:
'Z', *.pred ... -> $old,$new { $old ne 'A' and $new !before 'A'; }
That's ... not ..
pmichaud I think that's orthogonal to what I'm saying. 17:05
17:07 uniejo joined
pmichaud If a range is to take into account the length of a string in computing the endpoints, I want to see that in the spec. 17:08
It was in the spec before, it's not there now. 17:09
I presume it was removed because length-of-string is no longer the defining criteria.
that being the case, I don't want rakudo code depending on it yet. In other words, the existence of multi RangeIterCmp() looks out-of-place with the spec.
17:09 iblechbot joined 17:10 justatheory joined
pmichaud Yes, this probably means we need further clarification from the language design. 17:10
(s/the defining criteria/a defining criteria above)
however, reading TimToady++'s comments further, I think he does indeed give the correct semantics (and they don't rely on length). 17:12
colomon I'm all in favor of further clarification.
pmichaud oh, perhaps not.
hmmm.
colomon rakudo: say 'A' before '£' 17:13
p6eval rakudo 68bb56: OUTPUT«1␤»
pmichaud (yes, we need further clarification of 'Y'..'AB')
by my reading of the current spec, that's a null range
because 'Y' comes after 'AB'
colomon irclog.perlgeek.de/perl6/2010-02-20#i_2012585 17:14
17:14 dual joined
colomon for instance -- TimToady says 'A'..'£' should be infinite. 17:14
pmichaud ...and it is
because all of the elements of the range are !after '£' 17:15
colomon but that's only taking the funky .succ into account.
pmichaud I don't see the problem.
(I don't see how the #perl6 log you just pasted contradicts the interpretation of 'Y'..'AB' as "null list") 17:16
colomon actually, thinking about that just makes the spec look more broken to me.
I'm starting to think the real problem here is that .succ does the wrong thing... 17:18
PerlJam colomon: explain.
17:18 fyskij joined
PerlJam (.succ is the one thing I think is exactly right :) 17:19
colomon It's completely ASCII-and English-centric.
But then, the idea that Range listifies still looks kind of broken, too. 17:20
TimToady yes, the spec is broken
colomon I was just going to say "Find TimToady and get a ruling". ;) 17:21
TimToady a series like 'Y'..'AB' should only terminate on eqv, and has nothing to do with after/before
or length
colomon TimToady: but you can't know what to do with 'Y'...'AB' without know about after/before. 17:22
that's how you determine whether to use succ or pred
need to call some folks about a dog, will be watching only for a few minutes...
TimToady we might make that determination on length, maybe
PerlJam un ... are we talking about ranges or series?
TimToady but I'll need to think about it s'more 17:23
PerlJam series don't grok strings I thought. only numbers.
TimToady rakudo: say 'Z'...'A'
p6eval rakudo 68bb56: OUTPUT«ZYXWVUTSRQPONMLKJIHGFEDCBA␤»
PerlJam looks at the spec again 17:24
eternaleye TimToady: Mind applying the patch to S26 I pasted above?
TimToady but strings have to be handled specially if they're of different lengths, fershure
lisppaste3 uniejo pasted "Upto Str funtionality (^"x") " at paste.lisp.org/display/95363 17:25
TimToady eternaleye: don't you have a commit bit?
eternaleye Not for pugs
pmichaud so then the question becomes... does Range handle strings of different lengths, or does some operator do it?
TimToady if you /msg me your email I can add you
eternaleye Unless I did and forgot
TimToady looking
not under your current nick, if so 17:26
eternaleye And it's this nick @ gmail
TimToady you want same nick for svn id?
eternaleye Sounds good to me
TimToady sent 17:27
thanks
17:27 lue joined 17:29 m-locks joined
TimToady the basic abstraction problem has to do with whether .succ guarantees monotonicity or not 17:30
lue ah, you're still on that :)
TimToady the problem isn't the lack of monotonicity, but the not knowing :) 17:31
PerlJam TimToady: say that it must and be done with it :)
pmichaud I think we have two forms of monotonicity at play 17:32
for 'Y' and 'AB', there's one that says "AB should come before Y". That's lexicographic ordering.
Then there's one that says "AB should come after Y" -- that's the magic increment ordering
in the case of strings, .succ is using magic increment ordering, but cmp uses lexicographic ordering 17:33
eternaleye WTF? The S26 on perlcabal is the one from openfoundry, which is far out of date. No need for my patch, but perhaps perlcabal needs to be re-aimed? 17:35
pmichaud it's interesting to compare this with numerics -- e.g., 8 and 12 instead of "Y" and "AB" 17:36
colomon there are also weird side issues, like the idea that 'aaaa' .. 'z' is a Range which matches almost every word, but is empty. 17:37
eternaleye Hm, no, it's aimed correctly, it just must not be synced
colomon afk # off to grocery 17:38
lue rakudo: say 'hello'~~('aaaa' .. 'z');
pmichaud ...perhaps we just disallow ranges on string?
p6eval rakudo 68bb56: OUTPUT«1␤»
lue ō.-
pmichaud if you want a string sequence, use ... ?
lue colomon was right (is he ever not?) 17:39
pmichaud I mean, "use the series operator"
or, perhaps we say something like this...
if you're wanting to produce a sequence of elements, you should use the series operator
if you're wanting to keep track of a range of endpoints, use the range operator 17:40
lue rakudo: say 'hello'~~('aaaa'...'z');
p6eval rakudo 68bb56: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'GatherIterator'␤current instr.: 'infix:<~~>' pc 212013 (src/gen/perl6-actions.pir:15486)␤»
pmichaud for select data types such as integers where .succ ordering matches cmp ordering, a Range can be used to produce a list of elements in the range 17:41
but attempting to iterate a Range with string endpoints produces an exception
(in that case, you should've used a series)
eternaleye TimToady: I was confused by the fact that S26's HTML page is 97 revisions out of date 17:42
lue string ranges ought to fall under the {} custom ranges area...
colomon pmichaud: we still need to define how series works with strings, too, then.... :) 17:43
pmichaud colomon: yes, there is that. :)
I'm just brainstorming ideas at the moment
17:43 am0c left
PerlJam eternaleye: It looks up-to-date to me. 17:43
lue colomon: I thought you went to grocery. Is it delievered to you? :) 17:44
pmichaud from an implementation perspective, I'm tempted to have rakudo throw a "not yet specced" error whenever constructing a Range from Str endpoints.
lue a NYS in addition to NYI? That's amazing!
pmichaud my concern is that right now people are trying various string range combinations in Rakudo when none of them can really be considered correct.
17:45 crazed joined
eternaleye Pugs SVN says 'pugs - Revision 29794', while the S26 HTML page says 'syn r29697' at the top. Also, the end sections before the SUMMARY are different between the current pod and the HTML 17:45
pmichaud eternaleye: what url are you looking at? 17:46
eternaleye Both feather.perl6.nl/syn and perlcabal.org/syn
PerlJam eternaleye: rev 29794 was the last time something in the pugs repo was updated. rev 29697 was the last time S26 was updated.
eternaleye And the tail end of the document being different?
lue pmichaud: Can you really know it's 42 if you don't know the question to LUE ? 17:47
PerlJam different where?
lue solution: spec string ranges! (to the ApocolypseMobile!)
pmichaud top of perlcabal.org/syn/S26.html says that it was generated on Feb 12 17:48
so I'm guessing it's just not updating properly
PerlJam: what are you looking at that appears "up-to-date"?
PerlJam oh, I guess I missing the gen date on the HTML page 17:49
pmichaud PerlJam: url?
eternaleye =use -> DOC USE, the addition of DOC INIT, and most clearly demonstrating is the complete absence of the string Pod6::Literate from the HTML
Also the Modules section seems to have been rewritten in totality 17:50
pmichaud yes, there was a significant set of commits to S26 in the past week.
PerlJam I was looking at perlcabal.org/syn/S26.html and comparing to my local repo for up-to-dateness, but apparently I'm not up-to-date either (though I'm 90% sure I updated my repo this morning) 17:51
eternaleye It seems the last update coincides with Damien's last revision being (finally) put into SVN
I noticed that looking at the dates on the S26 thread on -lang 17:52
PerlJam must be some weirdness with git-svn. Perhaps I didn't update my entire repo, but rather a subsection?
anyway ... lunch 17:53
PerlJam &
pmichaud lunch here also
lue wishes to know the purpose of & (he does not know all of your secret symbols) 17:54
Su-Shee like setting a process into background.
17:55 IllvilJa joined
m-locks what's wrong with parrot/perl6 on windows? i try to run it on xp and it says the application failed to init properly (0xc0150002). click on ok to terminate the application 17:57
this happens with both
parrot.exe and perl6.exe
does it log any of the error messages or anything anywhere? 17:58
eternaleye lue: On Unix machines, putting '&' at the end of a shell command tells the command to run in the background and let the user continue interacting with the shell. Here, it's a reference to 'detaching from the terminal', just on the opposite side of the screen 18:00
lue ah. Thank you. (never had to use it, why I didn't know) 18:01
That would help a lot, though :D
18:01 uniejo left
eternaleye Unix is rarely something you _have_ to use, but once you start it's the only one you want to use ;D 18:02
So much more POWER, muahahahahaha
m-locks can't use the os x version of parrot as it does not seem to compile, something to do with the configure script and gcc-4.2
18:02 uniejo joined
lue I have gcc 4.4.3 (sorry I can't help much, not familiar with windows/mac anymore) 18:03
eternaleye lue: Oh, you meant backgrounding, not unix
m-locks well the precompiled version apparently does not work on win
and it does not output any debug info what's wrong 18:04
although this version is a stripped one, xp performance ed
might have something to do with that
eternaleye m-locks: The only person I can think of off the top of my head who regularly uses Rakudo and Parrot on windows is jnthn, but I'm not sure if he's awake right now 18:05
18:05 tjc joined
m-locks ok 18:06
i googled up this long log from this channel that was about the same configure issue that i'm currently experiencing with snow leopard 18:08
it's the current macports version of parrot
lue (theoretically) the source should compile on any *nix machine... which includes OSX 18:10
eternaleye What's the version in macports? The most recent Parrot release is 2.1.1 18:11
m-locks 1.0.0 18:12
lue Oi. Run perl Configure.pl --gen-parrot in the rakudo source code
m-locks hmm gonna try it
lue this, in case it was too buried in my sentence: perl Configure.pl --gen-parrot 18:13
uniejo Can anyone commit the ^"str" funtionality, that I nopasted half an hour ago. The spec only mentions upto for integers. 18:14
eternaleye uniejo: Well, upto makes sense for integers, since you have a well-defined starting point: 0. What's the starting point for strings? 'a'? If so, what if someone does ^ 18:17
ergh
^','
lue strings are not nice for p6 it seems. Just allow the whole of Unicode and be done with it :) 18:18
Of course, it all needs to be specced...
eternaleye Also, it isn't in the spec, so it's not likely to go into rakudo without some _heavy_ review, and being added to the spec if it's a valid proposition
uniejo The starting point is where .pred returns failure
eternaleye lue: Counting by codepoints or unicode-defined ranges ;P 18:19
?
uniejo: It seems doubtful that will do something useful
It sounds like more of a taxonomical curiosity than something with a purpose 18:20
lue seriously, just allowing the whole of unicode in string ranges (and so on) would be easier than trying to figure out _what_ to allow!
or a simple NYS (Not Yet Specced) error. 18:21
m-locks aye i agree, laissez-faire is the way
eternaleye lue: Yes, but do we do the ranges based on what unicode defines to be valid ranges, or do we just count codepoints? They're mutually exclusive.
And if we do the former, not all of unicode is allowed
Since some things fall in none of the enumerated ranges
lue conclusion: force all the questioned parts to return NYS until specced
m-locks eval: my Int $perl6 = 6; say "$perl6" 18:22
i herd u got evaluation feature here
uniejo eternaleye: Could be. I figure that if there is an upto function, it could just as well work for strings. 18:23
m-locks but does not seem to work that way
lue m-locks: try rakudo: or alpha: or pugs: or std: (I recommend rakudo: or alpha:) 18:26
18:26 jferrero joined
eternaleye m-locks: we do, see the topic 18:26
rakudo: say 'Just try me!'; 18:27
p6eval rakudo 68bb56: OUTPUT«Just try me!␤»
m-locks oh it got buried there, didn't have enough chars on the screen
alpha: my Int $perl6 = 6; say "$perl6"; 18:28
p6eval alpha 30e0ed: OUTPUT«6␤»
m-locks whoa, lotsa stuff there
eternaleye Alpha is what was the master branch until recently, rakudo is the current master which has laziness and other neat stuff but doesn't have quite as much implemented yet. Std is the official validator, it tells you if your perl6 is kosher 18:30
lue I rather enjoy The Book of Camelia myself, but it always gives me cryptic output :) 18:31
m-locks ok cheers 18:32
lue eternaleye: this whole thing about strings out to all be NYS'd (where appropriate) and then discussed in a (relatively) formal matter. 18:33
it's a great oversight in the spec, imo. and we must figure it out now!
(for you here "last night" (~11 hrs. ago), ifMUD is written in perl :D ) 18:36
m-locks heh, nice 18:43
bythe way, does that --gen-parrot retrieve the rakudo source files from svn too?
or is there such an option
lue no. rakudo uses git. If you've download the rakudo source from git, then a simple git pull command will do. 18:47
m-locks damn
lue If you downloaded a tarball of some sort, then I'm afraid all I know how to do is pull git source.
m-locks ok seems to have compiled 19:02
All tests successful, 301 subtests skipped.
lue \o/ 19:04
19:04 tjc left
colomon is back from the grocery, sitting out in the car with a sleeping boy... 19:10
lue o/
<whisper>Hello colomon!</whisper> 19:11
colomon m-locks: --gen-parrot does indeed retrieve Parrot using svn. 19:15
m-locks yes, but i was wondering if it did retrieve rakudo also, you all-in-one building 19:16
+know
colomon --gen-parrot is an option you can only use when you have already retrieved rakudo, so far as I know... 19:18
lue he means the latest version of
19:18 tjc joined
colomon is very confused by this line of thought... 19:19
m-locks aye, but i installed git already
lue You'll be wantin' te use: git clone git://github.com/rakudo/rakudo.git 19:21
Be warned! This will get you the `bleeding-edge' version of rakudo. 19:22
m-locks ok 19:28
but somethings up
tried to run some helloworld.pl and all i get is
"load_bytecode" couldn't find file 'P6Regex.pbc'
current instr.: '' pc -1 ((unknown file):-1)
seems like parrot is not on
the tests went ok 19:30
19:31 fyskij left
lue ō.– hmmm 19:32
m-locks maybe its got something to do with the install directory of parrot 19:35
19:35 wknight81 joined
m-locks i mean, i didn't set it specifically 19:35
19:35 wknight81 left
lue did the configure script compile parrot? 19:35
m-locks yes
lue hmmm. (I'm somewhat new here as well, can't help much :( ) 19:36
colomon: I choose you!
m-locks hmm it seems to have been fixed, i moved the parrot_install directory back under the rakudo dir 19:37
now i get huge lines of error core
colomon unfortunately I've never successfully built rakudo on Windows.
m-locks: oh, yeah, if you're using --gen-parrot parrot / parrot_install needs to be in the rakudo directory. 19:38
m-locks aye
colomon pmichaud, TimToady: irclog.perlgeek.de/perl6/2010-02-21#i_2017315 sounds right to me. 19:39
pmichaud, TimToady: Seems to me the success of series makes Range returning a "list" look unnecessary and kludgy. 19:40
lue The whole thing with strings is iffy. It should return a NYS error for now. 19:42
(from what I understand) it's not specced yet. It's more-or-less implied. 19:54
colomon lue: strings are definitely spec'd as working. it's just the details which are crucially lacking. 19:55
about to lose wi-fi.
lue yes, details aren't specced. The idea's there, but the thought wasn't finished :D 19:56
20:00 Trashlord left 20:08 justatheory left 20:12 colomon joined
lue o/ Hi again, colomon 20:13
colomon hello
now in Wendy's parking lot with wife and sleeping boy
this house showing stuff is a PITA 20:14
lue ...real estate? Oi. 20:15
20:18 justatheory joined 20:19 payload left
colomon lue: yeah, basically we get a call at 1pm tell us we need to be out of the house from 3-6 so they can show it twice. And of course, my parents are arriving to visit at 4pm. 20:24
So I took the boy to the grocery store while my wife cleaned up (easy since it was shown each of the last two days as well), then stayed with him in the driveway while he slept, then we motored down here to get Frosty's and wi-fi, and when he wakes, we'll take him to the nearby toddler play area until my parents arrive in town. 20:26
lue *face of someone as they say oooh!* oooh!
20:27 crythias joined 20:28 snarkyboojum joined 20:30 tjc left 20:31 snarkyboojum left
colomon alpha: sub gcd ($a, $b) { ($a, $b ... { $^x % $^y || () })[*-1] }; say gcd(42,44); 20:37
p6eval alpha 30e0ed: OUTPUT«2␤»
colomon alpha: sub gcd ($a, $b) { ($a, $b ... { $^x % $^y || () })[*-1] }; say gcd(42,24);
p6eval alpha 30e0ed: OUTPUT«6␤»
20:38 xabbu42 left, justatheory left
lue what be the purpose of what you did? 20:43
20:45 uniejo left
colomon It's a weird (and obsolete) definition of GCD coded using the series operator. My head's all scattery, so I'm trying to accomplish something useful by going over S03-operators/series.t and fixing all the now-obsolete bits. 20:45
That one struck me as kind of crazy, so I wanted to test it and see if it actually worked in alpha. And it does! 20:46
I think the way to recode it to spec is { ($a, $b, { $^x & $^y } ... 0)[*-2] }, but don't quote me on that, and it's not testable as that syntax is NYI in master. 20:47
oooo, type, not $^x & $^y, $^x % $^y 20:48
*typo # not my day for typing, apparently. 20:51
20:58 colomon left, snarkyboojum joined 21:00 crazed left 21:06 crazed joined 21:07 crazed left, crazed joined, pmurias left, pmurias joined
lue hello 21:09
m-locks have you tried this? www.mactech.com/articles/mactech/Vo...index.html 21:11
21:11 lichtkind joined
lichtkind jnthn: ahoj o/ 21:17
21:34 Entonian joined 21:35 payload joined 22:30 Entonian left 22:31 cognominal joined 22:36 norg joined 22:39 snarkyboojum left, snarkyboojum joined 22:40 tigar joined 22:41 tigar left, Entonian joined 22:44 Entonian left
lichtkind jnthn: ping 23:00
23:01 test joined 23:02 test left, Entonian joined 23:03 REPLeffect joined 23:10 REPLeffect left, REPLeffect joined 23:13 ggoebel left, Entonian left
lichtkind moritz_: ping? 23:14
23:14 ggoebel joined 23:16 REPLeffect left 23:21 REPLeffect joined, iblechbot left 23:22 quietfanatic joined 23:25 REPLeffect left 23:29 Entonian joined 23:31 colomon joined 23:34 snarkyboojum left 23:40 REPLeffect joined 23:45 REPLeffect left 23:47 snarkyboojum joined 23:50 REPLeffect joined, Entonian left 23:55 snarkyboojum left 23:59 REPLeffect left, REPLeffect joined