Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-11-21

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 xilo_ joined #perl6
00:12 [Coke] sorear: no, I'm in NYS.
00:13 sorear new york state?
00:13 [Coke] aye.
00:15 * sorear waves from the far corner
00:50 [Coke] "nobody puts sorear in the corner!"
00:52 jerome joined #perl6
00:54 fgomez joined #perl6
00:59 anuby joined #perl6
01:08 hypolin joined #perl6
01:20 raiph joined #perl6
01:22 araujo joined #perl6
01:22 araujo joined #perl6
01:35 colomon joined #perl6
01:36 colomon o/
01:37 araujo joined #perl6
01:37 araujo joined #perl6
01:48 LordVorp joined #perl6
01:56 sorear colomon: o/
02:06 gootle joined #perl6
02:09 colomon sorear!
02:10 * colomon was called away to convince a four-year-old to stay in his bed long enough to fall asleep.
02:17 tokuhiro_ joined #perl6
02:19 chee joined #perl6
02:51 [Coke] Is there any way to get RT to NOT wrap code?
02:51 [Coke] (inline)
02:52 [Coke] rakudo: my @a=<a a a>;my @b=<b b b>;for (@a »,« @b) »,« @a -> $a, $b, $c { say "$a $b $c" }
02:52 p6eval rakudo bf472b: OUTPUT«Lists on both side of non-dwimmy hyperop of infix:<,> are not of the same length␤left: 6 elements, right: 3 elements␤  in sub hyper at src/gen/CORE.setting:12486␤  in block  at src/gen/CORE.setting:12465␤  in block  at /tmp/GBnT_CV1IK:1␤␤»
02:53 jerome joined #perl6
02:56 [Coke] r: say slurp.comb(/e/).elems
02:56 p6eval rakudo bf472b: OUTPUT«88␤»
02:57 [Coke] rakudo: print 1|2|3;
02:57 p6eval rakudo bf472b: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:7644␤  in sub print at src/gen/CORE.setting:7454␤  in block  at /tmp/D6moFCSwqN:1␤␤»
02:58 [Coke] p6: say (-8) div 3
02:58 p6eval niecza v22-33-gda13155: OUTPUT«-3␤»
02:58 p6eval ..rakudo bf472b: OUTPUT«-2␤»
03:00 fgomez joined #perl6
03:01 [Coke] r: class Foo is Int {}; sub somefoo returns Foo { Foo.bless: 13 }; say somefoo.WHAT;
03:01 p6eval rakudo bf472b: OUTPUT«Type check failed for return value; expected 'Foo' but got 'Int'␤  in block  at /tmp/0HmviE5viM:1␤␤»
03:02 [Coke] perl6: my @odd = 1,3,5 ... 8; say @odd[^4]
03:02 p6eval rakudo bf472b, niecza v22-33-gda13155: OUTPUT«(timeout)»
03:02 grondilu r: class Foo is Int {}; sub somefoo returns Foo { self.bless: *, 13 }; say somefoo.WHAT;
03:02 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤'self' used where no object is available␤at /tmp/18498C32Ur:1␤»
03:03 [Coke] perl6: my @odd = 1,3,5 ... *; say @odd[^4]
03:03 p6eval rakudo bf472b: OUTPUT«1 3 5 7␤»
03:03 p6eval ..niecza v22-33-gda13155: OUTPUT«(timeout)»
03:03 grondilu r: class Foo is Int {}; sub somefoo returns Foo { Foo.bless: *, 13 }; say somefoo.WHAT;
03:03 p6eval rakudo bf472b: OUTPUT«Foo()␤»
03:03 [Coke] nieczabug there.
03:03 popl joined #perl6
03:03 [Coke] (and both-bug the first time.)
03:04 [Coke] grondilu: see RT #112850
03:04 [Coke] r: for my $/ ();
03:04 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Redeclaration of symbol $/␤at /tmp/xEoQYkfkHM:1␤»
03:05 grondilu_ joined #perl6
03:06 [Coke] my @a := 1..*; @a := @a[1, 3 ... *].list
03:06 grondilu_ left #perl6
03:06 xinming joined #perl6
03:06 [Coke] r: print 'a'.WHAT;
03:06 p6eval rakudo bf472b: OUTPUT«use of uninitialized variable $v of type Str in string context  in block  at /tmp/ifaRM5PyGQ:1␤␤»
03:07 grondilu_ joined #perl6
03:09 grondilu joined #perl6
03:11 [Coke] r: 1.++()
03:11 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&postfix:<.>' called (line 1)␤»
03:12 [Coke] rakudo: say "\xFFFE"
03:12 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
03:12 [Coke] seen lue?
03:12 aloha lue was last seen in #perl6 1 days 4 hours ago saying "good knight, masak o/".
03:12 lue hello?
03:12 [Coke] phenny: ask lue to please followup on https://rt.perl.org/rt3/Ticket/Display.html?id=73784
03:12 phenny [Coke]: I'll pass that on when lue is around.
03:12 [Coke] ^^
03:13 * lue recalls not this bug, and investigates
03:13 phenny lue: 03:12Z <[Coke]> ask lue to please followup on https://rt.perl.org/rt3/Ticket/Display.html?id=73784
03:14 [Coke] r: sub f($x) { return if $x == 1; state %h = a => 1; say %h.perl }; f 1; f 2;
03:14 p6eval rakudo bf472b: OUTPUT«().hash␤»
03:14 [Coke] r: say (-10..10).min: { abs $^a <=> abs $^b }
03:14 p6eval rakudo bf472b: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method <anon> at src/gen/CORE.setting:1794␤  in block  at /tmp/Tt9S3OEnSH:1␤␤»
03:15 [Coke] moritz, masak, or jnthn : need feedback on https://rt.perl.org/rt3/Ticket/Display.html?id=76648
03:17 lue according to fileformat.info, FDD0 and FFFE aren't valid unicode characters (so I don't know what I was trying), but FFFD is, which didn't error out in my bug filing.
03:18 [Coke] rakudo: say "\xFFFD"
03:18 p6eval rakudo bf472b: OUTPUT«�␤»
03:18 [Coke] so, closable with tests?
03:18 lue r: say "\x[FD,D0],\x[FF,FD],\x[FF,FE]" # I wonder if I meant this
03:18 p6eval rakudo bf472b: OUTPUT«ýÐ,ÿý,ÿþ␤»
03:19 [Coke] r: say "\x[FE,12,10]"
03:19 p6eval rakudo bf472b: OUTPUT«þ␤»
03:19 benabik joined #perl6
03:19 lue Lemme check irclog for some context, but otherwise I'm sure it was more likely a bug in my brain.
03:21 lue Ah. I was first trying .u FDD0 (again for no discernible reason), then skipped to the suspect code.
03:22 lue r: say "\x[FDD0,FFFE]" # checking one more time
03:22 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
03:23 [Coke] r: say so Nan === NaN
03:23 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix === instead␤at /tmp/1TwjxqGvhF:1␤»
03:23 [Coke] r: say Nan === NaN
03:23 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix === instead␤at /tmp/LZ_pNCNQX6:1␤»
03:23 [Coke] r: say NaN === NaN
03:23 p6eval rakudo bf472b: OUTPUT«False␤»
03:24 [Coke] r: my \\a = any set <1 2 3>; \n say 1 ~~ a'
03:24 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Malformed my␤at /tmp/6z8KpoDs4s:1␤»
03:24 [Coke] r: my \a = any set <1 2 3>; \n say 1 ~~ a
03:24 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&n' called (line 1)␤»
03:25 [Coke] r: my \a = any set <1 2 3>; ␤ say 1 ~~ a
03:25 p6eval rakudo bf472b: OUTPUT«True␤»
03:27 lue I think I'll close the bug as INVALID, considering it's definitely my fault. (it was just me being stupid only a month after first joining #perl6)
03:29 [Coke] Wanother bug down, by hook or by crook. Danke.
03:30 lue Gerne.
03:30 [Coke] r: X[X]
03:30 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Method 'parameterize' not found for invocant of class 'Perl6::Metamodel::PackageHOW'␤»
03:36 sorear lue! \o/
03:36 lue sorear! o/
03:37 * sorear thought that Gerne was a mistyping of Schön, but apparently not
03:39 lue I'm curious as to whether or not #73944 is still relevant considering the rewrites rakudo has since gone through.
03:40 [Coke] oh, hey, it's sorear, who is, I think, no longer stuck on rakudo builds.
03:41 [Coke] r: say 288+364+5-87 #tickets
03:41 p6eval rakudo bf472b: OUTPUT«570␤»
03:43 [Coke] rakudo: grammar G { regex foo { } }; say "alive"
03:43 p6eval rakudo bf472b: OUTPUT«alive␤»
03:43 [Coke] std: grammar G { regex foo { } }; say "alive"
03:44 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0m�Null pattern not allowed at /tmp/WFRPKdpArH line 1:�------> [32mgrammar G { regex foo { [33m�[31m} }; say "alive"[0m�Parse failed�FAILED 00:00 42m�»
03:45 [Coke] . o O (zzz)
03:45 jaldhar joined #perl6
03:49 orafu joined #perl6
03:51 jerome joined #perl6
03:56 sorear [Coke]: iirc, that's one of the old blizkost bugs
03:56 sorear [Coke]: I'm pretty sure it's not relevant in the 6model age, feel free to close it
03:59 am0c joined #perl6
04:32 REPLeffect joined #perl6
04:34 grondilu Does it make sense to write  sub { state $cache++ }  ?
04:35 grondilu r: sub f { state $cache++ }; say f xx 3;
04:35 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix + instead␤at /tmp/QCcAzh45UH:1␤»
04:35 grondilu oh, I thought it was ok syntaxicaly.  Nevermind.
04:35 geekosaur std: sub f { state $cache++}; say f xx 3;
04:36 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'xx' used at line 1�Check failed�FAILED 00:00 44m�»
04:36 geekosaur std: sub f { state $cache++}; say f X 3;
04:36 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'X' used at line 1â�¤Check failedâ�¤FAILED 00:00 44mâ�¤Â»
04:36 geekosaur std: sub f { state $cache++}; say f, f, f
04:36 p6eval std d38bbd0: OUTPUT«ok 00:00 45m␤»
04:36 geekosaur does seem syntactically ok per std at leasr
04:36 geekosaur n: sub f { state $cache++}; say f xx 3;
04:36 p6eval niecza v22-33-gda13155: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'xx' used at line 1â�¤â�¤Potential difficulties:â�¤  $cache is declared but not used at /tmp/oD8u12SNzA line 1:â�¤------> [32msub f { state [33mâ��[31m$cache++}; say f xx 3;[0mâ�¤â�¤Unhandled exception: Check fail…
04:37 geekosaur your xx seems unhappy :p
04:37 geekosaur n: sub f { state $cache++}; say f(), f(), f()
04:37 p6eval niecza v22-33-gda13155: OUTPUT«Potential difficulties:â�¤  $cache is declared but not used at /tmp/2oJmCiLI5t line 1:â�¤------> [32msub f { state [33mâ��[31m$cache++}; say f(), f(), f()[0mâ�¤â�¤012â�¤Â»
04:37 geekosaur rakudobug?
04:37 geekosaur or maybe this is one we;ve already seen
04:37 geekosaur r: sub f { state $cache++; }; say f(), f(), f()
04:37 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix + instead␤at /tmp/TKoLd43UGz:1␤»
04:37 geekosaur not that one at least
04:38 geekosaur note that niecza thinks it makes sense
04:38 lue std: say 3 xx 3;
04:38 geekosaur as does std
04:38 p6eval std d38bbd0: OUTPUT«ok 00:00 42m␤»
04:38 geekosaur right, may have been the f without parens
04:38 geekosaur r: sub f { state $cache++; }; say f() xx 3
04:38 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix + instead␤at /tmp/905xXjKDH4:1␤»
04:38 geekosaur n: sub f { state $cache++; }; say f() xx 3
04:38 grondilu there is a 'state' feature pragma in perl5 and it accepts this syntax
04:38 p6eval niecza v22-33-gda13155: OUTPUT«Potential difficulties:â�¤  $cache is declared but not used at /tmp/hxhd2sUmA_ line 1:â�¤------> [32msub f { state [33mâ��[31m$cache++; }; say f() xx 3[0mâ�¤â�¤0 1 2â�¤Â»
04:38 geekosaur didn;t switch
04:39 lue r: sub f { state $cache = 0; $cache++; }; say f() xx 3;
04:39 p6eval rakudo bf472b: OUTPUT«0 1 2␤»
04:39 geekosaur grondilu, did you follow at all what I did?
04:39 grondilu kind of.  Did I miss something?
04:39 lue r: sub f { state $cache = 0; $cache++; }; say f xx 3;
04:39 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&xx' called (line 1)␤»
04:40 geekosaur it looks like it;s supposed to work but rakudo has a parsing bug
04:40 grondilu ok
04:40 geekosaur niecza and std both accept it and niecza even seems to do the expected thing with it
04:40 lue std: sub f { state $cache = 0; $cache++; }; say f xx 3;
04:40 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'xx' used at line 1�Check failed�FAILED 00:00 44m�»
04:41 grondilu eval: use feature "state"; sub f { state $n++ }; say f for 0 .. 2;
04:41 buubot_backup grondilu: ERROR: syntax error at (eval 20) line 1, near "say f "
04:41 grondilu eval: use feature qw(state say); sub f { state $n++ }; say f for 0 .. 2;
04:41 buubot_backup grondilu: 0 1 2
04:42 lue Well, std also says f xx 3 doesn't work, so I'm not sure that's a bug (but it is strange and doesn't feel dwimmy to me).
04:43 grondilu it should work, shoudn't it?
04:43 geekosaur I thought p6 required the ()\
04:43 sorear f xx 3 is unlikely to work
04:43 geekosaur otherwise you get the 2 terms thing
04:43 sorear because after "f" the parser is expecting an infix operator
04:43 grondilu isn't xx an infix operator??
04:43 sorear geekosaur: if you predeclare functions you can use them without parens
04:44 sorear I mean after "f" the parser is expecting a term
04:44 sorear n: sub f { rand }; say f xx 3
04:44 p6eval niecza v22-33-gda13155: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'xx' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at /home/…
04:44 sorear so xx 3 in term context parses as a sub call
04:44 grondilu r: sub f { rand } ; say f + 4
04:44 p6eval rakudo bf472b: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub f at /tmp/36x7VZYd7M:1␤  in block  at /tmp/36x7VZYd7M:1␤␤»
04:44 lue oh, I see it now.
04:44 sorear that parses as f(+4)
04:44 sorear which is f(4)
04:45 sorear n: sub term:<f> { rand }; say f xx 3    # explicitly mark f as not taking a parameter list at all
04:45 p6eval niecza v22-33-gda13155: OUTPUT«0.49389698146558225 0.34871486031856147 0.36149489058251255␤»
04:45 grondilu I'm surprised.  I really thought I had already used a f + something syntax
04:45 sorear eval: sub foo { 'A' }; foo x 5
04:45 buubot_backup sorear: ERROR: syntax error at (eval 20) line 1, near "x 5"
04:45 sorear eval: sub foo() { 'A' }; foo x 5
04:45 buubot_backup sorear: AAAAA
04:46 sorear perl 5 works the same way
04:46 sorear sub foo() being the equivalent of sub term:<foo>
04:46 grondilu I guess I must have hallucinated.  Or I need some sleep.
04:46 sorear lack of sleep can cause hallucinations
04:47 grondilu eval: use feature "state"; sub f { state $n++ ? 1 : 0 }; say f for 0 .. 2;
04:47 buubot_backup grondilu: ERROR: syntax error at (eval 20) line 1, near "say f "
04:47 lue .oO(Well, he didn't say xor :P)
04:48 grondilu eval: use feature qw(state say); sub f { state $n++ ? 1 : 0 }; say f for 0 .. 2;
04:48 buubot_backup grondilu: 0 1 1
04:49 sorear "for" is special here because it's a statement terminator
04:49 sorear it breaks out of the argument list
04:49 grondilu eval: use feature qw(state say); sub f { state $n++ ? $n : 1 }; say f for 0 .. 2;
04:49 buubot_backup grondilu: 1
04:50 grondilu hum
04:50 grondilu if you're curious, I'm curently trying to shorten http://rosettacode.org/wiki/Continued_fraction#Perl
04:57 fgomez joined #perl6
05:22 hypolin joined #perl6
05:30 telex joined #perl6
05:33 thou joined #perl6
05:53 birdwindupbird joined #perl6
06:03 kaleem joined #perl6
06:10 Khisanth joined #perl6
06:11 gfldex joined #perl6
06:14 moritz \o
06:15 lue o/
06:25 hypolin joined #perl6
06:27 sorear o|
06:29 sorear lue: any chance we'll see ya in Austin next June?
06:29 lue When was it, 3-6 June?
06:30 lue s/was/is/
06:30 sorear 3-7 or so
06:30 sorear there's no actual schedule yet so it's too early to make hard plans
06:32 kurahaupo left #perl6
06:32 * sorear has this vague idea that lue is a 15yo with various travel-incompatible commitments ?
06:32 lue That current week I still have school (with graduation the first Saturday after), so it seems I'll only be there in e-form :/
06:35 sorear ie, june 8?
06:35 lue yes.
06:36 sorear if I may ask what state are you in?
06:36 lue Oregon (but that's as granular as I feel comfortable being)
06:37 sorear hah
06:38 domidumont joined #perl6
06:48 SamuraiJack joined #perl6
06:52 cognominal joined #perl6
06:57 SamuraiJack joined #perl6
07:02 domidumont joined #perl6
07:08 lue I'm guessing the stubs in src/core only work because the real thing occurs later in the concatenated file?
07:12 sorear yes
07:19 sftp joined #perl6
07:44 HarryS joined #perl6
07:45 domidumont joined #perl6
07:48 jnthn morning o/
07:49 moritz \o
07:51 Su-Shee good morning everyone.
07:54 marloshouse_ joined #perl6
07:55 arnsholt Moin Su-Shee
07:56 Gryllida joined #perl6
08:00 flightrecorder joined #perl6
08:01 FROGGS joined #perl6
08:03 lue r: 'class A does B is C::D' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/
08:03 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:03 lue It must be getting late. I don't see why this fails.
08:06 FROGGS r: say so 'C::D' ~~ /([\w||'::']+)*/
08:06 p6eval rakudo bf472b: OUTPUT«True␤»
08:06 FROGGS hmmm
08:06 FROGGS ohhh
08:06 FROGGS lue: \s+ doesnt match B
08:06 lue r: 'does B' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/
08:06 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:06 FROGGS r: 'class A does B is C::D' ~~ /[\w+ does \w+ ([\w||'::']+)]*/; say $/
08:06 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:06 FROGGS r: 'class A does B is C::D' ~~ /[\w+ does \w+ is ([\w||'::']+)]*/; say $/
08:07 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:07 lue but it (should) match the space between 'does' and 'B'
08:07 FROGGS but somthing must match B
08:07 lue r: 'class A does B is C::D' ~~ /\s+ does \s+ ([\w||'::']+)/; say $/
08:07 p6eval rakudo bf472b: OUTPUT«「 does B」␤ 0 => 「B」␤␤»
08:08 FROGGS ahh, the rest should match B, not C::D
08:08 lue I fear a bug is what I have found. This works, but I don't know how many times 'does' appears.
08:09 FROGGS r: 'does B' ~~ /(\s+ does \s+ ([\w||'::']+))*/; say $/
08:09 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:09 FROGGS r: 'does B' ~~ /(\s+ does \s+ ([\w||'::']+))/; say $/
08:09 p6eval rakudo bf472b: OUTPUT«#<failed match>␤»
08:09 FROGGS r: 'class A does B is C::D' ~~ /(\s+ does \s+ ([\w||'::']+))/; say $/
08:09 p6eval rakudo bf472b: OUTPUT«「 does B」␤ 0 => 「 does B」␤  0 => 「B」␤␤»
08:10 FROGGS if you use * than its still fine if it doesnt match anything
08:11 lue Actually, it looks like 'does' and 'is' only ever appear once in what I'm processing, but the inability to generalize annoys me.
08:12 lue r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*/; say $/
08:12 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:12 lue r: 'does B ' ~~ /[does \s+ ([\w||'::']+)]*/; say $/
08:12 p6eval rakudo bf472b: OUTPUT«「does B」␤ 0 => 「B」␤␤»
08:12 FROGGS r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]+/; say $/
08:12 p6eval rakudo bf472b: OUTPUT«「does B」␤ 0 => 「B」␤␤»
08:12 lue O.o
08:12 FROGGS looks like * is non greedy
08:13 FROGGS * is "zero times or more", so no match is good too
08:13 lue r: 'does B  ~~ /[does \s+ ([\w||'::']+)]*/; say $/
08:13 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/Tv4KWFY94e:1␤»
08:13 lue r: 'does B'  ~~ /[does \s+ ([\w||'::']+)]*/; say $/
08:13 p6eval rakudo bf472b: OUTPUT«「does B」␤ 0 => 「B」␤␤»
08:14 lue r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*/; say $/
08:14 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:14 lue r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*!/; say $/
08:14 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:14 FROGGS damnit, have to reboot, brb
08:14 lue I thought they were greedy by default. In any case, forcing it to be greedy doesn't help.
08:15 FROGGS maybe thats the bug ;o)
08:15 lue r: 'does B'  ~~ /[does \s+ ([\w||'::']+)]*?/; say $/
08:15 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:16 lue o.o It would seem * is magically frugal here -->    'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*/; say $/
08:17 flightrecorder joined #perl6
08:17 FROGGS joined #perl6
08:17 FROGGS thats better...
08:18 lue r: 'does B'  ~~ /[does \s+ ([\w||'::']+)]*?/; say $/ # FROGGS: doing s/*/*?/ in a known working match...
08:18 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:19 FROGGS r: say 'does B'  ~~ /[does \w]*?/;
08:19 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:19 FROGGS r: say 'does B'  ~~ /[does \w]*/; say 'does B'  ~~ /[does \w]*!/; say 'does B'  ~~ /[does \w]*?/;
08:19 p6eval rakudo bf472b: OUTPUT«「」␤␤「」␤␤「」␤␤»
08:19 lue r: say 'does B' ~~ m:s/[does \w]*?/;
08:19 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:19 FROGGS r: say 'does B'  ~~ /[does B]*/; say 'does B'  ~~ /[does B]*!/; say 'does B'  ~~ /[does B]*?/;
08:19 p6eval rakudo bf472b: OUTPUT«「」␤␤「」␤␤「」␤␤»
08:20 FROGGS r: say 'does B'  ~~ /(does B)*/; say 'does B'  ~~ /(does B)*!/; say 'does B'  ~~ /(does B)*?/;
08:20 p6eval rakudo bf472b: OUTPUT«「」␤␤「」␤␤「」␤␤»
08:20 lue (matches don't match literal whitespace by default)
08:20 FROGGS ohh
08:20 FROGGS right
08:20 lue hence the m:s/ I used.
08:20 FROGGS r: say 'does B'  ~~ /(does\sB)*/; say 'does B'  ~~ /(does\sB)*!/; say 'does B'  ~~ /(does\sB)*?/;
08:20 p6eval rakudo bf472b: OUTPUT«「does B」␤ 0 => 「does B」␤␤「does B」␤ 0 => 「does B」␤␤「」␤␤»
08:20 FROGGS huh
08:21 FROGGS r: say 'does B'  ~~ /[does\sB]*/;
08:21 p6eval rakudo bf472b: OUTPUT«「does B」␤␤»
08:21 FROGGS why does it work now?
08:21 lue r: say 'does B'  ~~ /[does\sB]*/; say 'does B'  ~~ /[does\sB]*!/; say 'does B'  ~~ /[does\sB]*?/;
08:21 p6eval rakudo bf472b: OUTPUT«「does B」␤␤「does B」␤␤「」␤␤»
08:21 FROGGS r: say 'does B'  ~~ /[does \s B]*/;
08:21 p6eval rakudo bf472b: OUTPUT«「does B」␤␤»
08:21 FROGGS hmmm
08:21 FROGGS r: say 'does B'  ~~ /[does \s \w]*/;
08:21 p6eval rakudo bf472b: OUTPUT«「does B」␤␤»
08:22 * lue calls for all the awake regexperts
08:22 lue r: say 'class A does B'  ~~ /[does\sB]*/; say 'does B'  ~~ /[does\sB]*!/; say 'does B'  ~~ /[does\sB]*?/;
08:22 p6eval rakudo bf472b: OUTPUT«「」␤␤「does B」␤␤「」␤␤»
08:22 FROGGS ohh
08:23 FROGGS that explains it
08:23 moritz lue: what's the question?
08:24 lue .oO(feels like it's trying to match from the beginning of string when it shouldn't.)
08:24 lue r: 'class A does B is C::D' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/ # moritz: why?
08:24 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:24 moritz r: 'class A does B is C::D' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/
08:24 p6eval rakudo bf472b: OUTPUT«「」␤␤»
08:25 moritz lue: it tries to match at position 0 first
08:25 moritz lue: and succeeds, with the empty match
08:25 moritz lue: then it stops.
08:25 FROGGS ya, makes sense some how
08:25 moritz the foremost principle of the regex engine is to try the left-most match first
08:26 moritz finding the longest match is only second principle
08:26 lue That makes complete sense, yet feels entirely wrong at the same time.
08:26 domidumont joined #perl6
08:26 lue (In this case, that is)
08:27 moritz if it feels wrong, then there's something wrong inside you that makes it feel wrong to you
08:27 FROGGS bah
08:27 moritz like, using * instead of + if you really want at least one match
08:27 tadzik good morning
08:28 FROGGS mornin'
08:28 moritz good morning tadzik
08:28 lue (there might not be a match though, and I doubt ? would help much)
08:28 araujo joined #perl6
08:28 araujo joined #perl6
08:29 lue r: 'class A does B is C::D' ~~ /.+ [\s+ does \s+ ([\w||'::']+)]*/; say $/
08:29 moritz lue: then use + and deal with a possibly failing match
08:29 p6eval rakudo bf472b: OUTPUT«「class A does B is C::D」␤␤»
08:29 lue r: 'class A does B is C::D' ~~ /.+? [\s+ does \s+ ([\w||'::']+)]*/; say $/
08:29 p6eval rakudo bf472b: OUTPUT«「c」␤␤»
08:30 * lue is sadly laughing right now.
08:30 wamba joined #perl6
08:32 lue It seems like I'll have to deal with a failing match then (although now the code loses that strange appeal code that doesn't have conditionals has).
08:32 lue In any case, good knight o/
08:33 cognominal joined #perl6
08:40 FROGGS lue: gnight
08:42 Khisanth joined #perl6
08:45 cognominal joined #perl6
08:50 Kharec joined #perl6
08:53 larks joined #perl6
08:59 fhelmberger joined #perl6
09:08 xinming joined #perl6
09:16 cognominal joined #perl6
09:18 dalek niecza: 9ce3bae | sorear++ | / (4 files):
09:18 dalek niecza: use UUIDs instead of Run. to segragate runtime and compiler module versions; build is quite shot at this point
09:18 dalek niecza: review: https://github.com/sorear/niecza/commit/9ce3bae6fe
09:35 timotimo is there a way for Configure.pl to check out only a shallow clone of parrot and nqp?
09:37 dakkar joined #perl6
10:03 dalek niecza: 2efdd99 | sorear++ | / (2 files):
10:03 dalek niecza: Port compiler binding into the kernel proper
10:03 dalek niecza: review: https://github.com/sorear/niecza/commit/2efdd99c14
10:04 am0c_ joined #perl6
10:05 sorear timotimo: unsure, doubtful
10:05 sorear ask jnthn
10:08 dalek niecza: 19fa03a | sorear++ | lib/CompilerBinding.cs:
10:08 dalek niecza: Fix call names
10:08 dalek niecza: review: https://github.com/sorear/niecza/commit/19fa03ae93
10:09 moritz timotimo: no; but you can obtain and unpack a tarball of the appropriate version yourself
10:09 timotimo do i need to tell Configure.pl about that somehow?
10:10 cognominal joined #perl6
10:11 sorear wow.  the new segregation regimen *works*
10:11 sorear tomorrow: try and reconstruct the build system
10:11 sorear sleep&
10:13 kresike joined #perl6
10:13 kresike helo all you happy perl6 people
10:15 jnthn ehlo kresike
10:15 kresike jnthn, I'm not an SMTP server :)
10:16 jnthn :D
10:17 jnthn Ah, the days when it was a worthwhile perforamnce win to choose 4-letter command names so you could do 32-bit integer comparisons to see what the command was...
10:19 Chillance joined #perl6
10:20 bowtie joined #perl6
10:22 moritz did they even have 32bit integers in those days? :-)
10:24 tadzik :>
10:33 Kharec joined #perl6
10:34 Kharec joined #perl6
10:34 SmokeMachine joined #perl6
10:37 fhelmberger joined #perl6
11:02 rindolf joined #perl6
11:04 dalek Perlito: 98415bf | (Flavio S. Glock)++ | t5/01-perlito/31-autoload.t:
11:04 dalek Perlito: Perlito5 - tests - add AUTOLOAD tests
11:04 dalek Perlito: review: https://github.com/fglock/Perlito/commit/98415bf7ea
11:05 Su-Shee_ joined #perl6
11:08 dalek Perlito: 8d65dd4 | (Flavio S. Glock)++ | t5/01-perlito/32-autoload-method.t:
11:08 dalek Perlito: Perlito5 - tests - add AUTOLOAD tests
11:08 dalek Perlito: review: https://github.com/fglock/Perlito/commit/8d65dd4de7
11:22 mtymula joined #perl6
11:22 mtymula Hello
11:23 moritz hi
11:23 mtymula i am trying to create exec out of perl6 file hello.pl
11:23 mtymula on my win32
11:23 moritz this doesn't work (yet)
11:23 mtymula oh crap...
11:23 tadzik (:
11:24 tadzik well, doesn't it work on niecza maybe?
11:24 mtymula only  windows
11:24 mtymula ?
11:24 tadzik no, it dosn't work on unices either, afaik
11:24 moritz that's correct
11:24 mtymula ok, so no exec
11:25 mtymula when one can expect that feature??
11:26 moritz you can expect it whenever you like
11:26 moritz but we don't have a timeline for it
11:26 tadzik and if you expect it now, we'll send you this magic marker included! :-)
11:27 mtymula yeah:)
11:27 mtymula you know.. i am writing a thesis about perl6
11:27 mtymula i need to know what is what and what is working
11:28 mtymula so i  guess i should look at apocalypses??
11:28 moritz no
11:28 tadzik nope :)
11:28 tadzik that has nothing to do with working
11:28 mtymula ok,
11:28 moritz the synopsis are what we try to implement
11:28 tadzik http://perl6.org/compilers/features is the "what is working"
11:28 moritz and the bug tracker for what is not working
11:28 tadzik :D
11:28 mtymula oh tight i've seen that site before
11:29 mtymula hahaha
11:29 mtymula *that
11:29 masak g'day, #perl6
11:30 mtymula ok so i've got only one q
11:30 masak mtymula: Perl 6 is a language that compiles down to bytecode, not machine code. why do you expect it to compile down to machine code, and why is it a problem for you that it doesn't?
11:30 mtymula oh it is not a prolbem for me
11:30 mtymula i just need to know that stuff for my science work
11:30 mtymula that i am doing
11:31 colo-work left #perl6
11:31 masak I see.
11:31 masak well, the reason it's not part of any timeline is that Perl 6 is not chiefly meant to be used that way.
11:32 masak nor is, for example, Java.
11:32 masak it compiles down to those .class files, which one then interprets.
11:33 mtymula good
11:33 masak in Perl 5 and 6, the process is a little simpler, since you don't have to do it in two steps, and you never see the intermediate format.
11:33 masak but the principle is exactly the same.
11:34 masak therefore, .exe files would be a detour.
11:35 huf eventually someone will come up with a way to pack the entire perl6 interpreter and half the world into one single file, along with your code...
11:35 mtymula i am supposed to make a http html app with connection to database and some fancy looking tables on the gui side. My question is, do you know about any deatours or not implemented functionalities that can prevent me from doing that task??
11:35 huf that'll be an exe fsvo exe
11:36 masak mtymula: check out https://github.com/tadzik/zblog
11:36 masak mtymula: it's a web frontend to a database.
11:36 masak works in Rakudo, today.
11:36 tadzik for only 2.99
11:36 masak but that's not all...
11:37 tadzik 'fcourse not
11:37 mtymula ok, thanks a lot
11:37 tadzik you get to write your own Fancy Looking Tables. Absolutely free!
11:37 huf who do i call _now_?
11:37 tadzik GHOSTBUSTERS
11:37 huf \o/
11:37 masak you can expect some things not to be implemented yet. basically, if you come in with the expectations of CPAN, you will be disappoint.
11:38 masak in other words, you can almost always compensate, but sometimes it takes toil and sweat to do so.
11:38 jnthn And please share your sweat on modules.perl6.org :)
11:39 masak we should make that our new slogan.
11:39 masak modules.perl6.org -- "sweat that you can share!"
11:39 jnthn Sponsored by Pocari!
11:39 * masak shapes himself like a bunch of katakana
11:40 mtymula is there any other way to contact you, so i could make perhaps some interview or inquiry and add it to my science papers??
11:40 FROGGS masak: I almost sent that contributor agreement (it's at home, just need to get en envelope)
11:40 masak FROGGS: cool!
11:41 masak mtymula: I think many here would be willing to do interviews via email, or privmsg here on IRC.
11:41 FROGGS I'm not used to paper, you see
11:41 masak FROGGS: I know the feeling.
11:41 tadzik I think I've emailed a scan of my CLA
11:41 jnthn FROGGS: I know, I always hate it when people expect paper things dong...
11:41 masak tadzik: ooh, clever
11:42 tadzik well, lazy ;)
11:42 FROGGS tadzik: MRA! I can do that tuu
11:42 tadzik it was awesome
11:42 tadzik like, not leaving my cave
11:42 FROGGS *g*
11:42 FROGGS ya, sunlight, bah
11:42 * masak .oO( but then how would they know it's real and not created in Paint or something...? )
11:43 mtymula ok people so I will get back to you with more questions:) have a nice day
11:43 am0c joined #perl6
11:43 mtymula !!
11:43 tadzik same to you :)
11:44 GlitchMr joined #perl6
11:46 masak have($day, :nice)
11:47 JJ_Brain joined #perl6
11:48 masak perl6: my @odd = 1,3,5 ... 8; say @odd[^4]
11:48 masak surely this should time out?
11:48 masak [Coke]: ^
11:48 p6eval rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«(timeout)»
11:48 jnthn Needs binding
11:49 moritz perl6: my @odd := 1, 3, 5 ... 8; say @odd[^4]
11:49 p6eval rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«1 3 5 7␤»
11:49 moritz perl6: my @odd := 1, 3, 5 ... 8; say @odd[^8]
11:49 p6eval rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«1 3 5 7 9 11 13 15␤»
11:50 masak [Coke]: seems you're only testing the first half of https://rt.perl.org/rt3/Ticket/Display.html?id=76648
11:50 masak jnthn: right, that's what I meant. I couldn't see which RT ticket it was coming from, but it looked to me like it should hang.
11:59 masak <moritz> if it feels wrong, then there's something wrong inside you that makes it feel wrong to you
11:59 masak moritz is a stern teacher :)
12:00 JJ_Brain joined #perl6
12:03 * moritz sometimes is
12:14 am0c_ joined #perl6
12:16 birdwindupbird joined #perl6
12:20 brrt joined #perl6
12:32 tokuhiro_ joined #perl6
12:36 Psyche^ joined #perl6
12:45 dalek Perlito: 643adab | (Flavio S. Glock)++ | / (4 files):
12:45 dalek Perlito: Perlito5 - js2 - p5call_sub() placeholder for AUTOLOAD
12:45 dalek Perlito: review: https://github.com/fglock/Perlito/commit/643adaba89
12:59 sqirrel joined #perl6
13:04 cognominal joined #perl6
13:12 cognominal joined #perl6
13:50 _ilbot joined #perl6
13:50 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
13:56 ruoso joined #perl6
14:11 atrodo joined #perl6
14:11 PacoAir joined #perl6
14:14 tokuhiro_ joined #perl6
14:18 cognominal joined #perl6
14:19 PacoAir joined #perl6
14:23 kaleem joined #perl6
14:35 kaleem joined #perl6
14:35 domidumont joined #perl6
14:36 FROGGS [Coke]: reinstalling opensolaris...
14:40 larks joined #perl6
14:51 rurban_ joined #perl6
14:55 wamba joined #perl6
14:58 FROGGS .oO( masak is also known as the symbol )
14:58 FROGGS .oO( ... formerly known as prince )
15:04 geekosaur somewhat appropriate since irc won't let him use his symbol :)
15:05 stopbit joined #perl6
15:06 dakkar joined #perl6
15:10 perigrin joined #perl6
15:10 kaare_ joined #perl6
15:15 Shozan joined #perl6
15:18 masak seems a bit stormy on the IRCs today.
15:24 FROGGS there should be a relay chat forecast...
15:24 grondilu joined #perl6
15:24 grondilu rn:  class Foo { has $.str; method postcircumfix:<( )>($i, $k) { $.str.substr: $i, $k } }; my Foo $x .= new: :str("hello"); say $x.(2, 1)
15:24 p6eval rakudo bf472b: OUTPUT«Not enough positional parameters passed; got 2 but expected 3␤  in method postcircumfix:<( )> at /tmp/AbMJCtzaIi:1␤  in  at src/gen/BOOTSTRAP.pm:852␤  in any  at src/gen/BOOTSTRAP.pm:836␤  in block  at /tmp/AbMJCtzaIi:1␤␤»
15:24 p6eval ..niecza v22-36-g19fa03a: OUTPUT«l␤»
15:24 Pompel I've heard that the IRC can be quite deadly to the MSN-lubbers.
15:24 grondilu rn:  class Foo { has $.str; method postcircumfix:<( )>($i, $k) { $.str.substr: $i, $k } }; my Foo $x .= new: :str("hello"); say $x(2, 1)
15:24 p6eval rakudo bf472b: OUTPUT«Not enough positional parameters passed; got 2 but expected 3␤  in method postcircumfix:<( )> at /tmp/a7DuiH_YNl:1␤  in  at src/gen/BOOTSTRAP.pm:852␤  in any  at src/gen/BOOTSTRAP.pm:836␤  in block  at /tmp/a7DuiH_YNl:1␤␤»
15:24 p6eval ..niecza v22-36-g19fa03a: OUTPUT«l␤»
15:29 * grondilu submits rakudobug
15:30 Kharec joined #perl6
15:31 xilo joined #perl6
15:33 flightrecorder left #perl6
15:34 skids joined #perl6
15:34 cognominal_ joined #perl6
15:37 grondilu rn:  my class {} $;
15:37 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/bH7frpmJSL:1␤»
15:37 p6eval ..niecza v22-36-g19fa03a: OUTPUT«[31m===[0mSORRY![31m===[0m��Strange text after block (missing comma, semicolon, comment marker?) at /tmp/PtQKqHwDHr line 1:�------> [32mmy class {}[33m�[31m $;[0m��Parse failed��»
15:38 masak grondilu: I think you're getting two parameters to postcircumfix:<( )> because it packages your (2, 1) as a capture and passes that as a single argument.
15:38 masak I don't remember whether that's still spec or no.
15:38 grondilu r:  class Foo { has $.str; method postcircumfix:<( )>($i, $k) { $.str.substr: $i, $k } }; my Foo $x .= new: :str("hello"); say $x(|(2, 1))
15:38 p6eval rakudo bf472b: OUTPUT«Not enough positional parameters passed; got 2 but expected 3␤  in method postcircumfix:<( )> at /tmp/cgrJZnKyKj:1␤  in  at src/gen/BOOTSTRAP.pm:852␤  in any  at src/gen/BOOTSTRAP.pm:836␤  in block  at /tmp/cgrJZnKyKj:1␤␤»
15:39 grondilu I don't see why it should passes that as a capture.
15:40 grondilu *pass
15:40 bluescreen10 joined #perl6
15:40 masak I'm not justifying it doing so; I'm explaining why 2 parameters were expected. (the invocant and the capture)
15:40 FROGGS masak: do you get mails when I reply to RT tickets?
15:41 masak FROGGS: depends.
15:41 masak FROGGS: do you mark them as "cc to p6c"?
15:41 FROGGS if you are the owner
15:41 masak FROGGS: then yes.
15:41 cognominal_ joined #perl6
15:41 masak when I am the requestor, I get emails.
15:42 FROGGS k, because you might noticed that I check old tickets and reply if it is fixed now... but I cant add tags or close tickets
15:43 moritz somebody should give you write access
15:44 FROGGS maybe, I'd like to add 'testneeded' to some
15:44 moritz [Coke]: can you give FROGGS (RT ID froggs.de) write access to the perl6 RT queue?
15:44 FROGGS FROGGS.de if case matters
15:52 prammer joined #perl6
15:54 FROGGS masak: your bugs 94128 and 79174 are the same...
15:54 FROGGS https://rt.perl.org/rt3/Ticket/Display.html?id=94128 <-> https://rt.perl.org/rt3/Ticket/Display.html?id=79174
15:56 rurban joined #perl6
15:56 cognominal joined #perl6
15:57 rurban I have a potential nqp fix for the remaining nqp crash with threaded parrot: https://github.com/parrot/parrot/issues/869
15:57 phenny rurban: 13 Nov 04:11Z <isBEKaml> tell rurban that I can now build parrot+rakudo successfully on cygwin. it was a line ending issue from msysgit, installing cygwin's git and a fresh checkout resolved them all.
15:57 am0c joined #perl6
15:57 rurban nqp needs to check also GC'ed away types, which are enum_class_Proxy
16:03 dalek nqp: a93915b | rurban++ | src/pmc/nqplexpad.pmc:
16:03 dalek nqp: [parrot #869] Check also for proxied lexinfo with threaded parrots
16:03 dalek nqp:
16:03 dalek nqp: Tadzik came up with an abnormal testcase, which crashed in nqp on a threaded parrot.
16:03 dalek nqp: See [parrot #869].
16:03 dalek nqp: Parrot_NQPLexPad_set_pointer needs to check for enum_class_Proxy also.
16:03 dalek nqp: Note this commit does not fix the problem, only the segfault.
16:03 dalek nqp: I do not know which lexinfo name_map to get with enum_class_Proxy.
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/a93915b910
16:04 FROGGS haha, tadzik makes abnormal testcases ;o)
16:06 mtymula joined #perl6
16:06 jnthn joined #perl6
16:06 dalek nqp: 6d8b63d | rurban++ | src/pmc/nqplexpad.pmc:
16:06 dalek nqp: [whitsepace] parrot #869 Parrot_NQPLexPad_set_pointer sorry for the hard tab
16:06 dalek nqp: review: https://github.com/perl6/nqp/commit/6d8b63d105
16:06 mtymula hello
16:06 rurban A very abormal case in which the lexpad gets GC'ed in a different thread
16:07 rurban So threads are not quite ready yet, but almost.
16:08 mtymula I am doing this tutorial  http://perl6maven.com/tutorial/perl6-loop-missing-values
16:08 mtymula when tutorial says that i should get :
16:08 mtymula use of uninitialized value of type Mu in string context    in block <anon> at examples/arrays/missing_values_fixed.p6:5
16:08 mtymula i get only MU()
16:08 mtymula is it correct?
16:09 FROGGS rurban: thats awesome, I'm looking forward to perl6 threads (still have stomach ache when thinking of perl5's ithreads...)
16:09 masak mtymula: I think so.
16:09 mtymula masak: thx
16:09 masak phz
16:10 jnthn *pzh :P
16:10 larks joined #perl6
16:10 larks joined #perl6
16:10 masak dng :)
16:11 jnthn rurban: Is it actually a GC issue?
16:11 jnthn rurban: Or can it happen whenever we create a LexPad in one thread that refers to a LexInfo in another thread?
16:12 rurban This could also be the case. I do not know this code well enough
16:12 jnthn set_pointer is called by Parrot to provide the context that the lexpad will be for
16:12 rurban jnthn: Yes, I think your explanation is better
16:13 rurban Can you think of a fix?
16:13 jnthn No.
16:13 jnthn We really need to look at the real LexInfo there, in general.
16:13 jnthn Well, the NQPLexInfo.
16:13 jnthn So the ansewr is "however we get the really thing from the proxy" I guess.
16:13 jnthn *real
16:14 rurban I sent nine a message if he could help us. He invented these proxies
16:14 jnthn *nod*
16:14 jnthn Well, whatever fix applies for NQP there should be good for Rakudo too
16:14 rurban Or whiteknight maybe
16:14 rurban I just don't know if we stepped into a can of worms
16:15 rurban We eventually might need to check all pmcs for proxies
16:15 jnthn urgh
16:16 jnthn Yeah, this potentially could go fairly deep.
16:17 rurban A transparent proxy would be better
16:18 benabik I thought the proxies were fairly transparent.
16:23 BooK joined #perl6
16:26 rurban I asked the mailing list
16:38 tadzik yeah, threads moving :)
16:44 kresike bye folks
16:50 rurban whiteknight explained the threads proxies issues on the list. We might need new macros to access a pmc vtable (proxy_pmc->data->target_pmc->vtable)
16:51 rurban He argued to merge threads and fix nqp over time
16:52 moritz does that mean that vtable accesses get slower?
16:56 cognominal joined #perl6
16:56 rafl joined #perl6
17:00 flussence joined #perl6
17:07 rurban You need to check for the proxy case, yes. One more int comparison
17:07 domidumont joined #perl6
17:07 rurban I think I have a good nqp fix now
17:08 rafl joined #perl6
17:09 aindilis joined #perl6
17:09 jnthn rurban: Next issue: all the 6model related ops look for an object to be a SixModelObject PMC, and thus as soon as any object gets shared we hit this issue again, I suspect.
17:10 rafl joined #perl6
17:11 rurban But then it will be easier to abstract. You just need to check the Proxy case and if so access the data->target instead
17:12 MayDaniel joined #perl6
17:13 thou joined #perl6
17:14 rurban Oh I see.
17:20 rurban How advanced is NQPP5QRegex? 50%
17:27 erkan joined #perl6
17:27 erkan joined #perl6
17:33 SamuraiJack joined #perl6
17:36 FROGGS joined #perl6
17:39 am0c_ joined #perl6
17:40 am0c_ joined #perl6
17:44 am0c_ joined #perl6
17:45 larks joined #perl6
17:46 masak rn: say <turtles closures MOP>.roll, " all the way down!"
17:46 p6eval niecza v22-36-g19fa03a: OUTPUT«closures all the way down!␤»
17:46 p6eval ..rakudo bf472b: OUTPUT«MOP all the way down!␤»
17:46 masak :P
17:47 benabik No turtles for you.
17:47 masak who needs turtles when one has infinite closures and MOP!
17:49 am0c_ joined #perl6
17:55 am0c joined #perl6
17:56 rafl joined #perl6
17:57 masak re https://rt.perl.org/rt3//Public/Bug/Display.html?id=100124
17:57 masak it may well be that that is "expected behavior", I dunno.
17:57 masak it's certainly more consistent than when the ticket was filed.
17:58 masak I guess it all hinges on whether it should be OK to compose the *same* role twice, through two different paths.
17:58 dalek roast: be54170 | moritz++ | S32-exceptions/misc.t:
17:58 dalek roast: fudge test for RT #114134
17:58 dalek roast: review: https://github.com/perl6/roast/commit/be54170024
17:58 masak I think a strong case could be made for yes, that should be possible.
17:58 masak in which case the behavior is not the expected one.
17:59 cognominal joined #perl6
18:03 grondilu joined #perl6
18:04 * grondilu has just realised he can still use @_
18:04 grondilu rn: sub f { @_ }; say f <hello perl6>;
18:04 p6eval rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«hello perl6␤»
18:05 masak yes. it's readonly, though.
18:05 masak that's a big difference to Perl 5.
18:06 benabik r: sub f { say @_.shift }; f <hello perl6>
18:06 p6eval rakudo bf472b: OUTPUT«hello␤»
18:07 grondilu rn: sub f { shift }; say f <hello perl6>;
18:07 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'shift' will never work with no arguments (line 1)␤    Expected any of:␤    :(@a)␤»
18:07 p6eval ..niecza v22-36-g19fa03a: OUTPUT«Unhandled exception: No value for parameter '@array' in 'shift'␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (shift @ 1) ␤  at /tmp/GnPyeXcEEa line 1 (f @ 4) ␤  at /tmp/GnPyeXcEEa line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 42…
18:07 * grondilu wonder why shift could not be called with no arguments
18:09 masak because functions don't have default arguments like that in Perl 6.
18:09 japhb rn: sub f { .shift }; say f <hello perl6>;
18:09 p6eval rakudo bf472b: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub f at /tmp/bLIfA4apWj:1␤  in block  at /tmp/bLIfA4apWj:1␤␤»
18:09 masak underlying reason is that you shouldn't be expected as a programmer to memorize arbitrary lists of which functions do have default arguments and which don't.
18:09 p6eval ..niecza v22-36-g19fa03a: OUTPUT«Unhandled exception: Unable to resolve method shift in type Parcel␤  at /tmp/Wu7tHk0ggy line 1 (f @ 4) ␤  at /tmp/Wu7tHk0ggy line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting li…
18:09 japhb Interesting
18:10 benabik .shift calls $_.shift, not @_.shift, I think
18:10 masak I think the shortest way to write that is @_.shift
18:10 masak benabik: it does, yes.
18:10 masak .shift always means $_.shift
18:10 japhb benabik, I knew that.  I just wondered how the two compilers would react.
18:10 jnthn japhb: You have to mention @_ in order to get the *@_ signature.
18:10 jnthn In Rakudo, anyways...
18:10 japhb jnthn, yes, I know.
18:11 japhb I guess I should have said   # Just curious   at the end of my test.  ;-)
18:12 grondilu rn: sub f { @_.shift; @_ }; say f <hello perl6>;
18:12 p6eval rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«perl6␤»
18:12 grondilu well it's not readonly, after all.
18:14 grondilu .oO(unless being able to shift an array does not mean we can mutate its individual values, so it still is readonly)
18:16 masak I think it should mean that.
18:17 skids grondilu: S06 says "the slurpy star means the declared formal parameter is not considered readonly; only its elements are."
18:17 masak interesting.
18:17 grondilu skids: ok
18:17 masak I guess that does make sense, since the array is created as part of the parameter binding.
18:21 sorear o/
18:25 arnsholt And it won't ever be something external, so forcing it to be immutable isn't really necessary in a way
18:26 skids it's a DWIM WIN-WIN :-)
18:27 grondilu rn: my @a = ^10; sub f(*@a) { @a[0] = "foo" }; f @a; say @a;
18:27 p6eval rakudo bf472b: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
18:27 p6eval ..niecza v22-36-g19fa03a: OUTPUT«foo 1 2 3 4 5 6 7 8 9␤»
18:28 grondilu slurpy star NYI in rakudo?
18:30 arnsholt grondilu: I think @a[0] inside f will be the whole list 1..9
18:30 arnsholt You're probably thinking of f(|@a) which flattens, but then you still won't be modifying the @a outside
18:31 skids r: my @a = ^10; sub f(*@a is rw) { @a[0] = "foo" }; f @a; say @a;
18:31 p6eval rakudo bf472b: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
18:31 skids (I think that's supposed to work according to spec.)
18:31 arnsholt r: my @a = ^10; sub f(*@a is rw) { @a[0][0] = "foo" }; f @a; say @a;
18:31 p6eval rakudo bf472b: OUTPUT«Cannot assign to a non-container␤  in sub f at /tmp/qillKolrn1:1␤  in block  at /tmp/qillKolrn1:1␤␤»
18:32 arnsholt Huh
18:32 arnsholt At any rate, func(@array) will never flatten in Perl 6 (unlike Perl 5). For flattening you want func(|@array)
18:34 grondilu it's not really about flattening, it's about mutating, as mentioned in the sentence skids quoted from S06.  But I guess I should read this part again more carefully.
18:34 skids S06 also says the "is rw" distributes to the elements of a slurpy, so I read that as the above should have worked.
18:35 grondilu rn: my @a = <foo bar>; sub f(*@a is rw) { @a[1] = "foo" }; f @æ; say @a;'
18:35 p6eval niecza v22-36-g19fa03a: OUTPUT«[31m===[0mSORRY![31m===[0m��Variable @æ is not predeclared at /tmp/I6WVOkWBGW line 1:�------> [32m; sub f(*@a is rw) { @a[1] = "foo" }; f [33m�[31m@æ; say @a;'[0m��Bogus statement at /tmp/I6WVOkWBGW line 1:�------> [32m is rw) { @a[1] = "foo" }; f…
18:35 p6eval ..rakudo bf472b: OUTPUT«===SORRY!===␤Variable @æ is not declared␤at /tmp/whQYeYGyip:1␤»
18:35 grondilu rn: my @a = <foo bar>; sub f(*@a is rw) { @a[1] = "foo" }; f @a; say @a;'
18:35 p6eval niecza v22-36-g19fa03a: OUTPUT«[31m===[0mSORRY![31m===[0m��Bogus statement at /tmp/hiRHUMjUTR line 1:�------> [32m is rw) { @a[1] = "foo" }; f @a; say @a;[33m�[31m'[0m��Parse failed��»
18:35 p6eval ..rakudo bf472b: OUTPUT«===SORRY!===␤Unable to parse expression in quote:sym<apos>; couldn't find final "'" at line 2, near ""␤»
18:36 grondilu rn: my @a = <foo bar>; sub f(*@a is rw) { @a[1] = "foo" }; f @a; say @a;
18:36 p6eval niecza v22-36-g19fa03a: OUTPUT«foo foo␤»
18:36 p6eval ..rakudo bf472b: OUTPUT«foo bar␤»
18:36 grondilu niecza and rakudo definitely don't agree with this stuff
18:36 grondilu rn: my @a = <foo bar>; sub f(@a is rw) { @a[1] = "foo" }; f @a; say @a;
18:36 p6eval rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«foo foo␤»
18:37 skids r: my @a = ^10; sub f(*@a is rw) { @a[0] = "foo"; say "inside f a is {@a}" }; f(@a); say @a;
18:37 p6eval rakudo bf472b: OUTPUT«inside f a is foo 1 2 3 4 5 6 7 8 9␤0 1 2 3 4 5 6 7 8 9␤»
18:43 TimToady we have two different definitions of "flattening" here
18:43 TimToady prefix | does one kind of flattening, and slurpy * does a different kind
18:44 TimToady | flattens an item into the argument list, whereas * manages the transition from positional arguments to variadic
18:45 TimToady the term "flatten" is rather badly overloaded
18:45 skids .oO(that's probably why it's flat, because it got squished)
18:46 TimToady to look at it another way, the difference between p5 and p6 is not that we completely did away with item vs list context, but that the decision is made lazily based on binding to the signature
18:47 TimToady | lets you violate item-by-item binding on the caller's side, while * lets you violate it on the callee's side
18:49 TimToady generally speaking, the * is more normative, while the | is one of those safety valve features
18:56 skids r: my $b = 0; my @a := $b,1,2,3; sub f(@a is rw) { @a[0] = "foo"; say "inside f a is {@a}" }; f(@a); $b.say; @a.say
18:56 p6eval rakudo bf472b: OUTPUT«inside f a is foo 1 2 3␤foo␤foo 1 2 3␤»
18:57 skids r: my $b = 0; my @a := $b,1,2,3; sub f(*@a is rw) { @a[0] = "foo"; say "inside f a is {@a}" }; f(@a); $b.say; @a.say
18:57 p6eval rakudo bf472b: OUTPUT«inside f a is foo 1 2 3␤0␤0 1 2 3␤»
19:03 [Coke] moritz, FROGGS: FROGGS.de is now a perl6 bugadmin.
19:03 FROGGS \O/
19:03 FROGGS [Coke]: thanks a lot!
19:06 [Coke] no worries. less for me to do!
19:06 FROGGS ha, I'll just mess all up, so more to do for you ;o)
19:06 FROGGS MUHAHAAHA
19:08 [Coke] O_O;
19:10 * [Coke] ponders stalling 73104 and 73184
19:11 dalek roast: 5828eb7 | coke++ | S02-magicals/progname.t:
19:11 dalek roast: Add test for RT #89704
19:11 dalek roast: review: https://github.com/perl6/roast/commit/5828eb791a
19:13 [Coke] been sitting on that one for a while, I think.
19:13 spider-mario joined #perl6
19:13 dalek roast: 95bb282 | (Tobias Leich)++ | S32-temporal/Date.t:
19:13 dalek roast: Link stringification test to RT ticket
19:13 dalek roast:
19:13 dalek roast: https://rt.perl.org/rt3/Ticket/Display.html?id=112376
19:13 dalek roast: review: https://github.com/perl6/roast/commit/95bb282395
19:15 FROGGS yay, closed a ticket :o)
19:16 sorear FROGGS++
19:16 FROGGS I guess there are about 50 tickets that already are fixed, and the half of it may already have tests
19:18 masak FROGGS++
19:18 FROGGS wow, so much karma^^
19:18 Moukeddar joined #perl6
19:18 [Coke] FROGGS: Yes, going through those not marked testneeded often finds some already-fixed gold.
19:18 FROGGS what would I get when I even start hecking?
19:21 masak heckers traditionally sit on the second row.
19:22 rurban_ joined #perl6
19:24 sorear o/ masak
19:36 masak \o
19:39 colomon o\
19:40 tipdbmp Where can one find an explanation about the perl6 operators (old, meta, hyper, cross, etc.)?
19:42 sorear S03
19:42 tipdbmp Right.
19:43 FROGGS tipdbmp: if you need a shiny overview: http://www.ozonehouse.com/mark/periodic/
19:46 FROGGS r: say [max] <2 11>
19:46 p6eval rakudo bf472b: OUTPUT«2␤»
19:47 tipdbmp Haha, this is awesome! Tnx =).
19:48 gdey joined #perl6
19:51 zby_home joined #perl6
20:03 cognominal joined #perl6
20:07 azawawi joined #perl6
20:11 azawawi hi #perl6
20:12 FROGGS hi
20:12 masak azawawi! \o/
20:12 sorear o/
20:14 masak ah, `[max] <2 11>` is from https://rt.perl.org/rt3/Ticket/Display.html?id=112250
20:14 FROGGS rite
20:15 FROGGS max should do the same like cmp, but I didnt find the spec where it says what to do with stringified nums
20:16 TimToady n: say [max] <2 11>
20:16 p6eval niecza v22-36-g19fa03a: OUTPUT«11␤»
20:16 * masak liked http://blog.ezyang.com/2012/11/extremist-programming/
20:16 TimToady niecza++
20:17 larks joined #perl6
20:25 xenoterracide method modifiers
20:25 xenoterracide ?
20:26 moritz exist
20:26 xenoterracide syntax? or docs?
20:27 moritz method modifier exists
20:28 xenoterracide that would be how I'd create one?
20:29 TimToady grondilu: were you planning to unbitrot the wireworld example?
20:29 moritz xenoterracide: how should it look like? what should it do?
20:30 xenoterracide moritz: oh I don't know I was just trying to get a general concept of how I could create a before or around so I could start poking around with it.
20:31 jnthn You don't; you write a normal method that defers (with callsame/callwith/nextsame/nextwith)
20:32 moritz r: sub before(&m, &d) { &m.wrap({ d(); nextsame } }; class a { before method x() { say 42 }, { say 23 }; }; a.x
20:32 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Unable to parse expression in argument list; couldn't find final ')' at line 2, near "}; class a"␤»
20:32 moritz r: sub before(&m, &d) { &m.wrap({ d(); nextsame } }; class a { before ( method x() { say 42 }), { say 23 }; }; a.x
20:32 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Unable to parse expression in argument list; couldn't find final ')' at line 2, near "}; class a"␤»
20:33 jnthn moritz: missing ) after the wrap call
20:33 moritz r: sub before(&m, &d) { &m.wrap({ d(); nextsame }) }; class a { before ( method x() { say 42 }), { say 23 }; }; a.x
20:33 p6eval rakudo bf472b: OUTPUT«42␤»
20:33 moritz r: class A { say method x() { } };
20:33 p6eval rakudo bf472b: OUTPUT«x␤»
20:34 moritz r: sub before(&m, &d) { say "in before";  &m.wrap({ d(); nextsame }) }; class a { before ( method x() { say 42 }), { say 23 }; }; a.x
20:34 p6eval rakudo bf472b: OUTPUT«in before␤42␤»
20:34 moritz hm, seems that wrap and methods don't seem to mix well
20:37 jnthn moritz: You should do it with a trait
20:37 jnthn Otherwise you wrap a clone of the method (due to closure semantics), not the static compile time one that got stuck in the meta-object.
20:38 moritz oh. Closures.
20:38 jnthn :)
20:38 jnthn I'm sure one of my talks has an example of implementing method modifiers...
20:38 xenoterracide jnthn++
20:38 xenoterracide moritz++
20:38 jnthn If you want traits for 'em.
20:38 xenoterracide thanks for the help guys
20:38 xenoterracide I gotta run off to the office now
20:42 grondilu nr: class Foo { method postfix:<++> { say "tic" } }; my Foo $x; $x++;
20:42 p6eval niecza v22-36-g19fa03a: OUTPUT«Unhandled exception: Nominal type check failed for scalar store; got Int, needed Foo or subtype␤  at /tmp/_oysXJZ841 line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4212 …
20:42 p6eval ..rakudo bf472b: OUTPUT«Type check failed in assignment to '$x'; expected 'Foo' but got 'Int'␤  in sub postfix:<++> at src/gen/CORE.setting:1612␤  in block  at /tmp/ND6MA2WZ3A:1␤␤»
20:42 grondilu can't I redefine postfix:<++> as I want?
20:43 jnthn Yes, but not as a method.
20:43 moritz it's a sub
20:43 grondilu oh
20:43 grondilu ok
20:43 FROGGS .oO( its a trap! )
20:43 moritz though if it's only for one type, you can just define a method succ
20:43 moritz because the default postfix:<++> delegates to .succ
20:44 grondilu I should have guessed that.  silly of me.
20:44 moritz http://doc.perl6.org/language/operators
20:44 xilo joined #perl6
20:48 moritz jnthn: fwiw bumping the parrot version to current master fixes the socket tests which have been failing on linux for quite some times
20:48 moritz jnthn: and the readline stuff seems to be fixed too
20:48 moritz jnthn: any objections to bumping?
20:48 jnthn moritz: I was a tad nervous about doing it this side of the release.
20:49 jnthn moritz: How confident are you the readline issues are gone?
20:49 jnthn The release is tomorrow which gives little time for feedback...
20:49 moritz jnthn: I had them on my machine; I don't have them now with current parrot
20:49 jnthn OK
20:50 moritz jnthn: and pmichaud++ had constructed a pure-PIR test case, which also succeeds now
20:50 jnthn I guess if we find they're still there in the coming days we can cut a point release or just ship an earlier Parrot for Star.
20:51 jnthn Do you think we're better of bumping it?
20:51 FROGGS release early release often...
20:51 * jnthn is really tired and not particularly a good person to be making decisions about anything this evening... :)
20:54 moritz jnthn: well, I'd like to bump the version because that fixes the socket behavior
20:54 moritz otoh the modules might have adapted to the brokenness
20:55 * moritz isn't fit for decisions either
20:55 jnthn Hm
20:55 jnthn Well, modules would need fixing before the Star release.
20:55 jnthn I dunno who'll be making that.
20:55 jnthn If it's me, it won't be happening extremely soon due to grueling teaching/conference schedule.
20:56 jnthn moritz: Anyway, I'm comfortable with whatever you feel is the Best thing.
20:57 tipdbmp What's the inverse of :<base>("base_number"), which converts a the number to base 10, i.e given a number in base 10 convert it to base <base> = 2 .. 26?
20:57 [Coke] the best thing? something about lamentations.
20:59 arnsholt When's the next star release again?
20:59 tipdbmp The sprintf "%x|o|b" could convert for base 16, 8, and 2 but what about the rest?
21:00 moritz r: say 32.base(12)
21:00 p6eval rakudo bf472b: OUTPUT«28␤»
21:01 FROGGS arnsholt: I'd say in a week since the 2012.10 is 23 days old
21:02 moritz arnsholt: typically "a few days after the compiler release, but before the end of the month"
21:02 tipdbmp tnx =)
21:02 arnsholt Right. In that case, I'd vote for holding off on the Parrot bump until the Star release is done
21:02 moritz it's probably the more sensible thing to do
21:02 arnsholt Fixing the modules on short notice, especially with the long US weekend coming up, is probably not something anyone wants
21:03 FROGGS why not bumping parrots version right after release?
21:03 FROGGS I mean, right after tomorrow
21:03 moritz that's fine too
21:03 FROGGS but hmmm
21:04 FROGGS if then somebody fixes a module than its crap again if you use the release version of rakudo
21:04 FROGGS cant do it right
21:04 moritz but then there's the risk that module authors use bleading rakudo and fix their modules... right
21:04 moritz so, doesn't hurt to wait until after the star release
21:04 FROGGS k
21:05 FROGGS can you put the rakudo version in a module like: use 5.14 ?
21:05 moritz no :(
21:05 FROGGS k, expected that ;o)
21:06 FROGGS is there a version check at all? (between modules)
21:06 moritz no
21:06 FROGGS k
21:06 moritz we had some module versioning in pre-nom days
21:06 moritz but nobody used it, because we had no tooling for it
21:08 am0c joined #perl6
21:10 FROGGS cool, finally the whole spectest passes
21:16 jnthn .oO( accidentally? )
21:18 Kharec joined #perl6
21:18 arnsholt I sort of have a feeling we want to spec some kind of facility that installs and registers a file so that it can be loaded with require and friends
21:19 kurahaupo joined #perl6
21:19 arnsholt A touch of hedge overflow there, but oh well
21:20 FROGGS there are file in t/spec/packages
21:20 FROGGS files
21:22 * grondilu rewrote http://rosettacode.org/wiki/Wireworld#Perl_6 which was broken
21:24 moritz grondilu++
21:41 lue r: my @a = 2,3,4; my %h; %h.push(1=>@a); say %h.perl; @a = Nil; say %h.perl;
21:41 p6eval rakudo bf472b: OUTPUT«("1" => [2, 3, 4]).hash␤("1" => []).hash␤»
21:42 lue I'm sure I've misunderstood something here.
21:44 moritz r: my @a = 2, 3, 4; my %h; %h.push(1 => $_) for @a; say %h.perl; @a = Nil; say %h.perl
21:44 p6eval rakudo bf472b: OUTPUT«("1" => [2, 3, 4]).hash␤("1" => [2, 3, 4]).hash␤»
21:44 moritz lue: in your code there's no operation that would copy/clone @a, so the one in the hash is the same as outside
21:45 lue Thanks moritz! (Just didn't expect => @a to act more like := than =)
21:45 popl joined #perl6
21:46 hugeAPLfan1 joined #perl6
21:48 masak grondilu: if you do postfix:<++> (and print the initial $world before the loop), don't you get two identical ones as output?
21:49 grondilu masak: I don't think so.  Perl6 does not distinguish ++$_ and $_++, does it?  It's actually always ++$_, iirc
21:50 masak surely not.
21:50 grondilu r: my $x; say $x++;
21:50 p6eval rakudo bf472b: OUTPUT«0␤»
21:50 masak r: say my $a = 5; say $a++ for ^3
21:50 p6eval rakudo bf472b: OUTPUT«5␤5␤6␤7␤»
21:50 masak r: say my $a = 5; say ++$a for ^3
21:50 p6eval rakudo bf472b: OUTPUT«5␤6␤7␤8␤»
21:51 grondilu hum...  Where on earth did I get this silly idea?
21:51 grondilu eval: my $x; say $x++;
21:51 buubot_backup grondilu: ERROR: Can't call method "say" on an undefined value at (eval 20) line 1.
21:51 masak grondilu: but my question was more simple than that.
21:51 grondilu eval: my $x; print $x++;
21:51 buubot_backup grondilu: 01
21:51 masak grondilu: wasn't your *actual* output a duplication of the first state?
21:51 masak (or did you not run the program?)
21:52 masak eval: my $x; $x++
21:52 buubot_backup masak: 0
21:52 grondilu masak: I did run the program and pasted the exact output, iirc
21:52 * grondilu does it again
21:54 jnthn 'night, #perl6
21:54 grondilu well, there is no duplication.  Not sure if it's normal.
21:54 FROGGS night jnthn
21:55 geekosaur joined #perl6
21:57 benabik joined #perl6
21:58 grondilu masak: when defining .succ on a base class, I'm not sure postfix:<++> is supposed to be smart enough to return the instance as it was *before* the .succ call.
21:58 masak yes, it is.
21:58 grondilu well it did not in this example.  I tried twice.
21:59 masak I think the problem is that you're returning self from .succ, rather than a cloned object.
21:59 masak so it's you who are violating the implicit protocol of .succ
21:59 grondilu ok
21:59 grondilu I tried using LEAVE but it failed for some reason
21:59 masak I don't see the connection between succ and LEAVE.
22:00 grondilu method succ { return self; LEAVE { ... } }
22:00 masak what you want to do is return a new object, and leave self untouched.
22:00 grondilu really?
22:00 masak I have no idea why you'd use LEAVE that way.
22:00 masak really.
22:00 benabik 1.succ should return 2, not increment 1.
22:00 masak .succ is a query, not a command.
22:00 grondilu oh
22:01 grondilu it has no side-effect?
22:01 masak correct.
22:01 grondilu ok, I understand now :)
22:02 am0c joined #perl6
22:09 grondilu ok.  Now indeed it does duplicate the first step.
22:10 masak \o/
22:13 grondilu this programm is still much more complicated than the P5 version.  It's not quite satisfiying, imho
22:14 grondilu (but now at least it works)
22:14 masak if you want simplicity, don't put things in a class ;)
22:14 grondilu indeed
22:14 ifim joined #perl6
22:15 masak after all, the core data structure is an array of strings.
22:15 benabik Classes are about re-use, not simplicity.
22:15 masak roles are about re-use (in Perl 6). :)
22:15 masak classes are about encapsulation.
22:16 grondilu aren't classes about instanciation?
22:18 * masak .oO( and an almost fanatical devotion to the pope )
22:21 sergot hi o/
22:23 ifim \o
22:24 huf hmm, where are you from, grondilu?
22:25 ifim I think we can agree than OOP as a whole is about dirty business
22:25 popl We're all from the Internet here, huf.
22:25 popl Come on down. We all float down here.
22:26 huf oh, i was just curious which language caused the c in "instanciation"
22:28 ifim instantiation in Spanish is instanciación
22:29 grondilu huf: France, why?  (funny it's the second time in a week someone asks me this on this channel)
22:29 huf oh, spanish too?
22:29 huf hmm...
22:29 popl el boligrafo # My Spanish is A++
22:30 grondilu in french:  instance => instanciation.   But now, I have some doubts...
22:30 huf what sound does the c make?
22:30 grondilu same sound
22:31 popl ssss
22:31 ifim popl: *bolígrafo (A++)-- :p
22:31 * grondilu just checked the spelling of the word here:  https://fr.wikipedia.org/wiki/Instance_(programmation)
22:31 popl ifim: My keyboard won't do that without coaxing.
22:31 huf oh okay then :)
22:31 popl ifim: Even our typing is Americanized. :D
22:35 masak I've seen some Germans make the "instanciation" typo, too.
22:36 huf i got confused for a second between sounds and letters, and initially wanted to know who else writes "ts" with a c
22:37 grondilu I think slavic languages pronounce c as "ts"
22:38 ifim instance comes from the latin word "instantia"
22:39 * lue for one can't get the word "instantiation" to stop sounding weird in his head.
22:39 * grondilu checks the french spelling in an other source
22:40 spider-mario ifim: http://fr.wiktionary.org/wiki/instanciation
22:40 spider-mario oh, another source.
22:40 spider-mario sorry.
22:41 rurban thanks to moritz for reminding me to bump a parrot release. not much parrot changes, pretty stable. threads need more nqp changes, so we did not include it yet, but please test nqp with threads so we can fix the remaining nqp bugs with threads. we consider threads stable enough to be merged.
22:41 grondilu http://dictionary.reverso.net/french-definition/instanciation
22:41 grondilu So I don't know why we use a 'c' in french.  Go figure.
22:42 spider-mario well, instance.
22:43 grondilu yeah but if it comes from 'instantia', there is no reason we could not write "instantiation"
22:44 ifim grondilu: anglos got that word better than us
22:44 grondilu oh I remember now.  't' can not be pronounced as 's' when it follows one conson.  That's probably the reson.
22:44 grondilu *reason
22:44 spider-mario I don’t think so
22:44 spider-mario « concurrentiel »
22:44 grondilu indeed
22:45 spider-mario (or « différentiel », which I like better)
22:45 grondilu I totally forgot the rule then.  But there is definitely one.
22:45 spider-mario (or « potentiel »)
22:45 spider-mario « initiation »
22:45 grondilu Might be about the number of voyels that follow 't'
22:46 spider-mario « différentiation » looks a little like “instantiation”
22:46 spider-mario except for the e instead of the a
22:47 grondilu true
22:47 grondilu maybe 't' becomes 's' when followed by two voyels??
22:48 grondilu (but instantiation would be an acceptable spelling)
22:48 grondilu *(but then)
22:48 masak I think it comes down to Latin consonant rules when conjugating verbs.
22:52 FROGGS masak: got time to look at https://github.com/rakudo/rakudo/pull/87 ?
22:54 masak sure.
22:54 FROGGS coll
22:54 FROGGS err, cool
22:54 masak FROGGS: is it fixing some RT ticket I should also look at?
22:55 masak oh, nvm.
22:55 masak it's linked from the commit.
22:55 FROGGS ;o)
22:56 masak is this correlated with the fix STD applied?
22:56 masak std: do { } for 1
22:56 p6eval std d38bbd0: OUTPUT«ok 00:00 43m␤»
22:56 masak seems not.
22:56 masak I think I'd prefer a fix that did what STD did to fix this.
22:56 cognominal joined #perl6
22:57 masak seeing as STD's behavior has changed.
22:59 FROGGS well, is there a do...for ? I thought not
22:59 FROGGS std: repeat { } for 1
22:59 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤"repeat" is missing its "while" or "until" at /tmp/07oxU2N9I9 line 1:â�¤------> [32mrepeat { } [33mâ��[31mfor 1[0mâ�¤    expecting any of:â�¤    horizontal whitespaceâ�¤  statement_controlâ�¤Parse failedâ�¤FAILED 00:00 42mâ�¤Â»
22:59 FROGGS at least that is/was still the same
22:59 FROGGS std: repeat { say 42 } for 1
22:59 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤"repeat" is missing its "while" or "until" at /tmp/37dAw4hTTF line 1:â�¤------> [32mrepeat { say 42 } [33mâ��[31mfor 1[0mâ�¤    expecting any of:â�¤     horizontal whitespaceâ�¤  statement_controlâ�¤Parse failedâ�¤FAILED 00:00 42mâ�¤Â»
22:59 FROGGS std: do { say 42 } for 1
22:59 p6eval std d38bbd0: OUTPUT«ok 00:00 43m␤»
23:00 FROGGS w/e
23:00 masak I think that's correct, actually. 'do' just makes an expression out of a block or statement.
23:01 FROGGS r: do { say 42 }
23:01 p6eval rakudo bf472b: OUTPUT«42␤»
23:01 FROGGS r: do { say 42 } while my $i++ < 5
23:01 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Unable to parse expression in circumfix:sym<ang>; couldn't find final '>' at line 2, near ""␤»
23:02 dedis0 joined #perl6
23:02 FROGGS r: my $i = 0; do { say 42; $i++ } while $i < 5
23:02 p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Unsupported use of do...while;  in Perl 6 please use repeat...while␤at /tmp/eKmHVqwkQC:1␤»
23:04 FROGGS n: my $i = 0; do { say 42; $i++ } while $i < 5
23:04 p6eval niecza v22-36-g19fa03a: OUTPUT«[31m===[0mSORRY![31m===[0m��Unsupported use of do...while; in Perl 6 please use repeat...while at /tmp/EvkrdgzwYi line 1 (EOF):�------> [32m$i = 0; do { say 42; $i++ } while $i < 5[33m�[31m<EOL>[0m��Parse failed��»
23:05 aloha joined #perl6
23:06 masak 'night, #perl6
23:07 FROGGS gnight
23:11 kurahaupo joined #perl6
23:17 lue joined #perl6
23:21 kurahaupo joined #perl6
23:30 kurahaupo joined #perl6
23:35 skids joined #perl6
23:54 kurahaupo left #perl6
23:55 kurahaupo joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo