Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-03-08

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:18 Mouq joined #perl6
00:18 Mouq o/
00:22 lue \o
00:23 jnthn o/ Mouq
00:23 skids joined #perl6
00:24 TimToady o/ o\ o/ o\ o/
00:26 LLamaRider joined #perl6
00:39 BenGoldberg . o O ( TimToady is clearly waving... )
00:39 BenGoldberg o// \\o o// \\o o// \\o
00:39 * BenGoldberg is doing the wave ;)
00:39 Mouq ~o~
00:40 TimToady what's that, the hula?
00:40 BenGoldberg . o O ( Mouq is doing the egiptian )
00:40 * BenGoldberg can't spell.
00:41 TimToady ┌o┘
00:41 BenGoldberg hahahaha
00:54 timotimo i want to build a mumps compiler on top of NQP, who's with me?
00:55 timotimo we'd call it MUMPerl6S
00:55 TimToady Harlan Stenn would be interested.
00:59 timotimo i don't understand that comment
00:59 TimToady an acquaintance of mine from Way Back who loved MUMPS
00:59 timotimo is that the same Harlan Stenn who is responsible for NTP and stuff?
01:00 TimToady prolly
01:00 timotimo mhm
01:00 timotimo i'm not sure if i would be able to love MUMPS
01:00 timotimo it has some features that seem unfit for anything but the shooting of one's own feet
01:16 BenGoldberg Where can I get some bulletproof shoes?
01:16 TimToady concrete galoshes would work
01:18 timotimo galoshes are these dutch wooden shoes?
01:18 TimToady no, rubber rain overshoes, but concrete galoshes are...something else...
01:18 BenGoldberg No, those are sabo
01:19 BenGoldberg Err, sabo are those dutch wooden shoes
01:19 timotimo are those the ones the mafia gift to you when they are not quite happy with what you've done or not done?
01:19 BenGoldberg When you throw them into machinery, it's called sabotage.
01:19 dalek rakudo/nom: e2d1403 | Mouq++ | src/Perl6/Actions.nqp:
01:19 dalek rakudo/nom: Numbers put into @.meta from E<> should become Ints, not Strs
01:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e2d1403a2e
01:19 dalek rakudo/nom: db8bb75 | Mouq++ | src/Perl6/Grammar.nqp:
01:19 dalek rakudo/nom: Use correct parsing for Unicode names and HTML5 entity names in E<>
01:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/db8bb75535
01:19 Mouq And: https://github.com/perl6/Pod-To-HTML/commit/24450052bd7d45607f840167b009420cb7ddad10
01:20 TimToady see http://en.wikipedia.org/wiki/Cement_shoes
01:21 Mouq Now to fix Pod::To::Text
01:21 timotimo i must say i imagine that treatment to be thoroughly uncomfortable and unenjoyable
01:25 * BenGoldberg has trouble imagining an evil villian having the patience to wait for his victim's concrete shoes to harden.
01:26 timotimo laughing gets you pretty dizzy real soon, in my experience
01:33 timotimo hm. Tk seems like a pretty simple thing to build a binding to, but its API is ... "den umständen entsprechend"
01:34 Mouq m: say "\n".&uniname
01:34 camelia rakudo-moar b38572: OUTPUT«LINE FEED (LF)␤»
01:40 * TimToady remembers Nick Ing-Simmons, who did the Tk bindings to P5, RIP
01:40 BenGoldberg My advice to Tk binding .... follow the route of Tkx.pm and Tcl.pm
01:45 benabik joined #perl6
01:47 Mouq [Coke]++: What's your plan in terms of mojo6 development?
01:47 timotimo hm, so tkx basically wraps a tcl interpreter and translates commands from perl to tcl in a very slim manner
01:53 dalek rakudo/nom: 798ebde | Mouq++ | CREDITS:
01:53 dalek rakudo/nom: Sort CREDITS and add self
01:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/798ebdedc5
01:53 timotimo Mouq++ :)
01:54 BenGoldberg Right, and that way, the documentation for Tcl and Tk can be used pretty much as-is.
01:55 timotimo and there's probably not a whole lot of code that needs to be written for the binding?
01:55 BenGoldberg Not to mention, the perl bits need very little updating, even if the Tcl binary changes.
01:56 timotimo http://cpansearch.perl.org/src/GAAS/Tkx-1.07/Tkx.pm  -  is this really all of it?!?
01:57 timotimo oh, "use Tcl" is probably a big part of the reason why it's really not much code
01:57 timotimo http://cpansearch.perl.org/src/VKON/Tcl-1.02/Tcl.pm  -  also not a whole lot of code
01:59 geekosaur perl/tk was very clever and the first time I had to poke at the code to see why it wouldn't build after a tcl upgrade I wanted to kill the author
02:00 timotimo :D
02:00 timotimo (not quite as amusing right now, as the author is actually deceased, if i understood TimToady's comment)
02:01 geekosaur yeh
02:17 klapperl joined #perl6
02:18 benabik joined #perl6
02:18 FROGGS_ joined #perl6
02:19 Sqirrel joined #perl6
02:20 Mouq Does Rakudo have an export-if-ya'-want-to syntax yet?
02:21 Mouq I.e. Does `sub bop is export(:ALL)` from the spec work?
02:21 jnthn Mouq: Think so
02:22 Mouq jnthn: k, thx. I guess I'll be testing it soon enough
02:32 Mouq p6: say "abcd" lt "bcde"; say "abcd" ~< "bcde"
02:32 camelia niecza v24-109-g48a8de3: OUTPUT«True␤Unhandled exception: Buffer bitops NYI␤  at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3563 (infix:<~<> @ 4) ␤  at /tmp/tmpfile line 1 (mainline @ 5) ␤  at /home/p6eval/niecz…»
02:32 camelia ..rakudo-moar 798ebd: OUTPUT«True␤Cannot call 'infix:<~<>'; none of these signatures match:␤:(Str:D \a, Int:D \b --> Str)␤:(str $a, int $b)␤  in sub infix:<~<> at src/gen/m-CORE.setting:6682␤  in block  at /tmp/tmpfile:1␤␤»
02:32 camelia ..rakudo-jvm 798ebd: OUTPUT«Error while reading '/home/p6eval_eval/p6eval-token': No such file or directory at /home/p6eval/jvm-rakudo/eval-client.pl line 10.␤»
02:32 camelia ..rakudo-parrot 798ebd: OUTPUT«True␤Cannot call 'infix:<~<>'; none of these signatures match:␤:(Str:D \a, Int:D \b --> Str)␤:(str $a, int $b)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in sub infix:<~<> at gen/parrot/CORE.settin…»
02:33 Mouq p6: say "abcd" ~< 5
02:33 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Buffer bitops NYI␤  at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3563 (infix:<~<> @ 4) ␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/C…»
02:33 camelia ..rakudo-jvm 798ebd: OUTPUT«Error while reading '/home/p6eval_eval/p6eval-token': Permission denied at /home/p6eval/jvm-rakudo/eval-client.pl line 10.␤»
02:33 camelia ..rakudo-parrot 798ebd: OUTPUT«infix:«~<» not yet implemented. Sorry. ␤  in sub infix:<~<> at gen/parrot/CORE.setting:6687␤  in sub infix:<~<> at gen/parrot/CORE.setting:6686␤  in block  at /tmp/tmpfile:1␤␤»
02:33 camelia ..rakudo-moar 798ebd: OUTPUT«infix:«~<» not yet implemented. Sorry. ␤  in sub infix:<~<> at src/gen/m-CORE.setting:6683␤  in sub infix:<~<> at src/gen/m-CORE.setting:6682␤  in block  at /tmp/tmpfile:1␤␤»
02:33 Mouq -_-
02:38 BenGoldberg p6: say "abcd" ~lt "bcde"
02:38 camelia rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    lt used at line 1. Did you mean 'lc'?â�¤â�¤Â»
02:38 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤    'lt' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_un…»
02:39 BenGoldberg p6: say [~lt] "abc", "def"
02:39 camelia rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay [~lt] [33mâ��[31m"abc", "def"[0mâ�¤    expecting any of:â�¤        postfixâ�¤        i…»
02:39 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Two terms in a row (preceding is not a valid reduce operator) at /tmp/tmpfile line 1:â�¤------> [32msay [~lt] [33mâ��[31m"abc", "def"[0mâ�¤â�¤Undeclared routine:â�¤  'lt' used at line 1â�¤â�¤Parse failedâ�¤â�¤Â»
02:39 PerlJam um ... what do you expect ~lt to mean?
02:40 timotimo "lt" is already string-operation
02:40 timotimo (because it's letters rather than symbols)
02:43 BenGoldberg Ehh, honestly, I'm not sure :
02:45 BenGoldberg :
02:45 BenGoldberg )
02:45 hoverboard joined #perl6
02:45 timotimo i think it's time for me to go to bed
02:45 timotimo gnite #perl6
02:45 colomon \o
02:46 JimmyZ good night, timotimo
03:23 hoverboard joined #perl6
03:49 PerlJam joined #perl6
03:53 Mouq So... There's no way... to run a shell command and get its output? o_o
03:54 Mouq In Perl 6?
03:54 Mouq I mean, you can pipe the output of the command to a tempfile and read from the file, but....
03:54 JimmyZ qx// ?
03:54 Mouq Oh, wait is that qx?
03:55 Mouq JimmyZ: Yeah...
03:55 Mouq Thank you
03:55 * Mouq feels dumb
04:07 dalek nqp: 1863ae2 | larry++ | tools/build/MOAR_REVISION:
04:07 dalek nqp: seems stable, bump MOAR revision
04:07 dalek nqp: review: https://github.com/perl6/nqp/commit/1863ae266d
04:08 dalek rakudo/nom: 432718f | larry++ | t/spectest.data:
04:08 dalek rakudo/nom: add unimatch tests for general categories
04:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/432718f911
04:08 dalek rakudo/nom: b09aa92 | larry++ | tools/build/NQP_REVISION:
04:08 dalek rakudo/nom: bump NQP revision
04:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b09aa925b8
04:08 Mouq r: say '&abcd' ~~ /$_.key/ given '&abcd' => 1
04:08 camelia rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«Nil␤»
04:08 TimToady er, why is nom adding tests?
04:09 Mouq r: say '&abcd' ~~ /<{$_.key}>/ given '&abcd' => 1
04:09 camelia rakudo-parrot 798ebd: OUTPUT«No such method 'key' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
04:09 camelia ..rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«Nil␤»
04:09 TimToady oh, spectest.data
04:10 Mouq r: say '&abcd' ~~ (my$a=.key&&/$a/) given '&abcd' => 1
04:10 camelia rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«No such method 'key' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
04:10 Mouq r: say '&abcd' ~~ (my$a=.key&&/$a/) given ('&abcd' => 1)
04:10 camelia rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«No such method 'key' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
04:10 Mouq hm
04:10 Mouq I'll stop spamming
04:15 Mouq Oh, it's thunking the RHS of the ~~ ?
04:16 Mouq and making $_ = "&abcd"
04:21 Mouq p6: {a=>42,lkml=>23,kklk=>21}.map: {.say; rx/{1.say}/ }
04:22 camelia rakudo-jvm 798ebd: OUTPUT«"kklk" => 21␤"a" => 42␤"lkml" => 23␤»
04:22 camelia ..rakudo-parrot 798ebd, rakudo-moar 798ebd, niecza v24-109-g48a8de3: OUTPUT«"a" => 42␤"lkml" => 23␤"kklk" => 21␤»
04:22 Mouq p6: {a=>42,lkml=>23,kklk=>21}.map: {.say; 'alkmlkklk'~~rx/{1.say}/ }
04:22 camelia rakudo-jvm 798ebd: OUTPUT«"kklk" => 21␤1␤"a" => 42␤1␤"lkml" => 23␤1␤»
04:22 camelia ..rakudo-parrot 798ebd, rakudo-moar 798ebd, niecza v24-109-g48a8de3: OUTPUT«"a" => 42␤1␤"lkml" => 23␤1␤"kklk" => 21␤1␤»
04:22 dalek features: 55fe624 | larry++ | features.json:
04:22 dalek features: r-m now supports REPL and run/qx
04:22 dalek features: review: https://github.com/perl6/features/commit/55fe624035
04:24 * Mouq figured it out
04:24 Mouq p6: "alkmlkklk".match($_) for eager {a=>42,lkml=>23,kklk=>21}.map({.say; rx/{.say}/ })
04:24 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤    'eager' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp…»
04:24 camelia ..rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«"a" => 42␤"a" => 42␤"lkml" => 23␤"lkml" => 23␤"kklk" => 21␤"kklk" => 21␤»
04:25 Mouq *eager doesn't matter
04:27 Mouq And the rx// I wanted was rx/:my$x=.key;$x/
04:49 lue Remember that issue I had with high PUA characters not working inside <-[]> ? I discovered it's because those chars are seen as whitespace (for some reason?), and it reveals a more general issue:
04:50 lue nqp: say("a" ~~ /<-[ ]>/)  # match one not-U+0020
04:50 Mouq lue: :/ That makes sense, but I'm sorry
04:50 camelia nqp-parrot: OUTPUT«Error while compiling op callmethod: StopIteration␤current instr.: '' pc 57002 (gen/parrot/stage2/QAST.pir:21033) (gen/parrot/stage2/QAST.nqp:3629)␤»
04:50 camelia ..nqp-jvm: OUTPUT«Error while compiling op call (source text: "\"a\" ~~ /<-[ ]>/"): Method 'jast' not found for invocant of class 'NQPMu'␤  in  (gen/jvm/stage2/QAST.nqp:3808)␤  in as_jast (gen/jvm/stage2/QAST.nqp:3805)␤  in as_jast (gen/jvm/stage2/QAST.nqp:2974)␤  in  (gen/jvm…»
04:50 camelia ..nqp-moarvm: OUTPUT«Error while compiling op callmethod: Iteration past end of iterator␤   at gen/moar/stage2/QAST.nqp:4471  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/QAST.moarvm::17)␤ from gen/moar/stage2/QAST.nqp:4470  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/QAST.moar…»
04:53 lue Huh, I thought it was a moar issue, turns out it's an NQP issue.
04:54 * Mouq guesses there's check missing in src/QRegex/P6Regex
04:54 Mouq *a
04:55 dalek roast: 1fb3aff | larry++ | S15-unicode-information/unival.t:
04:55 dalek roast: add unival tests
04:55 dalek roast: review: https://github.com/perl6/roast/commit/1fb3affb2b
04:56 dalek rakudo/nom: 13de5d7 | larry++ | t/spectest.data:
04:56 dalek rakudo/nom: add unival tests for moar
04:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/13de5d7096
04:56 Mouq m: say "some &zwj".trans: |{'&zwj;'=>[120015]}.map: {; rx/:my$k=.key;$k/ => .value[]».chr.join }
04:56 camelia rakudo-moar 798ebd: OUTPUT«some &zwj␤»
04:56 lue For some weird reason, every nqp breaks on trying to match not-space, but only moar breaks on high-codepoint PUA. Hm :/
04:57 lue n: say("a" ~~ /<-[ ]>/)
04:57 camelia niecza v24-109-g48a8de3: OUTPUT«「a」␤␤»
04:57 lue n: say("a" ~~ /<-[????]>/)
04:57 camelia niecza v24-109-g48a8de3: OUTPUT«「a」␤␤»
04:59 Mouq m: say "some &zwj;".trans: |{'&zwj;'=>[120015]}.map: {; rx/:my$k=.key;$k/ => .value[]».chr.join }
04:59 camelia rakudo-moar 798ebd: OUTPUT«some ????␤»
04:59 Mouq duh
05:02 Mouq use Module :ALL; and sub abcd() is export(:ALL) {} do work, btw :D
05:14 JimmyZ m: say unival('兆')
05:14 camelia rakudo-moar 798ebd: OUTPUT«1000000000000␤»
05:14 JimmyZ m: say unival('贰')
05:14 camelia rakudo-moar 798ebd: OUTPUT«2␤»
05:16 JimmyZ m: say unival('加')
05:16 camelia rakudo-moar 798ebd: OUTPUT«NaN␤»
05:17 JimmyZ m: say unival('陆')
05:17 camelia rakudo-moar 798ebd: OUTPUT«6␤»
05:21 TimToady is 加 supposed to have a value?
05:21 TimToady I just think of it as "addition"
05:24 TimToady I note that there is some disagreement on the definition of 兆 :)
05:24 TimToady "a significant amount"  :)
05:29 dalek ecosystem: 83ba27f | Mouq++ | META.list:
05:29 dalek ecosystem: Add HTML::Entity
05:29 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/83ba27f184
05:39 Mouq r: ' ' ~~ /<[\x20]>
05:39 camelia rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Regex not terminatedâ�¤at /tmp/tmpfile:1â�¤------> [32m' ' ~~ /<[\x20]>[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        â€¦Â»
05:39 Mouq m: say ' ' ~~ /<[\x20]>/
05:39 camelia rakudo-moar 798ebd: OUTPUT«「 」␤␤»
05:41 JimmyZ TimToady: moar is right
05:41 lue m: say 'a' ~~ /<-[\x20]>/
05:41 camelia rakudo-moar 798ebd: OUTPUT«「a」␤␤»
05:41 TimToady whew!
05:42 lue m: say 'a' ~~ /<-[\x10FFFC]>/
05:42 camelia rakudo-moar 798ebd: OUTPUT«「a」␤␤»
05:42 lue m: say 'x' ~~ /<-[\x10FFFC]>/
05:42 camelia rakudo-moar 798ebd: OUTPUT«「x」␤␤»
05:43 JimmyZ m: say unival('①')
05:43 camelia rakudo-moar 798ebd: OUTPUT«1␤»
05:43 JimmyZ m: say unival(Ⅲ')
05:44 camelia rakudo-moar 798ebd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hNVaBOvxqIâ�¤Unable to parse expression in argument list; couldn't find final ')' â�¤at /tmp/hNVaBOvxqI:1â�¤------> [32msay unival([33mâ��[31mâ…¢')[0mâ�¤    expecting any of:â�¤        argument …»
05:44 JimmyZ m: say unival'(Ⅲ')
05:44 camelia rakudo-moar 798ebd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/AvNAqGAlt7â�¤Two terms in a rowâ�¤at /tmp/AvNAqGAlt7:1â�¤------> [32msay unival[33mâ��[31m'(â…¢')[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤ …»
05:44 JimmyZ m: say unival('Ⅲ')
05:44 camelia rakudo-moar 798ebd: OUTPUT«3␤»
05:45 lue Mouq: that's interesting, using \x inside <-[]> didn't work before, that's why I used the literal character at all.
05:45 Mouq lue: vOv
05:46 Mouq lue: I need it for a grammar I'm working on
05:57 lue All it means is that I have a way of running syngen on perl6-m again :) .
05:57 Mouq m: "ab" ~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}/
05:57 camelia rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/9i2x5N4pInâ�¤Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' â�¤at /tmp/9i2x5N4pIn:1â�¤------> [32m~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}[33mâ��[31m/[0mâ�¤    expectin…»
05:57 Mouq m: "ab" ~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}]/
05:57 Mouq m: "aq" ~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}]/
05:57 camelia rakudo-moar 13de5d: ( no output )
05:57 camelia rakudo-moar 13de5d: OUTPUT«No such method 'worry' for invocant of type 'Cursor'␤  in block  at /tmp/5YdzzWDky9:1␤␤»
05:58 Mouq Oh, I can just `warn` *facepalm
05:58 Mouq *
05:58 Mouq *doublefacepalm*
05:59 TimToady It's only, what, 1am.  What's the matter with you?
06:00 lue Is there a file I can slurp from camelia, by any chance? Or is $*IN all I have?
06:02 lue nevermind, finally found the problem
06:03 lue r: my $a = "XYZ"; say " XYZ" ~~ m:c(0)/<|s> $a <|s>/;    say " XYZ" ~~ m:c(1)/<|s> $a <|s>/;
06:03 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«「XYZ」␤␤「XYZ」␤␤»
06:03 lue r: given "XYZ" { say " XYZ" ~~ m:c(0)/<|s> $_ <|s>/;    say " XYZ" ~~ m:c(1)/<|s> $_ <|s>/ }
06:03 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«「 XYZ」␤␤False␤»
06:04 lue That bug is why I've been frustrated with my program for all of today :/
06:05 lue Good thing I can workaround by assigning to a variable in the for loop, but still.
06:06 Mouq lue: You can solve it by using match() instead
06:06 lue ( Notice that m:c(0) with $_ matches a space it shouldn't, making that wrong too ( though less so that :c(non-zero int) ) )
06:06 lue Mouq: ?
06:07 Mouq e.g. " XYZ".match(:!c, /<|s> $_ <|s>/)
06:07 Mouq OH
06:07 Mouq I'm really off base
06:07 lue Mouq: why should match() work different than m// ?
06:08 * Mouq just stops trying to help :P
06:08 xenoterracide joined #perl6
06:08 Mouq I was having an issue earlier while trying to use $_ in a regex where the LHS of ~~ was thunked and the RHS was assigned as $_. Or something.
06:09 Mouq ERM
06:09 Mouq -_-
06:09 Mouq *RHS -> LHS, LHS -> RHS
06:09 Mouq no
06:09 Mouq yeah
06:09 Mouq no
06:09 Mouq omg
06:10 Mouq I'm going to bed.
06:10 Mouq 'night #perl6
06:10 lue r: given "XYZ" { say " XYZ".match(:c(0), /<|s> $_ <|s>/);    say " XYZ".match(:c(1), /<|s> $_ <|s>/) }
06:10 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«「XYZ」␤␤「XYZ」␤␤»
06:10 lue O_O
06:11 TimToady .match doesn't topicalize as ~~ does
06:12 lue .tell Mouq: fwiw, .match does in fact work where ~~ m// doesn't :) I think the valuable lesson here is to not ever ever use $_ in regexes, for safety's sake :P
06:12 yoleaux lue: What kind of a name is "Mouq:"?!
06:12 lue .tell Mouq fwiw, .match does in fact work where ~~ m// doesn't :) I think the valuable lesson here is to not ever ever use $_ in regexes, for safety's sake :P
06:12 yoleaux lue: I'll pass your message to Mouq.
06:12 lue .oO(yoleaux should really be smarter about final colons in nicks)
06:14 lue TimToady: I can't think of an immediate reason for ~~ to topicalize within the same statement, but I'm sure it's an obvious benefit when you see the right example. :)
06:29 vincent22 joined #perl6
06:30 dalek perl6-roast-data: 2ad3656 | coke++ | / (6 files):
06:30 dalek perl6-roast-data: today (automated commit)
06:30 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/2ad3656249
06:34 TimToady ah well, forgot to check in spectest.data in time, maybe tomorrow :)
06:37 skids joined #perl6
06:41 [Coke] mouq: step 1, find tuits. I'm crawing through Mojo::Util right now.
06:41 lue I only skimmed S03/Smart Matching, but so far I'm not convinced that ~~ and when should topicalize (I thought when {} operated on an existing $_ anyway; why would it need to retopicalize that $_ ?)
06:45 lue oh, nevermind on 'when', that was me accidentally reading a bit about ~~ as applying to both ~~ and  when  :)
06:55 moritz lue: http://perlgeek.de/blog-en/perl-6/three-functions-of-smartmatch.html
06:56 lue And now I finally realize that this stupid topicalizing thing is what broke the next part of my code too :/
07:01 lue moritz: I never knew m// and friends are supposed to match to the topic. I didn't even know you were allowed to use them on their own.
07:02 lue (I haven't even seen anyone else's Perl 6 script use them on their own either.)
07:04 lue A dedicated matching operator sounds like it would be a desperately needed feature, or alternatively make m// and co. not match against the topic anymore, and then remove topicalization from ~~
07:12 xenoterracide joined #perl6
07:21 lue Hrm. Neither $OUTER::_ nor $CALLER::_ work within the regex, so you just up and lose the previous topic in regexland :/
07:21 darutoko joined #perl6
07:44 lue I'll have to ponder this some more, but I'm definitely not OK with leaving    $text ~~ /$_/    in the state it's in. ♘ #perl6 o/
07:48 virtualsue joined #perl6
08:15 bjz joined #perl6
08:21 rindolf joined #perl6
08:22 tgt joined #perl6
08:49 ggoebel11110 joined #perl6
08:49 DrEeevil joined #perl6
08:51 yath_ joined #perl6
08:51 Gothmog__ joined #perl6
08:55 exodist_ joined #perl6
08:55 Timbus_ joined #perl6
08:56 Bucciarati joined #perl6
08:56 geekosaur joined #perl6
09:02 yakudza joined #perl6
09:03 yogan joined #perl6
09:06 virtualsue joined #perl6
09:08 masak mornin', #perl6
09:09 mhasch hi masak!
09:14 lue joined #perl6
09:15 FROGGS_ morning!
09:15 masak walk &
09:16 moritz \o *
09:26 dalek evalbot: 141ae5b | raydiak++ | lib/EvalbotExecuter.pm:
09:26 dalek evalbot: Fix gist loading
09:26 dalek evalbot: review: https://github.com/perl6/evalbot/commit/141ae5b2e2
09:26 dalek evalbot: 228beb2 | (Tobias Leich)++ | lib/EvalbotExecuter.pm:
09:26 dalek evalbot: Merge pull request #4 from raydiak/master
09:26 dalek evalbot:
09:26 dalek evalbot: Untested attempt to fix gist loading
09:26 dalek evalbot: review: https://github.com/perl6/evalbot/commit/228beb25c7
09:26 FROGGS evalbot: pull
09:26 FROGGS evalbot: restart
09:27 FROGGS hmmm
09:27 FROGGS p6eval: pull
09:27 FROGGS p6eval: restart
09:27 FROGGS damn
09:27 FROGGS evalbot control pull
09:28 camelia (success)
09:28 FROGGS evalbot control restart
09:28 camelia joined #perl6
09:29 FROGGS m: https://gist.github.com/grondilu/6114580
09:29 camelia rakudo-moar 13de5d: OUTPUT«gist not found»
09:29 FROGGS :o(
09:30 [Coke] m: (say 15 X-(1,9) X-(2,5) X-(1,2,3,5,9)).sort.uniq
09:30 camelia rakudo-moar 13de5d: OUTPUT«11 10 9 7 3 8 7 6 4 0 3 2 1 -1 -5 0 -1 -2 -4 -8␤»
09:30 [Coke] m: (say 15 X-(1,9) X-(2,5) X-(1,2,3,5,9)).perl
09:30 camelia rakudo-moar 13de5d: OUTPUT«11 10 9 7 3 8 7 6 4 0 3 2 1 -1 -5 0 -1 -2 -4 -8␤»
09:31 [Coke] m: say (15 X-(1,9) X-(2,5) X-(1,2,3,5,9)).perl #whoops
09:31 camelia rakudo-moar 13de5d: OUTPUT«(11, 10, 9, 7, 3, 8, 7, 6, 4, 0, 3, 2, 1, -1, -5, 0, -1, -2, -4, -8).list␤»
09:32 FROGGS_ joined #perl6
09:34 vincent23 joined #perl6
09:36 Rotwang joined #perl6
09:36 dalek evalbot: 2e98e16 | (Tobias Leich)++ | lib/EvalbotExecuter.pm:
09:36 dalek evalbot: between quotes and space is not a word boundary
09:36 dalek evalbot: review: https://github.com/perl6/evalbot/commit/2e98e16242
09:36 FROGGS_ evalbot control pull
09:36 camelia (success)
09:36 FROGGS_ evalbot control restart
09:37 camelia joined #perl6
09:37 FROGGS_ m: https://gist.github.com/grondilu/6114580
09:38 camelia rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ET2eIDVPOp�Preceding context expects a term, but found infix > instead�at /tmp/ET2eIDVPOp:1�------> [32m ethiop(Complex:D \z, Int:D \n where n >[33m�[31m 0) {[0m�»
09:38 FROGGS_ \o/
09:41 tgt joined #perl6
09:43 vincent23 left #perl6
09:48 vincent23 joined #perl6
09:52 kurahaupo joined #perl6
09:58 lizmat FROGGS++
09:59 timotimo yay
09:59 timotimo o/
10:02 timotimo moritz: has there been a good solution for the problem you described in "the three-fold function of the smart match operator"?
10:08 moritz timotimo: no
10:08 timotimo hmm.
10:09 moritz timotimo: TimToady had the OKness-approach to distinguish between match results and match data
10:09 timotimo oh, i remember that
10:09 timotimo what was the OKness of the OKness proposal?
10:09 moritz and it would have helped, but it wouldn't have addressed the $_ confusion, for example
10:10 moritz well, it went pretty deep into the type system, and thus non-trivial to try out
10:10 moritz and I don't think there was general consensus
10:11 moritz I'm also pretty sure that ideas from that proposal will make it in Perl 6, eventually
10:11 timotimo oh, OK
10:19 timotimo hm. with the memory leak from hashes and frames in gather/take gone on moarvm, shouldn't lue++ get much better memory usage out of the syngen and Pod::To::HTML stuff?
10:30 FROGGS I am thinking about the ecosystems webpage we need in order to upload/register distributions...
10:30 FROGGS I'd like to make it a marketplace, as this is they way to install software in future anyway
10:32 FROGGS so, it would be a page that looks perhaps like the ubuntu software center: new and best rated on the front page, and then the usual way to search for dists
10:32 FROGGS and then, we could even make it possible to sell distributions (games, professional tools etc)
10:33 lizmat FROGGS: and how does CPAN fit in those plans ?
10:33 FROGGS so I am collection thoughts for "marketplace.perl6.org" atm, feel free to give me some :o)
10:34 cognominal joined #perl6
10:34 FROGGS lizmat: do you mean Perl 5's CPAN?
10:34 FROGGS or Perl 6's nonexisting CPAN?
10:34 lizmat well, I see it more as Perl's CPAN (note the absence of #)
10:35 FROGGS well, showing a dist on the CPAN page or the marketplace is just a matter of presentation
10:36 lizmat fwiw, I would like to see the CPAN also be used for Perl 6 distributions
10:36 FROGGS perhaps a marketplace tools (frontend for panda/cpan) makes sense to, to offer a one-click-install
10:36 FROGGS lizmat: yes, I got that
10:36 FROGGS tool*
10:36 FROGGS too*
10:36 FROGGS gah
10:37 lizmat and at the last QA Hackathon it was decided that whenever the Perl 6 community is ready for it
10:37 lizmat PAUSE and CPAN could be made ready for that as well pretty easily
10:37 lizmat I hope we can get that together at the next QA Hackathon, next week
10:37 FROGGS yeah, we need to spec now how stuff goes in a (auto)generated META.info
10:38 lizmat indeed
10:38 FROGGS and that we need a "bundle" target in panda or so
10:38 lizmat and we need to get together with packager such as sno, to make sure rakudo and its modules can be easily packaged
10:38 FROGGS yes
10:38 FROGGS I already have my 2c for that
10:39 lizmat I hope to augment that to a whole euro at least next week  :-)
10:39 FROGGS *g*
10:41 FROGGS btw, the new CompUnitRepo makes it even easier to ship games, because you'd just distribute a start script and and adatabase file that ontains all the modules and media
10:41 FROGGS (which could be encrypted and only be loadable when you've got a valid key and an online connection or so)
10:42 FROGGS timotimo: ^^
10:42 lizmat flexibility was the idea behind CompUnitRepo
10:45 lizmat afk&
10:45 FROGGS yes, and it seems to work out
10:46 tgt joined #perl6
10:52 * jnthn yawns
10:53 FROGGS moin jnthn
10:56 scumdog1 left #perl6
11:12 rindolf joined #perl6
11:13 vincent23 joined #perl6
11:23 nebuchadnezzar joined #perl6
11:23 dmol joined #perl6
11:32 denisboyun joined #perl6
11:47 tgt joined #perl6
12:06 timotimo hey jnthn :)
12:07 jnthn o/ timotimo
12:07 jnthn I've got some more leak fix patches coming that may help CORE.setting comp
12:08 nwc10 does the size reduction affect speed? I'd sort of guess not, because it will mostly be changing from "memory allocated to process but not in CPU cache" to "memory not allocated to process"
12:13 jnthn nwc10: There can be a cache benefit, in so far as bringing newly allocated regions into cache and evicting old ones is more costly than using memory already in cache.
12:15 denisboyun joined #perl6
12:16 nwc10 I was thinking this. Also, leaked memory might have been on part of a cache line, and in-use moeory on the rest of it
12:17 jnthn aye
12:18 nebuchadnezzar joined #perl6
12:22 rindolf joined #perl6
12:28 denis_boyun joined #perl6
12:36 grondilu joined #perl6
12:40 arnsholt joined #perl6
12:46 kaare_ joined #perl6
12:51 tgt joined #perl6
13:09 timotimo at the moment there are massively bigger wins to be had than cache line optimizations
13:09 timotimo i should say "micro-optimizing cache lines"
13:10 timotimo since we use so much ram anyway ...
13:15 timotimo rurban__: can you tell me something about how exactly parrot behaves with regards to memory allocation and especially deallocation?
13:15 timotimo the numbers we get for maxrss on parrot vs moarvm surely can't be correct
13:16 timotimo for example ~600 megabytes for the core setting on moarvm, 1.6 gigabytes on parrot
13:28 moritz parrot uses the total system memory as an indicator for how much memory it can use
13:29 moritz that is, it doesn't GC until that limit is reached
13:29 moritz so it's totally possible that parrot uses much more memory than necessary, if only your machine has "enough" memory
13:33 moritz http://procfs.blogspot.de/2009/03/maxrss.html
14:03 MrUtuber joined #perl6
14:04 MrUtuber left #perl6
14:15 tadzik also, Parrot's GC threshold is settable iirc
14:34 telex joined #perl6
15:19 denis_boyun_ joined #perl6
15:22 xragnar joined #perl6
15:24 fridim__ joined #perl6
15:35 denisboyun joined #perl6
15:45 timotimo if i set parrot's gc threshold to the maxrss of moar, should i expect it to become much slower?
15:46 timotimo (also, how do i tune that parameter?)
15:55 raiph joined #perl6
15:58 ingy r: 5--6
15:58 tadzik --gc-dynamic-threshold=percentage    maximum memory wasted by GC
15:58 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32m5--[33mâ��[31m6[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤   …»
15:58 tadzik timotimo: ^
15:59 ingy r: 5- -6
15:59 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: ( no output )
15:59 ingy r: say 5- -6
16:00 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«11␤»
16:06 ingy r: a=6;say a---6
16:06 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    a used at line 1â�¤â�¤Â»
16:06 ingy r: a=6;say a-- -6
16:06 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    a used at line 1â�¤â�¤Â»
16:06 masak ingy: sigils.
16:06 ingy r: $a=6;say $a-- -6
16:06 masak ingy: read the error message :)
16:06 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '$a' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m$a[33mâ��[31m=6;say $a-- -6[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
16:06 masak ingy: 'my'
16:06 ingy r: my $a=6;say $a-- -6
16:06 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«0␤»
16:06 masak ingy: you've been writing too much Python lately :P
16:07 ingy I wrote that in 10 langs before bed
16:07 masak r: my $a=6;say $a---6
16:07 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«0␤»
16:07 ingy and just woke up
16:07 ingy groggy
16:07 masak r: sub infix:<--->($x, $y) { say "OH HAI!"; 42 }; my $a=6;say $a---6
16:07 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«0␤»
16:07 masak :/
16:07 ingy also can't remember where my local perl6 went :(
16:08 masak I totally expected the above to install an infix:<---> operator...
16:08 masak what am I missing?
16:08 masak oh!
16:08 ingy masak: glad to help
16:08 masak it checks for postfix operators first, and that beats the ordinary LTM competition.
16:08 masak r: sub infix:<--->($x, $y) { say "OH HAI!"; 42 }; my $a=6;say $a --- 6
16:08 FROGGS yeah
16:09 jnthn Right.
16:09 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«OH HAI!␤42␤»
16:09 masak \o/
16:09 jnthn That's why to put spaces around yer infixae.
16:09 masak I can't say I *like* that, but I guess it only punishes people who don't put spaces.
16:09 dalek rakudo/nom: 1aeb7c3 | jnthn++ | src/Perl6/ModuleLoader.nqp:
16:09 dalek rakudo/nom: Fix our-scoped subs precompilation bug on Moar.
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1aeb7c3884
16:09 denis_boyun joined #perl6
16:09 masak I don't see right now why we couldn't LTM between both postfixes and infixes at that point.
16:09 masak we do between prefixes and terms :)
16:09 ingy I want to find a lang where 5--6 works and a--6 does not but a---6 does
16:10 hoelzro jnthn: is that fix for the problem I found?
16:10 ingy and a----6 does
16:10 hoelzro or a different precomp bug?
16:10 jnthn hoelzro: RT#121298
16:10 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121298
16:10 FROGGS hoelzro: it fixes it for moar, but not for jvm
16:10 hoelzro \o/
16:10 FROGGS about jvm:
16:10 FROGGS <jnthn> Aww, too bad. I'd hoped it'd maybe fix it for both.
16:10 FROGGS <jnthn> I guess when JVM adopts the same closure model as Moar then it fixes it...
16:11 hoelzro that's fine with me
16:11 hoelzro I care moar about moar anyway ;)
16:11 jnthn I may try and fix it for JVM before that.
16:11 FROGGS yeah :o)
16:11 jnthn But anyway, it's fixed for Moar now.
16:11 ingy jnthn: where did we build my perl6 that one drunk night in Houston?
16:12 jnthn ingy: On some pairup session
16:12 jnthn .oO( We were drunk? :P )
16:12 * ingy realizes that drunk night (especially in jnthn's company) is fairly redundant
16:14 ingy jnthn: you musta been; I talked you into making a new language with me. right there in the hotel room. our little love-child was conceived!
16:14 * ingy runs away
16:15 masak tell us more
16:15 jnthn You're right. I implemented closures in it. There must have been alcohol.
16:16 * FROGGS guesses that ingy was also naked
16:16 ingy masak: https://github.com/ingydotnet/lingy-proto
16:17 ingy FROGGS: ingy *is* naked
16:17 FROGGS ingy: yes, that fits my expectation :o)
16:17 ingy masak: clone/run that
16:17 TimToady http://rosettacode.org/wiki/Lucky_and_even_lucky_numbers for your delictation, and to distract everyone from distressing mental images :)
16:18 hoelzro FROGGS: if jnthn isn't going to fix that for JVM right away, should a new ticket be filed for the JVM?
16:18 FROGGS hoelzro: we can leave this one open, no?
16:18 FROGGS (and add tests for moar and parrot)
16:19 zakharyas joined #perl6
16:19 hoelzro FROGGS: that's fine too
16:20 dalek Heuristic branch merge: pushed 22 commits to nqp/moar-conc by jnthn
16:20 jnthn Update all the branches!
16:21 guru joined #perl6
16:23 virtualsue joined #perl6
16:24 ingy bash -c 'echo $((5--------6))'
16:24 ingy bash is weird
16:24 * TimToady does not care to trade away future extensibility for the enhance ability to write unreadable code
16:24 TimToady *hanced
16:25 timotimo "@::(lc $howlucky)" >_>
16:25 masak https://github.com/ingydotnet/lingy-proto/blob/master/lingy -- that's a darling little language.
16:25 beastd joined #perl6
16:25 ingy masak: :)
16:26 TimToady timotimo: something went wrong when I tried to stuff it into a hash at 1:30 am, so I left it a symbolic ref :)
16:26 FROGGS damn, I would have to takes notes what is next to do for S11 but my brane hurts :/
16:27 TimToady btw, you *can* do the lucky numbers by nesting greps, one per lucky number sieve, but it gets oh, so slow...
16:27 timotimo FROGGS: how do you even do something like encrypted package databases that require an internet connection?
16:28 timotimo every way i can think of right now would be pretty easy to circumvent
16:28 unclefester2 joined #perl6
16:28 masak TimToady: friends don't let friends nest greps.
16:28 FROGGS timotimo: no idea yet
16:28 FROGGS that was just a random thought
16:29 timotimo mhm
16:29 timotimo i'm wondering how best to implement something like "use Not::Cool"
16:29 timotimo or maybe "no Cool"
16:29 timotimo to prevent operators coercing things on their own accord
16:30 FROGGS btw, would you guys agree that panda should get a "bundle" target, or should that be somewhere else?
16:30 timotimo since there are people who despise such a feature in a language
16:30 timotimo and perl 6 is all about making it your language, so that nobody else understands your code ever :)
16:30 TimToady use Double-Plus-Uncool;
16:30 timotimo FROGGS: what exactly does that do? create a one-file-database, optionally with all dependencies or something?
16:30 timotimo would such a one-file-thingie be invokable directly via ./perl6? that would be cool.
16:31 FROGGS timotimo: create the META.info and zip it up for uploading to PAUSE or so
16:31 TimToady timotimo: how 'bout: supersede Cool is Any {}
16:31 FROGGS timotimo: invoking it only makes sense if it had a binary/script in it that contains a MAIN
16:32 timotimo PAUSE?
16:32 timotimo TimToady: does that work yet?
16:32 TimToady doubt it; augment only partially works
16:32 timotimo i guess we'd have to force all classes that do the role to get refreshed currently?
16:33 TimToady it's not a Role
16:33 FROGGS timotimo: Perl Author Upload SErver
16:33 Rotwang joined #perl6
16:33 TimToady m: say Int.^mro
16:33 camelia rakudo-moar 13de5d: OUTPUT«(Int) (Cool) (Any) (Mu)␤»
16:34 FROGGS timotimo: in fact you upload distributions there, not authors
16:34 timotimo haha
16:34 timotimo that already exists, yes?
16:34 TimToady m: supersede Cool is Any {}; say "42" + 1;
16:34 camelia rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'Cool' is not declared. Did you mean 'Bool'?�at /tmp/AjB4nFF68b:1�------> [32msupersede Cool [33m�[31mis Any {}; say "42" + 1;[0m�Malformed supersede�at /tmp/AjB4nFF68b:1�------> [32msupersede Cool [3…»
16:34 timotimo :(
16:34 TimToady m: supersede class Cool is Any {}; say "42" + 1;
16:34 camelia rakudo-moar 13de5d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/WvWF8XdtsLâ�¤Cannot use 'supersede' with class declarationâ�¤at /tmp/WvWF8XdtsL:1â�¤------> [32msupersede class Cool is Any [33mâ��[31m{}; say "42" + 1;[0mâ�¤    expecting any of:â�¤        scop…»
16:35 timotimo r: say Cool.DUMP;
16:35 FROGGS timotimo: for Perl 5 yes
16:35 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«Cool␤»
16:35 FROGGS timotimo: but there seem to be consesus to make that available for Perl 6 also
16:35 timotimo FROGGS: will they need to implement changes to support our stuff?
16:35 TimToady the other approach would be to reparent all the cool classes
16:35 timotimo that sounds good
16:35 FROGGS timotimo: yes
16:36 TimToady m: say Int.^parents
16:36 camelia rakudo-moar 13de5d: OUTPUT«␤»
16:36 TimToady m: say Int.^parent
16:36 camelia rakudo-moar 13de5d: OUTPUT«No such method 'parent' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block  at /tmp/LXsZz26dV2:1␤␤»
16:36 Ulti n: say 1,3...10
16:36 TimToady m: say Int.^parents[0].WHAT
16:36 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
16:36 camelia rakudo-moar 13de5d: OUTPUT«Nil␤»
16:37 timotimo m: say Int.^mro
16:37 camelia rakudo-moar 13de5d: OUTPUT«(Int) (Cool) (Any) (Mu)␤»
16:38 jnthn TimToady: You need :all with parents
16:38 jnthn TimToady: parents lies, as you spec'd it to :P
16:38 timotimo parents always lie :(
16:38 timotimo they think they know better than you
16:38 FROGGS I AM NOT!
16:40 timotimo hmm. i ought to update my linux mint.
16:40 dalek Heuristic branch merge: pushed 39 commits to rakudo/eleven by FROGGS
16:41 timotimo TimToady: do you have any specific tips for updating linux mint? ISTR you use that, too
16:41 timotimo though maybe you're not using the ubuntu based linux mint?
16:42 Mouq joined #perl6
16:43 * TimToady hasn't tried to upgrade Mint yet, but my understanding is you always have to give it a new partition, because they don't support in-place upgrade
16:43 timotimo yes, that's what i gathered
16:44 timotimo fortunately my backup drive has lots of space left, so i may be able to recover any blunders i may cause
16:46 myfree joined #perl6
16:47 dalek Heuristic branch merge: pushed 118 commits to rakudo/moar-conc by jnthn
16:47 TimToady swish-swash
16:48 TimToady how come there are swashbucklers but no swishbucklers?
16:48 pmurias joined #perl6
16:50 timotimo there's a soda/pop/soda-pop in germany called "Schwipp-Schwapp"
16:51 TimToady we just have Schwepps
16:52 masak r: for <i a u> -> $vowel { say "Schw{$vowel}pp" }
16:52 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«Schwipp␤Schwapp␤Schwupp␤»
16:52 masak r: for <i a u> -> $vowel { say "beg{$vowel}n" }
16:52 camelia rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«begin␤began␤begun␤»
16:53 * masak .oO( ablaut me baby one more time )
16:55 timotimo isn't it "schweppes"?
16:55 sqirrel__ joined #perl6
16:55 TimToady m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'sw','m';
16:55 camelia rakudo-moar 13de5d: OUTPUT«swim␤swam␤swum␤»
16:55 TimToady m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'g','t';
16:55 camelia rakudo-moar 13de5d: OUTPUT«git␤gat␤gut␤»
16:56 masak :)
16:56 TimToady m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'f','lm';
16:56 camelia rakudo-moar 13de5d: OUTPUT«film␤falm␤fulm␤»
16:57 FROGGS how fulminant :o)
16:57 masak m: sub infix:<ablaut>($front, $back) { "$front$_$back" for <i a u> }; say for "f" ablaut "lm"
16:57 FROGGS (which is a german word for "brilliant")
16:57 camelia rakudo-moar 13de5d: ( no output )
16:57 masak m: sub infix:<ablaut>($front, $back) { return ("$front$_$back" for <i a u>) }; say for "f" ablaut "lm"
16:57 camelia rakudo-moar 13de5d: OUTPUT«␤␤␤»
16:58 FROGGS .say?
16:58 timotimo m: say <i a u>.fmt("Schw%spp")
16:58 camelia rakudo-moar 13de5d: OUTPUT«Schwipp Schwapp Schwupp␤»
16:58 FROGGS hmmm
16:58 masak m: sub infix:<ablaut>($front, $back) { return ("$front$_$back" for <i a u>) }; .say for "f" ablaut "lm"
16:58 camelia rakudo-moar 13de5d: OUTPUT«film␤falm␤fulm␤»
16:58 timotimo shortest :)
16:58 masak timotimo: ooh
16:58 TimToady timotimo++
16:58 timotimo \o/
16:58 masak why has 'say;' been allowed for so long? is there some deep parsing issue that prevents us from issuing a warning for that?
16:58 TimToady except, of course, it's not parameterized
16:59 TimToady std: say
16:59 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/MtI8z98zKE line 1:�------> [32msay[33m�[31m<EOL>[0m�Check failed�FAILED 00:00 120m�»
16:59 TimToady p6: say;
16:59 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/tmpfile line 1:�------> [32msay[33m�[31m;[0m��Unhandled exception: Check failed…»
16:59 camelia ..rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«␤»
17:00 dwarring joined #perl6
17:03 dalek nqp-js: 609ed59 | (Pawel Murias)++ | tools/build/Makefile-JS.in:
17:03 dalek nqp-js: Concatenate a setting for use while building the js backend.
17:03 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/609ed5966b
17:03 dalek nqp-js: 47029be | (Pawel Murias)++ | gen/js/ (3 files):
17:03 dalek nqp-js: Add a .gitignore for gen/js.
17:03 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/47029be044
17:03 dalek nqp-js: d7faf48 | (Pawel Murias)++ | / (3 files):
17:03 dalek nqp-js: Build a partial setting.
17:03 dalek nqp-js:
17:03 dalek nqp-js: make test passes tests 1 and 2.
17:03 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/d7faf48223
17:03 isBEKaml joined #perl6
17:04 timotimo pmurias o/
17:04 * timotimo is afk for a while
17:06 pmurias timotimo: \o
17:08 dalek rakudo/moar-conc: 6c0d74e | jnthn++ | src/vm/jvm/core/Promise.pm:
17:08 dalek rakudo/moar-conc: Another step towards portable Promise.
17:08 dalek rakudo/moar-conc:
17:08 dalek rakudo/moar-conc: Now it depends only on the JVM semaphore.
17:08 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/6c0d74e54b
17:08 jnthn o/ pmurias
17:10 FROGGS hmmm, a portable promise sounds a bit like an expandable ear
17:21 dalek rakudo-star-daily: d980a40 | coke++ | log/ (5 files):
17:21 dalek rakudo-star-daily: today (automated commit)
17:21 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/d980a4019c
17:24 [Coke] ^^ jsonrpc is failing
17:24 [Coke] modules/Pod-To-HTML << no tests
17:31 hoelzro joined #perl6
17:39 Mouq p6: try { chr( :16<D800> ); CATCH { say 'bad codepoint' }}
17:39 yoleaux 06:12Z <lue> Mouq: fwiw, .match does in fact work where ~~ m// doesn't :) I think the valuable lesson here is to not ever ever use $_ in regexes, for safety's sake :P
17:40 camelia rakudo-moar 13de5d, niecza v24-109-g48a8de3: ( no output )
17:40 camelia ..rakudo-parrot 13de5d: OUTPUT«bad codepoint␤Invalid character for UTF-8 encoding␤␤  in block  at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
17:40 camelia ..rakudo-jvm 13de5d: OUTPUT«bad codepoint␤Invalid code-point U+0D800␤  in method chr at gen/jvm/CORE.setting:4373␤  in sub chr at gen/jvm/CORE.setting:4601␤  in sub chr at gen/jvm/CORE.setting:4600␤  in block  at /tmp/tmpfile:1␤␤»
17:40 Mouq m: try { chr( :16<D800> ); CATCH { say 'bad codepoint' }} # this.
17:40 camelia rakudo-moar 1aeb7c: ( no output )
17:41 Mouq [Coke]: I'll look at adding tests for Pod::To::HTML
17:54 dalek nqp: e3e35ca | (David Warring david.warring@gmail.com)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
17:54 dalek nqp: backport chr() 'cannot be negative' error from Moar to JVM
17:54 dalek nqp: review: https://github.com/perl6/nqp/commit/e3e35ca0fa
17:55 dwarring hi all
17:58 araujo joined #perl6
17:58 araujo joined #perl6
17:58 Mouq o/ dwarring++
17:58 dwarring nqp: say(nqp::chr(-42))
17:58 camelia nqp-moarvm: OUTPUT«chr codepoint cannot be negative␤   at /tmp/tmpfile:1  (<ephemeral file>::22)␤ from gen/moar/stage2/NQPHLL.nqp:1091  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm::94)␤ from gen/moar/stage2/NQPHLL.nqp:1077  (/home/p6eval/rakudo-inst-2/languages…»
17:58 camelia ..nqp-jvm: OUTPUT«java.lang.IllegalArgumentException␤  in  (/tmp/tmpfile:1)␤  in  (gen/jvm/stage2/NQPHLL.nqp:1100)␤  in eval (gen/jvm/stage2/NQPHLL.nqp:1086)␤  in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1292)␤  in command_eval (gen/jvm/stage2/NQPHLL.nqp:1196)␤  in command_lin…»
17:58 camelia ..nqp-parrot: OUTPUT«Invalid character for UTF-8 encoding␤␤current instr.: '' pc 40 ((file unknown):44389383) (/tmp/tmpfile:5)␤»
17:58 dwarring fixes that ugly error
17:59 Mouq dwarring: I'm actually pointing out chr(55296), and pointing it out because of the awesome CSS::Grammar module that expects it to fail
18:01 Mouq dwarring: Though maybe you already know
18:01 dwarring Mouq: thanks!
18:02 dwarring Just needs this bit forward ported to chr in interp.c https://gist.github.com/dwarring/9436043
18:02 * dwarring in moar
18:04 * dwarring might have a go
18:19 [particle] joined #perl6
18:20 xinming_ joined #perl6
18:38 spider-mario joined #perl6
18:39 [Sno] joined #perl6
18:40 lichtkind joined #perl6
18:41 lichtkind hai
18:41 lichtkind is prefix || gone?
18:46 vendethiel r: my @a = $($(1, 2), $(3, 4)); my @i = (1, 1); say @a[||@i];
18:47 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '&prefix:<|>' is not declared�at /tmp/tmpfile:1�------> [32m, 2), $(3, 4)); my @i = (1, 1); say @a[|[33m�[31m|@i];[0m�Variable '&prefix:<|>' is not declared�at…»
18:52 Mouq lichtkind: I'm not sure if it's still spec, but I know it's not been implemented
18:53 kurahaupo joined #perl6
18:53 lichtkind Mouq indeed i just found that out just now the hard way
18:53 lichtkind but ive seen it in syn today
18:54 donk joined #perl6
18:55 Mouq lichtkind: Ah.. We don't really have semicolon lists yet, AFIAK...
18:56 Mouq vendethiel: Is that supposed to output "3␤"?
18:56 vendethiel Mouq: I believe || is semicolon interpolation
18:57 vendethiel You're the perl6 guy :p.
18:57 * Mouq is just good at guessing
18:57 Mouq :P
18:57 dalek roast: eb51b0d | (David Warring david.warring@gmail.com)++ | S29-conversions/ord_and_chr.t:
18:57 dalek roast: test death of chr(-42)
18:57 dalek roast: review: https://github.com/perl6/roast/commit/eb51b0d990
18:58 Mouq And sometimes I guess at how to write code and it works! And everything is happiness
18:58 * TimToady usually guess wrong about 9 times first
18:59 TimToady every now and then something works the first time, and I am flabbergasted
18:59 lichtkind anyone comes  to hannover?
19:00 lichtkind TimToady: good morning sir, hard to believe how quite kiev was when we had lunch
19:01 TimToady yes, it's been astonishing to watch the news from there
19:05 lichtkind TimToady: 2 weeks after 2013 german perlworkshop in stuttgard were there the infamous police riots, slowly i think about conections :)
19:06 lichtkind oh that was 2012 time flies
19:08 oskie joined #perl6
19:09 hoverboard joined #perl6
19:10 donk hey, i'm new to perl6... are most people here using rakudo perl 6?
19:10 Mouq o/ donk
19:10 Mouq donk: I believe so
19:11 TimToady yes, though I still use niecza for a quiz editor I use about once a month
19:11 donk ok, thanks... gonna clone it and check it out
19:11 TimToady but rakudo is where it's at these days
19:11 Mouq donk: Cool! If you have any issues we'll be happy to help you out
19:12 lichtkind donk: welcome
19:12 donk did rakudo fork cuz of disputes with larry wall on the direction of perl or was it more just to speed up its release?
19:12 lichtkind no
19:12 TimToady fork from what?
19:12 lichtkind larry never directed the actuall development
19:13 lichtkind there is just one rakudo even it has several backends
19:13 donk oh, i misunderstood my co-worker then... i thought he was directing perl6
19:13 lichtkind parrot was kinda forked
19:13 lichtkind that is true but by perl 6 we mean the language
19:13 lichtkind not the implementation
19:14 donk ahh, ok
19:14 TimToady larry is mostly just the language designer
19:14 lichtkind if its just abvout the syntax larry is our err kinda liek puti :)
19:14 lichtkind if its just abvout the syntax larry is our err kinda liek putin :)
19:14 donk hehe
19:15 TimToady hehe
19:15 donk i was mainly interested in seeing how OO is implemented in perl6
19:16 Mouq .oO(I don't always talk in the third person, but when I do, it's because I'm the BDFL)
19:17 TimToady r: class Dog { method bark($what = "woof") { say $what } }; my $fido = Dog.new; $fido.bark; $fido.bark("yap")
19:17 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«woof␤yap␤»
19:17 dwarring Mouq: I've made a MoarVM PR
19:17 Mouq dwarring++
19:17 * TimToady never talks in third person except when he does
19:17 dwarring thanks for the (accidental) prodding
19:17 TimToady donk: ^^ there's an example
19:18 * dwarring he
19:18 donk ahh, i like it
19:18 TimToady so do we :)
19:18 dwarring ./me has recently moved from Australia to New Zealand
19:19 dwarring I'm now a couple more time-zones further west
19:19 TimToady donk: if you want to see many more examples of perl 6 code, see http://rosettacode.org/wiki/Category:Perl_6
19:19 Mouq dwarring: no problem, I was looking at maybe making a parser for HTML(5, likely), and having a CSS parser is a big first step :)
19:20 TimToady a few of the examples are OO
19:20 dwarring That'd be great to put it to work
19:21 donk i just started my new job as a perl developer in a group of java and php guys, and they were suggesting i learn a more modern language, so i told them i'll just transition to perl6 when it's ready... and now i'm trying to find out what it's all about :D
19:21 donk TimToady: thanks, i'll check that out
19:22 Mouq donk: There's moritz++
19:22 TimToady there's also lots of links on perl6.org
19:22 Mouq *'s http://perlgeek.de/en/article/5-to-6
19:22 Mouq Since you're coming from v5
19:23 denisboyun joined #perl6
19:23 oskie left #perl6
19:23 TimToady yes, and the advent posts are good for that too
19:24 donk i didn't realize perl6 was so far along... in the other channels, they made it sound like it will never have a final release :P
19:25 TimToady has perl5 had a final release? :P
19:25 TimToady see http://planeteria.org/perl6/ for recent news
19:25 donk true... well, i guess stable release that companies can adopt
19:25 TimToady and links to the advent posts
19:26 donk the php guy was trying to convince me about how great php is, but i just don't see it
19:26 lichtkind TimToady: will you come to hannover or just sofia?
19:26 TimToady just sofia
19:26 donk and then the javascript guy was telling me node.js is going to make everything but javascript obsolete, lol
19:27 TimToady well, tell them that one of our backends targets node.js
19:27 TimToady and that we have an implementation on the JVM already
19:27 donk oh, wow
19:27 donk that sounds promising
19:27 TimToady no php backend, alas :)
19:28 pmurias would it make a sensible target?
19:28 TimToady not till you finish JS :P
19:28 lichtkind donk: and btw the node.js concurrency code was developed to be a perl 5 XS module
19:28 donk ahh
19:29 TimToady our moarvm uses libuv underneath too
19:29 dwarring Mouq: You should have commit access to CSS::Grammar
19:30 Mouq dwarring: Thanks! :D I won't hesitate to put it to good use when needs be
19:35 FROGGS[mobile] lichtkind: I am going to be in hannover as you might know :o)
19:36 lichtkind guessed that
19:36 lichtkind you have the sublang talk
19:40 vendethiel pmurias: JS seems a much more sensible target :P
19:40 * vendethiel might be *totally* biased, though
19:41 * vendethiel would actually like a PHP backend for his homework
19:41 vendethiel actually, the JVM backend has the most passrate, right ?
19:43 jnthn vendethiel: With recent work by TimToady++ on Moar's Unicode stuff, they may be neck and neck now. And the concurrrency stuff will land on Moar soon too... :)
19:44 vendethiel jnthn++ # Moar completion rate
19:47 pmurias vendethiel: I don't think the output of compiler backend would serve as suitable homework ;)
19:47 vendethiel pmurias: why not ?
19:55 * jnthn resists the temptation to give condvars overly cute method names :)
19:57 TimToady [+] 0,1,2,3,4,5,6,7,8,9,10 is about 50 times slower than 0+1+2+3+4+5+6+7+8+9+10 at the moment, [+] 0..10 is 5 times slower than that
19:57 TimToady so [+] 0..10 is about 250 times slower than just adding the numbers
19:57 jnthn TimToady: The operations on a condition variable are wait (for another thread to notify me to proceed), signal (tell one waiting thread to wake up and proceed) and signal all (tell all waiting thrads to wake up and proceed)
19:57 jnthn TimToady: I've just gone with wait/signal/signal_all for now, but feel free to suggest better.
19:58 TimToady well, signal is going to be confusing to Unixoids
19:58 jnthn TimToady: It's a low level API rather than anything I expect to have regular use.
19:58 TimToady not to mention wait :)
19:58 jnthn TimToady: Yeah.
19:58 jnthn TimToady: notify is sometimes used
19:58 jnthn Sometimes signal_all/notify_all gets called broadcast.
19:58 jnthn hibernate/awaken/awaken_all? :)
19:59 TimToady squat/evict/evict_all :)
19:59 jnthn haha
20:04 kurahaupo joined #perl6
20:06 TimToady oh, and my \r = 0..10; [+] r  makes it only about 200 times slower :)
20:06 TimToady so just constructing the Range objects is about a 5th of the overhead
20:07 TimToady well, a 4th, and 3/4ths is the repeated reification
20:07 TimToady (where we count 1/5th as the [+] overhead)
20:07 TimToady more or less
20:07 TimToady but looks like optimizing [+] and [*] would be a big win
20:10 * jnthn woulda thought a Range like 1..10 reifies all its things in a go...
20:12 TimToady only about 1000 at a time
20:12 TimToady well, 11 at a time here
20:13 TimToady but it still does it repeatedly
20:13 TimToady and it's probably buried several deep in reifies at that point
20:14 TimToady one of the things pmichaud++ and I will have to work out is how we hide that reification depth most of the time
20:14 TimToady "please read from this, and then come back to me for more when you're done"
20:16 TimToady a naïve sum sub, however, is twice as slow as [+]  :)
20:17 TimToady so overhead of about 90% over just adding the numbers
20:19 Rotwang joined #perl6
20:22 lue r: sub sumup(Range $a) { return ($a.bounds[1] - $a.bounds[0] + 1) * ($a.bounds[0] + $a.bounds[1]) / 2 }; say sumup(1..100) # breaks on ..^ , ^.. , and ^..^
20:22 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«5050␤»
20:24 moritz and it returns a Rat, not an Int :-)
20:24 TimToady it's actually quite difficult to write a 'sum' sub that runs faster than [+]
20:25 TimToady (not counting a sum of a Range :)
20:28 lee__ i cheated and wrote this a while ago, but it is cheating :P
20:28 lee__ https://github.com/leedo/rakudo/commit/ee05dfa95a4de10d91d35b73eb6e59f178c67851
20:28 dalek nqp/moar-conc: df4589c | jnthn++ | src/vm/jvm/ (5 files):
20:28 dalek nqp/moar-conc: Provide condition variable abstraction on JVM.
20:28 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/df4589ce46
20:28 TimToady especially when I shoulda eaten lunch
20:31 dalek rakudo/moar-conc: 381bf1b | jnthn++ | src/core/Lock.pm:
20:31 dalek rakudo/moar-conc: Implement Lock::ConditionVariable.
20:31 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/381bf1ba31
20:38 unclefester2 left #perl6
20:44 raiph joined #perl6
20:46 masak r: say [max] [1, 2, 3]
20:46 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«1 2 3␤»
20:47 masak r: say [max] [1, 2, 3][]
20:47 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«3␤»
20:47 masak r: say [max] [{x => 7}, {x => 42}]>><x>
20:47 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«42␤»
20:53 dalek roast: b3b7611 | jnthn++ | S17-concurrency/thread.t:
20:53 dalek roast: Skip a test on all backends, not just JVM.
20:53 dalek roast: review: https://github.com/perl6/roast/commit/b3b76111f2
20:53 dalek roast: 7d20057 | jnthn++ | S17-concurrency/lock.t:
20:53 dalek roast: Add a test for condition variables.
20:53 dalek roast: review: https://github.com/perl6/roast/commit/7d20057f7d
20:53 dalek rakudo/moar-conc: 67935fd | jnthn++ | src/vm/jvm/core/Promise.pm:
20:53 dalek rakudo/moar-conc: Switch Promise to use cond var, not JVM semaphore.
20:53 dalek rakudo/moar-conc:
20:53 dalek rakudo/moar-conc: A condition variable is a much better construct to be using here,
20:53 dalek rakudo/moar-conc: especially when a semaphore granting many permits is not portably
20:53 dalek rakudo/moar-conc: available.
20:53 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/67935fda6b
20:53 dalek rakudo/moar-conc: 036e54a | jnthn++ | / (3 files):
20:53 dalek rakudo/moar-conc: Move Promise to src/core/, now it's portable.
20:53 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/036e54a2d2
20:54 nwc10 jnthn: you didn't take out dalek. Try harder :-)
20:56 dalek rakudo/moar-conc: 7cc7fc5 | jnthn++ | tools/build/Makefile-Moar.in:
20:56 dalek rakudo/moar-conc: Add CurrentThreadScheduler to Moar setting build.
20:56 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/7cc7fc5aa4
20:56 pippo joined #perl6
20:57 masak r: say max(4, 7, 10)
20:57 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«10␤»
20:57 masak r: say [max](4, 7, 10)
20:57 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«10␤»
21:00 lichtkind allright i have 154 slides , main part is done
21:06 masak is it considered a code smell to use .WHICH in non-debugging code?
21:06 masak ...like it is with .WHAT?
21:06 Mouq masak: Set uses .WHICH
21:07 kivutar joined #perl6
21:07 jnthn masak: In many cases, using === or an object hash is what's really called for...
21:07 masak oh right, object hashes.
21:07 masak yes, that's probably what I actually want.
21:08 masak I see Hash doesn't change its .WHICH when modified. is that guaranteed by spec?
21:08 masak or otherwise guaranteed?
21:08 jnthn I guess Hash has reference semantics.
21:08 jnthn It'll be S02 that says if anything does.
21:10 masak right, reference semantics is what I'm expecting.
21:15 hoelzro yay! moar passing modules for Mokudo!
21:16 jnthn hoelzro: ooh! :)
21:16 TimToady introspection is usually a bit of a smell
21:16 * jnthn wonders why he feels tired, then remembers he stayed up until 4am fixing some memory leak... :)
21:17 unclefester2 joined #perl6
21:17 * TimToady has the temerity to not feel guilty, much
21:17 dalek ecosystem: 1e005aa | Mouq++ | META.list:
21:17 dalek ecosystem: Add JSON5::Tiny
21:17 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/1e005aaa95
21:18 jnthn TimToady: tbh, after some weeks of intense course writing/teaching, it was nice to be hacking again. :)
21:19 unclefester2 masak: Sorry - I don't know what I am doing wrong with RT but I don't see the emails again.  Anyway I updated RT https://rt.perl.org/Ticket/Display.html?id=112716 with the existing test.
21:29 xenoterracide joined #perl6
21:30 hoelzro is NativeCall working on Moar yet?
21:31 jnthn hoelzro: no
21:31 hoelzro jnthn: what remains to be done on that front?
21:31 FROGGS there were no attempts until now, right?
21:31 jnthn hoelzro: All The Things
21:31 jnthn hoelzro: Well, except library loading I guess... :)
21:32 jnthn hoelzro: We can steal a lot of code from the Parrot impl too, given it was fairly decoupled from Parrot and really a 6model-y thing :)
21:32 slavik joined #perl6
21:32 hoelzro I think it's the chief blocker of Rakudo * on Moar is all
21:33 Mouq hoelzro: There's also a pre-comp bug with URI
21:33 jnthn hoelzro: Yeah.
21:33 hoelzro that's fixed now Mouq
21:33 Mouq hoelzro: Waaaat
21:33 hoelzro jnthn++ took care of it earlier today
21:33 Mouq jnthn++
21:33 hoelzro this one is fun, though:
21:33 jnthn hoelzro: It's next on my task list after I get the basic concurrency stuff rolling.
21:33 hoelzro Error while compiling op p6box_s: To compile on the MoarVM backend, QAST::VM must have an alternative 'moar' or 'moarop'
21:33 hoelzro (MIMe::Base64)
21:34 jnthn hoelzro: I think that module uses a Q:PIR block :(
21:34 hoelzro =(
21:34 rurban joined #perl6
21:34 hoelzro yup
21:34 FROGGS m: grammar G { proto token a(|) {*}; token a:sym<foo>($bar) { . }; token TOP { <a("baz")>+ } };  G.parse("hallo")
21:34 camelia rakudo-moar 1aeb7c: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in regex a:sym<foo> at /tmp/a5uA9a8r8D:1␤  in any !protoregex at gen/moar/stage2/QRegex.nqp:784␤  in regex a at /tmp/a5uA9a8r8D:1␤  in regex TOP at /tmp/a5uA9a8r8D:1␤  in method pars…»
21:34 FROGGS what am I doing rong?
21:34 hoelzro oh, it just loads a parrot library to do the dirty work
21:34 hoelzro that's easily fixable
21:35 jnthn FROGGS: Um....I didn't see anybody try that one before :)
21:35 FROGGS jnthn: ohh noes /o\
21:36 FROGGS not again
21:37 jnthn I know what it compiles into, and it doesn't pass args along...
21:37 FROGGS ahh, okay
21:37 masak unclefester2: pmichaud's comment makes it seem as if the problem is in .map, not 'gather' -- and I think those two use different code paths.
21:37 FROGGS I can write it differently
21:37 jnthn FROGGS: Easy trick is to just take a dynvar in the proto :)
21:37 FROGGS right
21:38 FROGGS jnthn: will do that :o)
21:40 TimToady yes, the 'for' laziness problem turned out to be in MapIter, which I fixed recently, for some value of "fixed"
21:40 masak unclefester2: so, while the bug does indeed appear to be fixed, I'm not certain that that test covers it.
21:40 masak unclefester2: sorry to be a bother -- I just want to make sure we do *not* backslide on this one -- it's quite annoying.
21:41 hoverboard joined #perl6
21:41 masak how do I declare, in a parameter list, that I want a %hash{Hash} ?
21:41 masak m: sub foo(%h{Hash}) {}
21:41 camelia rakudo-moar 1aeb7c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1E9m9ymY9Uâ�¤Missing blockâ�¤at /tmp/1E9m9ymY9U:1â�¤------> [32msub foo(%h[33mâ��[31m{Hash}) {}[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or m…»
21:42 TimToady the problem was specifically with interators that are not known to be infinite, and it tried to reify its sublists with (*), which is eager
21:42 TimToady it no longer does that
21:42 unclefester2 masak: not at all - thank you for your help.  I just noticed that the examples now work and thought it worth another look.  Do you at least agree that my roast example covers the same ground as my 10,20,30,40 loop?
21:43 masak unclefester2: yes, I think so. but that's because both of them are about gather, not about .map
21:43 masak unclefester2: the RT ticket turned out to be about .map
21:44 TimToady philosophically, map shouldn't be making the decision to batch in the absence of more information from above or below
21:44 unclefester2 masak: have to go now - thanks again
21:44 unclefester2 left #perl6
21:45 TimToady so in the absence of accurate context coming from above, the current fix is merely to delegate the batching decision downward to the iterators that have a better idea whether it makes sense, like Range
21:45 TimToady or lines, where it doesn't :)
21:46 [Coke] ++Mouq # test adding
21:46 TimToady (again, in the current absence of context)
21:48 TimToady a lot of this still will get a lot faster when we have a way to pass down "you're being called eagerly, so just send back an rpa (or rope of rpas) with everything in it"
21:48 TimToady nap &
21:56 dalek perl6-roast-data: 08c65ba | coke++ | / (3 files):
21:56 dalek perl6-roast-data: today (automated commit)
21:56 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/08c65ba1f1
21:56 [Coke] rakudo.moar,2014-03-08,100.00%,1fb3aff,29184,56,577,1334,31151,28866,
21:57 denyska joined #perl6
21:57 [Coke] I don't see any new big failures on the JVM side, so that might be legit.
21:57 jnthn Yeah, it's the new Unicode stuff.
21:57 jnthn Which is NYI on other backends.
21:58 [Coke] moarftw
22:00 skids joined #perl6
22:01 * lue imagines the JVM will be the Most Fun™ to implement Unicode stuff on...
22:12 virtualsue joined #perl6
22:13 pmurias wouldn't JVM just use JVM strings?
22:14 geekosaur JVM mishandles stuff outside the BMP?
22:14 jnthn pmurias: It does for now, but that doesn't really hold up if we want to support NFG...
22:17 lue jnthn: or anything above the BMP, really :P (though I can at least  say "\x10000"  on JVM)
22:24 dalek nqp/moar-conc: 584fa7a | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
22:24 dalek nqp/moar-conc: Map condition variable ops for MoarVM.
22:24 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/584fa7abb3
22:34 dalek rakudo/moar-conc: 5f7d6a4 | jnthn++ | src/core/Promise.pm:
22:34 dalek rakudo/moar-conc: Remove leftover JVM interop mention in Promise.
22:34 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/5f7d6a416c
22:40 pippo left #perl6
22:41 dalek rakudo/moar-conc: a7a2209 | jnthn++ | tools/build/Makefile-Moar.in:
22:41 dalek rakudo/moar-conc: Add Promise to MoarVM setting build.
22:41 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/a7a220969d
22:42 colomon jnthn++ is at it again!  \o/
22:42 timotimo \o/
22:50 FROGGS TimToady: http://rosettacode.org/wiki/XML/Input is solvable when my pull request is applied to module XML
22:56 masak I just encountered a situation in which removing a declaration/assigning to a variable *which I don't use* causes the program to behave wrongly.
22:57 masak leaving the line with the declaration/assignment in causes the program to behave correctly.
22:58 Mouq https://github.com/perl6/Pod-To-HTML/compare/244500...master
22:58 Mouq Marginally not terrible test on their way
22:58 Mouq *tests
22:58 bjz joined #perl6
23:01 jnthn masak: That's easy enough to construct if the thing assigns is side-effecting.
23:01 masak it isn't.
23:01 jnthn Apparently it is :P
23:01 benabik *shouldn't be
23:01 masak but now it seems more likely that this is about spurious hash ordering.
23:02 masak I just did two successive test runs; one failed and the next passed.
23:02 jnthn Oh...don't rely on hash ordering...
23:03 dalek roast: 4a5a180 | lue++ | S15-unicode-information/uni (2 files):
23:03 dalek roast: [S15] Fix up a couple of comments.
23:03 dalek roast:
23:03 dalek roast: Nothing major, just leftovers from the uniname test file :) .
23:03 dalek roast: review: https://github.com/perl6/roast/commit/4a5a180b42
23:06 dalek roast: 93c65b5 | coke++ | test_summary:
23:06 dalek roast: Add missing SYN aliases
23:06 dalek roast: review: https://github.com/perl6/roast/commit/93c65b590c
23:06 masak I'm not deliberately relying on hash ordering :)
23:06 lue don't rely on hash ordering... until you sort the keys :)
23:07 hoverboard joined #perl6
23:08 woolfy1 joined #perl6
23:10 masak lue: in that case, the hash is still not ordered.
23:11 masak lue: you took the keys out, and put them into a sorted list.
23:12 lue masak: I was worried for a second, that "sorted list" thing explains it :) .
23:12 * masak is too tired to debug the error
23:12 masak 'night, #perl6
23:12 lue ♞ masak o/
23:13 jnthn 'night,masak
23:14 dalek nqp/moar-conc: c597cf8 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
23:14 dalek nqp/moar-conc: Map queuepoll op on MoarVM.
23:14 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/c597cf8da4
23:21 dalek rakudo/moar-conc: 5a815dc | jnthn++ | tools/build/Makefile-Moar.in:
23:21 dalek rakudo/moar-conc: Add channels, supplies, and winner to Moar build.
23:21 dalek rakudo/moar-conc:
23:21 dalek rakudo/moar-conc: They all build now. Channel seems to essentially work; Supply doesn't
23:21 dalek rakudo/moar-conc: work just yet, though it builds fine.
23:21 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/5a815dc791
23:21 tadzik \o/
23:22 timotimo awesome ♥
23:23 tadzik ooh, JSON5 has trailing commas in arrays and hashes
23:23 tadzik I now want to use it everywhere
23:23 timotimo yes!
23:23 timotimo YES
23:23 tadzik and we have a module :)
23:26 Mouq https://github.com/perl6/Pod-To-HTML/commit/ec9e15b
23:26 Mouq dalek should really have a hook for Pod-To-HTML
23:26 tadzik shouldn't be too hard to add one
23:27 Mouq You apparently need admin privliges to do it the normal way
23:27 tadzik yep
23:27 * lue should really implement a cache for syngen soon
23:28 Mouq tadzik: Or we could un-fork it from you somehow
23:28 tadzik hmm
23:28 Mouq lue: I really want a Storable for Perl 6....
23:29 tadzik I remember there was a reason we forked it into perl6 :)
23:29 Mouq https://metacpan.org/pod/Storable
23:29 tadzik Mouq: hm, that may not be that impossible
23:29 tadzik in the general case, that is
23:29 tadzik I mean, the easy case
23:29 tadzik :P
23:30 lizmat joined #perl6
23:30 lue Mouq: I assume this Storable has a way to check when objects need to be updated, right?
23:32 Mouq lue: So that you know whether to write a new file or not?
23:32 Mouq lue: I doubt it..
23:36 dalek modules.perl6.org: f81681b | Mouq++ | web/lib/P6Project/Hosts/Github.pm:
23:36 dalek modules.perl6.org: Add pod6 to accepted README formats
23:36 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/f81681b752
23:36 lue \o/
23:36 tadzik oh, good :)
23:37 tadzik Mouq++
23:37 lue Now all we need is for Github to recognized README.pod6 :)
23:37 tadzik yeah, that may need some convincing... :)
23:39 hoverboard joined #perl6
23:40 tadzik looking at how much time it took them to update a python module, I can only begin to imagine how much would it take to make them install rakudo :
23:40 tadzik unless we'll have Pod6-as-a-service :P
23:40 tadzik or we can port it to something they like
23:41 dalek rakudo/moar-conc: c419156 | jnthn++ | t/ (2 files):
23:41 dalek rakudo/moar-conc: Add conc tag for concurrent tests; use it a bit.
23:41 dalek rakudo/moar-conc:
23:41 dalek rakudo/moar-conc: The tests known to only work on JVM so far have been left with # jvm
23:41 dalek rakudo/moar-conc: for now, until issues are fixed and/or they are fudged.
23:41 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/c419156233
23:42 lue tadzik: they don't need to format it (at least not for me), they just need to recognize that they don't have to tell me "Hey, you should, like, have a README or something"
23:43 tadzik ah
23:43 jnthn r: class C { has &.x; } sub foo(:&x) { C.new(:&x); }; foo();
23:43 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32mclass C { has &.x; } [33mâ��[31msub foo(:&x) { C.new(:&x); }; foo();[0mâ�¤    expecting an…»
23:43 jnthn r: class C { has &.x; }; sub foo(:&x) { C.new(:&x); }; foo();
23:44 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c: ( no output )
23:44 camelia ..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&!x'; expected 'Callable' but got 'Callable'␤  in block  at src/gen/m-CORE.setting:886␤  in method BUILDALL at src/gen/m-CORE.setting:869␤  in method bless at src/gen/m-CORE.setting:858␤  in method new at src/gen…»
23:45 Mouq n: class C { has &.x; }; sub foo(:&x) { C.new(:&x); }; foo();
23:45 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Nominal type check failed in binding '&x' in 'foo'; got Any, needed Callable␤  at /tmp/tHGaWyKvLF line 0 (foo @ 1) ␤  at /tmp/tHGaWyKvLF line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) …»
23:45 jnthn r: sub foo(:&x) { say nqp::iscont(&x); }; foo();
23:45 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«1␤»
23:46 Mouq n: class C { has &.x; }; sub foo(:&x = Callable) { C.new(:&x); }; foo();
23:46 camelia niecza v24-109-g48a8de3: ( no output )
23:46 Mouq r: class C { has &.x; }; sub foo(:&x = Callable) { C.new(:&x); }; foo();
23:46 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c: ( no output )
23:46 camelia ..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&!x'; expected 'Callable' but got 'Callable'␤  in block  at src/gen/m-CORE.setting:886␤  in method BUILDALL at src/gen/m-CORE.setting:869␤  in method bless at src/gen/m-CORE.setting:858␤  in method new at src/gen…»
23:46 jnthn That is, curiously, the bug upsetting supplies...
23:47 TimToady well, obviously you should give it a Callable, not a Callable. :P
23:48 jnthn r: sub bar(*%h) { say nqp::iscont(%h<x>); }; sub foo(:&x) { bar(:&x); }; foo();
23:48 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«1␤»
23:50 benabik Expected Callable but got Callable?
23:55 fridim_ joined #perl6
23:55 jnthn r: class C { has &.bar; }; C.new(:bar(my $x = Callable));
23:56 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c: ( no output )
23:56 camelia ..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&!bar'; expected 'Callable' but got 'Callable'␤  in block  at src/gen/m-CORE.setting:886␤  in method BUILDALL at src/gen/m-CORE.setting:869␤  in method bless at src/gen/m-CORE.setting:858␤  in method new at src/g…»
23:58 jnthn r: my &c = (my $x = Callable);
23:58 camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c: ( no output )
23:58 camelia ..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&c'; expected 'Callable' but got 'Callable'␤  in block  at /tmp/tmpfile:1␤␤»

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

Perl 6 | Reference Documentation | Rakudo