Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-05-31

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:06 pecastro joined #perl6
00:08 xragnar_ joined #perl6
00:16 rurban joined #perl6
00:40 bjz joined #perl6
00:48 Ben_Goldberg joined #perl6
00:52 telex joined #perl6
01:01 treehug88 joined #perl6
01:02 treehug88 joined #perl6
01:03 treehug88 joined #perl6
01:08 colomon do we have a built-in mv command?
01:12 colomon guess IO::Path.copy is enough for my purposes
01:12 hoverboard joined #perl6
01:15 bjz joined #perl6
01:27 quillen joined #perl6
01:28 quillen left #perl6
01:30 sorear joined #perl6
01:32 FROGGS_ joined #perl6
01:33 Sqirrel_ joined #perl6
01:39 Su-Shee joined #perl6
01:45 Pleiades` joined #perl6
01:50 SamuraiJack joined #perl6
01:53 klapperl joined #perl6
01:53 aindilis joined #perl6
02:23 sorear joined #perl6
02:27 rindolf joined #perl6
02:40 ssutch joined #perl6
02:41 Ben_Goldberg joined #perl6
02:52 mtj joined #perl6
02:52 dj_goku joined #perl6
02:52 hugme joined #perl6
02:54 Ben_Goldberg joined #perl6
03:01 Pleiades` joined #perl6
03:01 eternaleye joined #perl6
03:22 Ben_Goldberg joined #perl6
03:26 hoverboard joined #perl6
03:36 SevenWolf joined #perl6
03:38 time_decay joined #perl6
03:41 ssutch joined #perl6
03:43 panchiniak joined #perl6
03:46 jercos joined #perl6
03:46 vendethiel joined #perl6
03:46 huf joined #perl6
03:46 salv0 joined #perl6
03:47 hugme joined #perl6
03:51 ponbiki joined #perl6
03:52 JimmyZ joined #perl6
04:31 lue What if grammars had a way to throw an exception when it can't match anything? Grammar::Tracer is nice, but it takes significantly longer to get to the failure when you're printing a bunch of stuff :) .
04:32 lue Something like "Grammar failed on line XXX of input text in 'token foobar'", perhaps?
04:33 lue (activated via something like Grammar.parse($text, :throw), because sometimes you don't want to kill Perl 6 on a failed grammar parse)
04:38 rurban joined #perl6
04:42 ssutch joined #perl6
05:05 kaare_ joined #perl6
05:07 Woodi morning :)
05:08 Woodi what if someone says that Parrot needs a rewrite ?
05:08 * Woodi hide
05:26 rindolf joined #perl6
05:35 xinming_ joined #perl6
05:42 ssutch joined #perl6
06:00 kurahaupo joined #perl6
06:18 anaeem1_ joined #perl6
06:32 darutoko joined #perl6
06:38 Woodi b. but maybe Parrot needs some purpose ?
06:43 ssutch joined #perl6
07:03 moritz Woodi: parrot has a rewrite, in some sense. It's called MoarVM
07:10 Woodi yes, in some sense. but noone like to throw away code. is pir fast or slow ?
07:16 zacts joined #perl6
07:17 moritz parsing pir is slower than not parsing pir
07:17 moritz no idea if that answers your question
07:21 Woodi is parsing pir slower then parsing moar's bytecode ?
07:24 Woodi anyway, Perl6 started with proper design documentation and was planned as one, perfect development process so realy throwable prototype could be expected ;)
07:26 lizmat good * #perl6!
07:26 lizmat Woodi: Files=826, Tests=30666, 418 wallclock secs ( 9.69 usr  4.00 sys + 2894.69 cusr 279.42 csys = 3187.80 CPU) # parrot spectest
07:26 lizmat Files=880, Tests=31557, 201 wallclock secs ( 8.06 usr  3.81 sys + 1264.58 cusr 154.59 csys = 1431.04 CPU)  # moar spectest
07:27 Woodi so moar beat parrot
07:27 lizmat Moar: 3% more spectests, less than half of the CPU and wallclock
07:27 lizmat I rest my case :-)
07:30 Rotwang joined #perl6
07:30 Rotwang joined #perl6
07:30 lizmat or maybe not:
07:30 lizmat parrot core settings:
07:30 efg joined #perl6
07:31 lizmat $ wc -l gen/parrot/CORE.setting
07:31 lizmat 19068 gen/parrot/CORE.setting
07:31 lizmat Stage parse      : 119.552
07:31 lizmat moar core settings:
07:31 lizmat $ wc -l src/gen/m-CORE.setting
07:31 lizmat 21169 src/gen/m-CORE.setting
07:32 lizmat Stage parse      :  41.103
07:32 Woodi I am realy interested in *story* what goes wrong... maybe some presentation done by someone. or just presentation-size material of what's happened. not necesarry names, just open-source-Ofun process :) for future generations !
07:33 Woodi lizmat: you are kicking Parrot now...
07:33 lizmat perhaps, but you asked for it :-)
07:33 Woodi probably :)
07:33 lizmat but seriously, I wanted to show how much *better* Moar is now, not how much worse Parrot is
07:34 lizmat and without Pugs, Parrot, Niecza, we wouldn't be where we are now
07:35 Woodi lizmat: it all screems: stoooory ! at least for me :)
07:35 lizmat if we're not standing on the shoulders of giants, we've been given at least a goal to reach and overtake
07:35 lizmat sorry, but I'm the wrong person to ask, since I wasn't really part of the Perl 6 development process until about 2 years ago
07:36 lizmat (apart from being talked into writing a spec circa 2005 :-)
07:37 Woodi Perl6 spec design and evolution is probably a topic too :)
07:39 lizmat once Perl 6 is a viral success, I have no doubt that there will be a writer who will write a "The Soul Of A New Machine" about Perl 6
07:40 lizmat http://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine
07:40 spider-mario joined #perl6
07:42 lizmat TimToady: seems like S28:142 and S02:3118 are in conflict
07:42 synopsebot Link: http://perlcabal.org/syn/S28.html#line_142
07:42 lizmat S02:3118   # synapsebot not looking far enough
07:42 synopsebot Link: http://perlcabal.org/syn/S02.html#line_3118
07:43 jack_rabbit joined #perl6
07:44 ssutch joined #perl6
07:44 lizmat S02 assumes a postcircumfix access to *$VM, whereas S28 assumes a pure method based access
07:45 lizmat also, to simplify matching, I've implemented lowercase names only
07:45 lizmat otherwise it is too easy to miss windows  :-)
07:46 lizmat ( was it MSwin32 or MSWin32 or msWin32 ?
07:46 lizmat )
07:46 Woodi btw. R* 201405 is postponed ? at least no announcement on frontpage
07:47 Woodi lizmat: why *$[VM|KERNEL] naming ? it's a bit Linux specific...
07:48 lizmat Woodi: wrt $*, I'm not sure
07:48 lizmat r: say $*VM.name
07:49 camelia rakudo-moar b91eeb: OUTPUT«moar␤»
07:49 camelia ..rakudo-jvm b91eeb: OUTPUT«jvm␤»
07:49 camelia ..rakudo-parrot b91eeb: OUTPUT«parrot␤»
07:49 Woodi what wrong with O(perating)S(ystem) ?
07:49 lizmat VM is the name of the Rakudo backend
07:49 lizmat perhaps $*BACKEND would have been a better name in retrospect
07:50 lizmat in light of VM becoming more generally used in different contexts
07:50 xfix std: my $var = "concat"; say "string".$var; # Intentionally wrong
07:50 camelia std ec3d853: OUTPUT«ok 00:01 124m␤»
07:50 xfix std: my $var = "concat"; say "string" . $var; # Intentionally wrong
07:50 camelia std ec3d853: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/fbVw_ekJkM line 1:�------> [32mmy $var = "concat"; say "string" . [33m�[31m$var; # Intentionally wrong[0m�Parse failed�FAILED 00:01 125m�»
07:54 Siva_ joined #perl6
07:55 lizmat xfix: you are aware of this syntax ?
07:55 lizmat m: my $a = "uc"; say "Foo"."$a"()
07:55 camelia rakudo-moar b91eeb: OUTPUT«FOO␤»
07:55 xfix I'm.
07:55 lizmat ok, just checking
07:55 lizmat not sure why STD accepts "Foo".$a
07:56 xfix For consistency, possibly.
07:56 Siva_ left #perl6
08:01 jack_rabbit joined #perl6
08:02 denis_boyun_ joined #perl6
08:07 dalek specs: 5fb62b7 | (Elizabeth Mattijsen)++ | S28-special-names.pod:
08:07 dalek specs: Spec $?PERL/$*PERL.(VMnames|DISTROnames)
08:07 dalek specs: review: https://github.com/perl6/specs/commit/5fb62b7937
08:13 virtualsue joined #perl6
08:13 dalek rakudo/nom: 08ff7e1 | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
08:13 dalek rakudo/nom: Implement Perl.DISTROnames
08:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/08ff7e1ac3
08:19 dalek roast: a63ee74 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
08:19 dalek roast: Only doing DISTRO checks in here
08:19 dalek roast: review: https://github.com/perl6/roast/commit/a63ee747b5
08:20 dalek rakudo/nom: 50bd5cb | (Elizabeth Mattijsen)++ | t/spectest.data:
08:20 dalek rakudo/nom: Follow S02-magicals/config.t -> DISTRO.t renaming
08:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50bd5cb53e
08:26 denis_boyun_ joined #perl6
08:32 kivutar joined #perl6
08:37 xfix rn: https://gist.github.com/xfix/49193dd30607780d0442
08:37 camelia rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«gist not found»
08:37 xfix Oh, right.
08:37 xfix rn: multi infix:<+>(2, 2) { return 5; }; say (1 + 1) + (1 + 1); say 1 + 1 + 1 + 1;
08:37 camelia rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«5␤4␤»
08:43 xfix rn: multi infix:<+>(2, 2) { return 5; }; say (1 + 1.0) + (1 + 1);
08:43 camelia rakudo-{parrot,jvm,moar} b91eeb, niecza v24-109-g48a8de3: OUTPUT«4␤»
08:44 xfix So, 2.0 is not 2, is it correct?
08:45 ssutch joined #perl6
08:53 moritz aye
09:24 pippo_ joined #perl6
09:26 xfix rule ws { \h* }
09:26 xfix Why I did that...
09:31 dalek rakudo/nom: 990c0c4 | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
09:31 dalek rakudo/nom: Set up Distro.auth for macosx
09:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/990c0c4a86
09:38 pippo_ good morning #perl6
09:38 masak good antenoon, #perl6
09:38 pippo_ :-)
09:38 lizmat pippo_ masak  moritz xfix o/
09:39 xfix Hi.
09:39 aindilis` joined #perl6
09:39 xfix I'm now reading NQP Internals workshop materials.
09:39 xfix (and implementing IRC parser)
09:39 lizmat xfix++
09:40 JimmyZ_ joined #perl6
09:40 felher_ joined #perl6
09:43 xfix Errors are confusing, but I guess this is what happens when you work on NQP level. I assume that 'Cannot iterate object with P6opaque representation' means that the object cannot be iterated, but what is P6 here? I'm working with NQP, not Perl 6.
09:44 Alina-malina joined #perl6
09:45 xfix I'm not sure why it complains either way. I assume I do a really simple mistake, but I cannot see it.
09:45 xfix https://gist.github.com/xfix/d224c616ca6eeb720d31
09:45 xfix (I didn't knew GitHub supports NQP...)
09:45 pippo_ lizmat: O/
09:46 ssutch joined #perl6
09:46 go|dfish joined #perl6
09:48 lizmat xfix: I can only conclude that  $parsed-log<line> is a P6Opaque ?
09:49 thou joined #perl6
09:50 xfix I see, the parse fails.
09:50 bnebheni joined #perl6
09:50 xfix Because of \h+ ws rule.
09:50 bnebheni left #perl6
09:51 xfix I expected exception of sorts, but whatever.
09:52 pippo_ left #perl6
09:52 masak in general, you have to be prepared both for an undefined result *and* for an exception from .parse
09:52 masak there isn't really any system to it.
09:53 pippo__ joined #perl6
09:53 xfix Sounds fun.
09:53 * lizmat is trying to figure out how to create an empty Blob
09:53 lizmat note: empty, not undefined  ;-)
09:54 lizmat m: Blob.new.say
09:54 camelia rakudo-moar 50bd5c: OUTPUT«Buf:0x<>␤»
09:54 lizmat guess that works  :-)
09:54 masak done! :)
09:59 pippo joined #perl6
10:04 xfix https://gist.github.com/xfix/64e18ba37d685e7f8c90
10:04 xfix That looks quite nice already.
10:05 lizmat xfix++ (again)  :-)
10:06 xfix "postcircumfix:<{ }> not defined for type Array"
10:06 xfix Perl 6 complains however. I wonder if there is some small difference between NQP and Perl 6.
10:06 xfix In grammar handling.
10:08 xfix It complains about `my $time := ~$line<time>;`.
10:08 xfix (why I don't get backtrace either way)
10:08 lizmat perhaps run with --ll-exception
10:08 xfix Thanks.
10:09 xfix Well, --ll-exception gives me just MoarVM files.
10:11 lizmat masak will like this: http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/blog/2014/05/28/pointers-gone-wild.lhs/
10:13 masak lizmat: nice.
10:13 dalek roast: 96ee96e | (Elizabeth Mattijsen)++ | S02-magicals/DISTRO.t:
10:13 dalek roast: Extended $?DISTRO / $*DISTRO testing
10:13 dalek roast: review: https://github.com/perl6/roast/commit/96ee96e926
10:13 masak yes, I do like that.
10:14 masak I hadn't heard about LiquidHaskell before.
10:14 masak lunch &
10:17 dalek roast: ff94d8f | (Elizabeth Mattijsen)++ | integration/real-strings.t:
10:17 dalek roast: Remove bogus test
10:17 dalek roast: review: https://github.com/perl6/roast/commit/ff94d8fe26
10:18 kaare_ joined #perl6
10:20 dalek roast: 14039dc | (Elizabeth Mattijsen)++ | S02-magicals/vm.t (2 files):
10:20 dalek roast: Part 1 rename on case insensitive filesystems
10:20 dalek roast: review: https://github.com/perl6/roast/commit/14039dcd58
10:21 dalek roast: 5b00752 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
10:21 dalek roast: Part 2 rename on case insensitive filesystems
10:21 dalek roast: review: https://github.com/perl6/roast/commit/5b00752928
10:22 timotimo jnthn doesn't mind if people re-use his slides for their own performances of the talks, right?
10:22 colomon xfix: you still working on that?
10:22 xfix I'm currently doing SlowDB.
10:22 xfix But if someone can tell me why it doesn't work in Perl 6, I'll listen.
10:22 colomon for $<line> -> $line   ===try===>  for @$<line> -> $line
10:22 xfix Thanks.
10:23 xfix I forgot that I need to convert this to list.
10:23 xfix When NQP does that automatically.
10:23 colomon or possibly @( $<line> )
10:23 xfix When NQP does that automatically.
10:23 xfix oops
10:24 xfix Now this fails in NQP, but whatever.
10:24 colomon yeah, I don't know enough about NQP to make it work there.
10:24 xfix Now this fails in NQP, but whatever.
10:24 xfix oops, again
10:24 xfix (why I think that I move to terminal with Alt-Tab...)
10:37 dalek rakudo/nom: a89060a | (Elizabeth Mattijsen)++ | t/spectest.data:
10:37 dalek rakudo/nom: Follow S02-magicals/vm.t -> VM.t renaming
10:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a89060a99e
10:38 efg joined #perl6
10:38 dalek roast: 59845d7 | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
10:38 dalek roast: Extended $?VM/$*VM and $?DISTRO/$*DISTRO testing
10:38 dalek roast: review: https://github.com/perl6/roast/commit/59845d7fe9
10:55 dalek rakudo/nom: c3a6a79 | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
10:55 dalek rakudo/nom: Implement Perl.KERNELnames
10:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3a6a79854
10:55 dalek roast: fc9f3a5 | (Elizabeth Mattijsen)++ | S02-magicals/KERNEL.t:
10:55 dalek roast: Add $?KERNEL/$*KERNEL tests
10:55 dalek roast: review: https://github.com/perl6/roast/commit/fc9f3a5241
10:56 dalek rakudo/nom: cdd29a5 | (Elizabeth Mattijsen)++ | t/spectest.data:
10:56 dalek rakudo/nom: Add $?KERNEL/$*KERNEL tests
10:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cdd29a5450
11:00 Timbus is there a way to get at a private attribute in a class, when you're in the package scope of it, but not in the.. uh. lexical? scope. or is it local... basically i dont have a 'self', just a $ref
11:00 Timbus a private method works, i was just wondering if its needed
11:08 lizmat private method is best, and the intended way to do this, afaik
11:13 xfix fish: Job 1, 'nqp-m slowdb.nqp ' terminated by signal SIGSEGV (Address boundary error)
11:13 xfix I've a feeling I'm doing something incorrectly.
11:18 dalek rakudo/nom: 45f905e | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
11:18 dalek rakudo/nom: Small tweaks to $*PERL
11:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/45f905e71d
11:23 xfix Argh, there is something broken about 'next LABEL' syntax.
11:25 xfix https://gist.github.com/xfix/168b7acb134b4a4d83b7
11:26 xfix With boolean controlling the state, it works. With next LABEL syntax, it doesn't.
11:28 lizmat xfix: FROGGS may want to know about that: can you golf it to a potential rakudobug report?
11:28 xfix I may try.
11:28 xfix Except it's NQP.
11:28 xfix But let me see if it applies to Perl 6 as well.
11:32 xfix Hm, should NQP support labels?
11:32 xfix nqp:  WHERE value=42
11:33 camelia nqp-parrot: OUTPUT«Confused at line 2, near "WHERE valu"␤current instr.: 'panic' pc 15653 (gen/parrot/stage2/NQPHLL.pir:5741) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
11:33 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "WHERE valu"␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:panic:106)␤ from gen/moar/stage2/NQP.nqp:917  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/nqp.moarvm:comp_unit:346)␤ fro…»
11:33 camelia ..nqp-jvm: OUTPUT«(timeout)#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid17389.log␤»
11:33 xfix Oops.
11:33 xfix nqp-m: LABEL: for [1] { next LABEL; }; say("world")
11:33 camelia nqp-moarvm: ( no output )
11:33 xfix nqp: LABEL: for [1] { next LABEL; }; say("world")
11:33 camelia nqp-parrot: OUTPUT«␤current instr.: '' pc 91 ((file unknown):59) (/tmp/tmpfile:1)␤»
11:33 camelia ..nqp-moarvm: ( no output )
11:33 camelia ..nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid17446.log␤»
11:33 xfix https://github.com/perl6/nqp/commit/1783628e6614d4121d108c471ff76609718c13c2 was commited 10 days ago, so labels are a new feature.
11:34 xfix for [1] { next LABEL; }; say("world")
11:34 xfix Here is the golfed version.
11:37 thou joined #perl6
11:40 BenGoldberg joined #perl6
11:41 kaare_ joined #perl6
11:41 lizmat the golfed version seems to be missing LABEL ?
11:42 dalek rakudo/nom: 9157d69 | (Elizabeth Mattijsen)++ | src/core/Compiler.pm:
11:42 dalek rakudo/nom: Some $?PERL/$*PERL.compiler tweaks
11:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9157d691bc
11:42 dalek roast: fca90ae | (Elizabeth Mattijsen)++ | S02-magicals/PERL.t:
11:42 dalek roast: Add tests for $?PERL / $*PERL
11:42 dalek roast: review: https://github.com/perl6/roast/commit/fca90ae12f
11:44 xfix Mistake during copying.
11:44 xfix LABEL: for [1] { next LABEL; }; say("world")
11:44 zacts joined #perl6
11:47 dalek rakudo/nom: f37d7f3 | (Elizabeth Mattijsen)++ | t/spectest.data:
11:47 dalek rakudo/nom: Make sure we run the $?PERL / $*PERL tests
11:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f37d7f3d12
11:47 ssutch joined #perl6
11:51 denis_boyun__ joined #perl6
11:52 xfix Spesh: failed to fix up handlers (-1, 110, 110)
11:53 xfix Golfed test case: 'yes 1 | perl6'
11:58 lizmat seems to be a REPL issue
11:59 atroxaper joined #perl6
11:59 lizmat just doing $ perl6 and typing 1 <ENTER>  14 times gives the same error
12:00 lizmat xfix: can you rakudobug that (by sending an email to rakudobug@perl.org ) ?
12:01 lizmat oddly enough, this also happens with MVM_SPESH_DISABLE=1
12:01 apejens joined #perl6
12:02 lizmat moritz: shouldn't we .gitignore the gen directory?
12:04 lizmat and dynext ?
12:05 lizmat and blib
12:05 lizmat so they are not shown on https://github.com/rakudo/rakudo anymore ?
12:06 SamuraiJack joined #perl6
12:12 BenGoldberg joined #perl6
12:18 pippo lizmat: MVM_SPESH_DISABLE=1 perl6
12:18 pippo lizmat: MVM_SPESH_DISABLE=1 perl6-m does not show the bug on my machine.
12:19 pippo afk &
12:21 vendethiel oh, lizmat++ and woolfy++ are coming to fpw2014 :)
12:24 pippo lizmat: export MVM_SPESH_DISABLE=1 && yes 1 | perl6-m
12:34 lizmat pippo: ah, so SPESH *can* be disabled    pippo++
12:34 lizmat cycling&
12:36 moritz lizmat: gen/{jvm,parrot}/.gitignore are tracked
12:36 Ben_Goldberg joined #perl6
12:37 moritz lizmat: that's why they appear on github
12:37 moritz lizmat: could be done otherwise, then the Makefiles would need to be changed to create the dirs first
12:40 molaf joined #perl6
12:45 xenoterracide joined #perl6
12:48 ssutch joined #perl6
12:50 denis_boyun_ joined #perl6
12:50 efg left #perl6
13:03 jnap joined #perl6
13:11 masak xfix, lizmat: I can confirm the 14 1s bug.
13:11 masak actually, I get it after 13.
13:12 masak and any literal seems to do it
13:12 masak declaring 'my $x' and then repeating '$x' doesn't trigger it
13:13 masak repeating "OH HAI" triggers it.
13:13 masak declaring 'my $x = 1' and then repeating '$x' triggers it
13:14 masak repeating 'Nil' doesn't trigger it
13:14 masak repeating 'pi' triggers it
13:14 masak repeating 'Num' doesn't trigger it
13:15 masak repeating 'for 1..10 { say "OH HAI" }' doesn't trigger it
13:15 masak doing '$_ = "x"' and then repeating '$_ ~= "x"' triggers it
13:16 masak doing 'sub foo { "gnarl" }' and then repeating 'foo' triggers it
13:17 masak intermixing '1' and 'Nil' triggers it after exactly 13 '1's
13:18 masak repeating 'say "!"' doesn't trigger it
13:19 masak my guess: internal pointer corruption that doesn't get bad enough to surface until the REPL has output 13 *returned* values from the programs run.
13:21 masak by the way, #perl6ers -- SawyerX++ pointed me to his https://github.com/xsawyerx/yet-another-friday-the-13th -- and I've now PR'd and he's merged my Haskell solution into it.
13:24 atroxaper joined #perl6
13:26 thou joined #perl6
13:26 vendethiel masak: nice ! PR'd LiveScript one :) https://github.com/xsawyerx/yet-another-friday-the-13th/pull/10
13:27 am_ joined #perl6
13:29 am_ left #perl6
13:34 treehug88 joined #perl6
13:36 colomon 12 for me, if you mean "===SORRY!=== Spesh: failed to fix up handlers (-1, 110, 110)"
13:42 xfix 13 for me, with yes | head -13 | perl6-m.
13:43 vendethiel what's yes ?
13:44 vendethiel oh, i see
13:49 ssutch joined #perl6
13:50 xfix yes is infinite list
13:50 xfix I wanted to say, `yes 1`.
13:52 xfix I'm now compiling under Clang, and I get flood of warnings.
13:52 xfix "warning: implicit declaration of function 'MVM_io_eventloop_cancel_work' is invalid in C99 [-Wimplicit-function-declaration]"
13:52 xfix Any reason for it not to be in header file?
13:54 xfix "3520 warnings generated."
13:54 xfix huh
13:58 oetiker joined #perl6
13:58 rurban joined #perl6
14:00 atroxaper joined #perl6
14:00 xfix I also decided to compile MoarVM with runtime warnings (Clang has a flag for this), but it floods me with warnings which cause the application to crash. Not that I expected anything, as I had to modify Makefile manually.
14:07 kurahaupo joined #perl6
14:09 xfix Including something about null pointer usage in ALIGNOF(x) macro.
14:31 FROGGS joined #perl6
14:32 FROGGS o/
14:42 masak xfix: the consensus among Moar developers seems to be that clang is too sensitive for its own good, and making all those warnings go away would be an exercise in futility.
14:44 masak vendethiel: nice, short solution :)
14:44 vendethiel masak: that's the point :P
14:44 masak vendethiel: though TimToady would say that LiveScript is yet another list comprehension language that gets the nesting between the 'if' part and the 'for' part wrong...
14:44 sergot o/
14:45 vendethiel masak: why so ?
14:45 masak (along with Haskell, Python, and a bunch of others)
14:45 vendethiel you can do `a if b for c`
14:45 vendethiel that's totally vali
14:45 vendethiel valid*
14:45 masak oh, good.
14:45 vendethiel coffeescript doesn'"t get this right because of the way it treats POST_IF, but I consider that to be a bug
14:45 masak the way you wrote it is more like `a for c | b`, though
14:45 vendethiel it's exactly |
14:47 masak don't know what you mean to say by that.
14:47 vendethiel I'm using | here, which is an alias to `when`, but that doesn't mean the if part can't be done
14:50 ssutch joined #perl6
14:50 masak no, I mean, the way you wrote it, the condition (whether you call it 'if' or 'when') is nested outside the loop.
14:51 atroxaper moritz: Hello! Just FYI. I could not install the last R* yesterday. But today I installed all three Rakudos. Now I'm going to install Panda. There is hand made R* :-)
14:58 vendethiel masak: no, it's inside the loop.
14:58 vendethiel why would making it postfix make it "outside the loop"?
14:58 vendethiel the loop is delimited by these []
15:00 zakharyas joined #perl6
15:05 zakharyas1 joined #perl6
15:07 FROGGS masak: about clang: I love it, and very often the clang warnings are sensible
15:08 FROGGS so I'd like to fix them, but last time I tried I had problems to invoke clang at all
15:08 vendethiel it's an interesting idea though
15:09 vendethiel just run you unmanaged software in a managed sandbox, fix the bugs, and compile on an unmanaged env
15:10 masak vendethiel: there are three components in a comprehension: an item (to be returned), a loop, and a condition. if the loop comes between the item and the loop, it's "nested wrong".
15:11 masak vendethiel: so `$a if $a for @a` is OK Perl 6, but `$a for @a if $a` is not. (but the corresponding syntax is how you write it in Python and Haskell)
15:11 vendethiel masak: that depends where you see the for.
15:11 vendethiel As I just said, the for is delimited by []
15:11 vendethiel so really, you could see it as `start_for $a in @a if $a end_for`
15:13 thistusooa joined #perl6
15:14 thou joined #perl6
15:15 masak vendethiel: that explanation seems to ignore the location of the actual for *keyword* in the comprehension.
15:15 vendethiel masak: because the keyword is irrelevant here
15:15 vendethiel the keyword doesn't delimit the for
15:15 vendethiel `a for b` is invalid LS, `[a for b]` is
15:16 masak ok.
15:16 masak interesting factoring.
15:17 masak I still prefer the order where the 'if' ends up between item and loop :)
15:17 vendethiel masak: it's mostly due to ambiguities :)
15:17 vendethiel there are already far too way many ways to do it.
15:28 thistusooa joined #perl6
15:29 sqirrel__ joined #perl6
15:30 FROGGS nqp-m: LABEL: for [1] { next LABEL; }; say("world")
15:30 camelia nqp-moarvm: ( no output )
15:30 FROGGS nqp-m: LABEL: for [1] { last LABEL; }; say("world")
15:30 camelia nqp-moarvm: ( no output )
15:30 FROGGS nqp-m: LABEL: for [1] { last; }; say("world")
15:30 camelia nqp-moarvm: OUTPUT«world␤»
15:31 FROGGS nqp-m: LABEL: for [1] { for [2] { last LABEL } }; say("world")
15:31 camelia nqp-moarvm: ( no output )
15:34 BenGoldberg nqp: LABEL: for [1] { next LABEL; }; say("world")
15:34 camelia nqp-parrot: OUTPUT«␤current instr.: '' pc 91 ((file unknown):59) (/tmp/tmpfile:1)␤»
15:34 camelia ..nqp-moarvm: ( no output )
15:34 camelia ..nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤»
15:34 FROGGS we are missing the handler for some reason :/
15:35 FROGGS nqp-m: LABEL: while 1 { last LABEL; }; say("world")
15:35 camelia nqp-moarvm: OUTPUT«world␤»
15:36 FROGGS nqp-j -e 'LABEL: for [1] { last LABEL; }; say("world")'
15:36 FROGGS Unhandled exception; category = 4112
15:36 FROGGS the category is correct though
15:36 FROGGS (4096 for labeled + 16 for 'last')
15:38 FROGGS so, the problem must be in nqp's code-gen for 'for' loops
15:39 FROGGS but funnily: the test in nqp/t/nqp/84-loop-labels.t passes...
15:39 FROGGS bbiab
15:39 FROGGS m: LABEL: for [1] { next LABEL; }; say("world")
15:39 camelia rakudo-moar f37d7f: OUTPUT«world␤»
15:47 masak if the test in nqp/t/nqp/84-loop-labels.t passes, but not the above, then there must be some difference. find that. :)
15:50 ssutch joined #perl6
15:55 xfix Tests are way more complex than this, obviously.
15:55 xfix Perhaps tests fix themselves by running code in tests.
15:58 Ben_Goldberg joined #perl6
16:06 TimToady .oO(maybe they only xfix themselves...)
16:13 masak xfix: that's a possibility, but not the most likely one if you ask me.
16:15 TimToady .oO(TDT)
16:15 molaf_ joined #perl6
16:19 masak TimToady: in our testing course, we have a slide about that. it's titled "Quis custodiet ipsos custodes?"
16:20 * vendethiel winces
16:20 masak oops, sorry.
16:20 vendethiel I'm sorry :P
16:20 * vendethiel just googles again
16:21 masak "who watches the watchmen?"
16:21 vendethiel yea, I got it :-)
16:21 masak far as I understand, that's what the "Watchmen" comics got its name from. (and indeed, it's inherently ambiguous as to whether superheroes are a net good)
16:22 masak the connection with TDD and tests: "you just wrote a test. how do you know it's 'correct'?"
16:24 vendethiel yeah, but you're sure it can be used as a regression test at least :)
16:28 guru joined #perl6
16:32 masak well, sometimes as part of the "green" part of the cycle, I realize I wrote the test wrong, and I go back and re-write it. (if I'm feeling very careful, I re-run the test without the implementation to see it shows red.)
16:33 masak very rarely, I realize after a cycle that the test actually tests the "wrong" thing. then it's context-dependent whether I (a) add another test, (b) change the original test, or (c) change something in the way I do tests in that project.
16:39 vendethiel exactly :)
16:39 vendethiel I usually don't add another test. I obviously change the original test, because it's wrong by now :P
16:43 ajr_ joined #perl6
16:49 anaeem1_ joined #perl6
16:51 ssutch joined #perl6
17:02 thou joined #perl6
17:03 anaeem1 joined #perl6
17:04 japhb Do r-j and r-m currently support the same async IO operations, or are there some things that one of them is not supporting that the other has?
17:06 jnap joined #perl6
17:07 sqirrel__ joined #perl6
17:09 masak vendethiel: well, maybe my definition of "wrong" is a bit liberal here. if it's simply incomplete (but not altogether useless), then I keep it and add another.
17:13 vendethiel fair enough
17:18 * vendethiel just saw Perl6::Junction
17:18 vendethiel how do people do that?
17:19 vendethiel well, operator overloading obviously, but even then
17:19 pippo left #perl6
17:22 pippo joined #perl6
17:35 lizmat japhb: r-j and r-m more or less support the same feature set
17:35 lizmat with the exception of signal()  (doesn't work on JVM) and maybe IO::Socket::Async
17:36 japhb lizmat: from my perusal of source, it looks like r-m doesn't have AsyncFile ... but it at least appears that they both have async sockets.
17:36 lizmat IO::Socket::Async is included in the JVM build and there is not jvm fudging in there
17:36 japhb nodnod.
17:37 japhb So ... no signal on JVM, no async files on moar.
17:37 japhb I guess my async I/O example will be sockets, then.  :-)
17:37 lizmat :-)
17:38 lizmat what's AsyncFile anyway?   It isn't specced]
17:38 japhb src/vm/jvm/core/IOAsyncFile.pm
17:39 japhb IO::Async::File is what it's called there, but I would think it should be IO::File::Async
17:39 hoverboard joined #perl6
17:39 lizmat seems rather experimental to me
17:40 japhb Probably was -- jnthn++ working out his ideas in code
17:40 lizmat yes
17:41 lizmat it has my name in git blame, but that is only because I split the ginormous original file into parts
17:52 ssutch joined #perl6
18:01 lizmat r: say $*VM.precomp-ext
18:01 camelia rakudo-moar f37d7f: OUTPUT«moarvm␤»
18:01 camelia ..rakudo-parrot f37d7f: OUTPUT«pir␤»
18:01 camelia ..rakudo-jvm f37d7f: OUTPUT«jar␤»
18:02 nickpatch joined #perl6
18:02 lizmat wonder if we'll ever have precompiled files with Moar on 8.3 file systems
18:06 dalek rakudo/nom: e88e462 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local/File.pm:
18:06 dalek rakudo/nom: Can now use $*VM.precomp-ext
18:06 dalek rakudo/nom:
18:06 dalek rakudo/nom: So we don't need to do any core setting fudging when compiling the setting
18:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e88e462df4
18:07 lizmat FROGGS: I'm a bit surprised to see multiple paths in CUR::Local::File
18:07 FROGGS lizmat: why are you surprised?
18:07 lizmat I sort of envisioned that each CUR::Local::File would only have *one* path
18:07 FROGGS ahh, yes
18:08 lizmat mind if I change that ?
18:08 FROGGS hold on, I check something
18:09 FROGGS let me change that, I have changed something locally in core/Inc.pm that goes in that direction
18:10 lizmat okidoki  :-)
18:11 cognominal what is the syntax for having a method name that is a parameter of a parametric role?  pseudo-code :      role R[$method-name] {  method $method-name { ... } }
18:12 timotimo that seems just crazy enough to be desirable ...
18:13 cognominal I am almost sure to have seen it somewhere in the nqp/rakudo codebase or doc, but I can't find it.
18:13 lizmat isn't that syntax used for typed hashes ?
18:14 cognominal like?
18:14 lizmat my role TypedHash[::TValue] does Associative[TValue] {
18:14 FROGGS m: role R[$method-name] {  method ::($method-name) { 42 } }
18:14 camelia rakudo-moar f37d7f: OUTPUT«===SORRY!===␤Name ::($method-name) is not compile-time known, and can not serve as a method name␤»
18:14 FROGGS m: role R[$method-name] {  method ::("$method-name") { 42 } }
18:14 camelia rakudo-moar f37d7f: OUTPUT«===SORRY!===␤Name ::("$method-name") is not compile-time known, and can not serve as a method name␤»
18:16 FROGGS that is proper nqp code from Perl6::Grammar:
18:16 FROGGS my role Term[$meth_name, $op] {
18:16 FROGGS token ::($meth_name) { $<sym>=[$op] }
18:16 FROGGS }
18:16 FROGGS nqp: role R[$method-name] {  method ::("$method-name") { 42 } }
18:16 camelia nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/p6eval/hs_err_pid15106.log␤»
18:16 camelia ..nqp-moarvm: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho"␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:106)␤ from gen/moar/stage2/NQP.nqp:1295  (/home/p6eval/rakudo-inst-1/languages/nqp/li…»
18:16 camelia ..nqp-parrot: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho"␤current instr.: 'panic' pc 15653 (gen/parrot/stage2/NQPHLL.pir:5741) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
18:16 FROGGS nqp-m: role R[$method-name] {  method ::("$method-name") () { 42 } }
18:16 camelia nqp-moarvm: OUTPUT«Routine declaration requires a signature at line 2, near "::(\"$metho"␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:106)␤ from gen/moar/stage2/NQP.nqp:1295  (/home/p6eval/rakudo-inst-1/languages/nqp/li…»
18:17 FROGGS nqp-m: my role R[$method-name] {  method ::($method-name) () { 42 } }
18:17 camelia nqp-moarvm: ( no output )
18:17 FROGGS m: my role R[$method-name] {  method ::($method-name) () { 42 } }
18:17 camelia rakudo-moar f37d7f: OUTPUT«===SORRY!===␤Name ::($method-name) is not compile-time known, and can not serve as a method name␤»
18:17 FROGGS yeah... nqp likes it
18:19 cognominal my role TermActionConstant[$meth, $name] {
18:19 cognominal method ::($meth)($/) {
18:19 cognominal make QAST::Var.new( :$name, :scope('lexical') );
18:19 cognominal }
18:19 dalek roast: e484df9 | (Elizabeth Mattijsen)++ | test_summary:
18:19 dalek roast: Fix deprecated use of $*VM<config>
18:19 dalek roast: review: https://github.com/perl6/roast/commit/e484df92c4
18:21 cognominal that is described here :  https://github.com/perl6/specs/blob/master/S02-bits.pod#interpolating-into-names
18:31 hoverboard joined #perl6
18:32 cosimo no .msi for 2014.04 of star?
18:34 atroxaper joined #perl6
18:34 beastd joined #perl6
18:35 FROGGS cosimo: http://irclog.perlgeek.de/perl6/2014-05-05#i_8682627
18:36 FROGGS rakudo star release candiates for windows (as msi):
18:36 FROGGS http://froggs.de/perl6/rak​udo-star-2014.04-moar.msi    (7.5MB)
18:36 FROGGS http://froggs.de/perl6/raku​do-star-2014.04-parrot.msi (17.3MB)
18:36 cosimo FROGGS: excellent, thanks
18:36 FROGGS cosimo: please give me some feedback after you tried it
18:37 cosimo there's some unicode character in there, so links result in 404 (fixed it manually)
18:38 timotimo wow, how did those get in there
18:38 timotimo .u ak​u
18:38 yoleaux U+0061 LATIN SMALL LETTER A [Ll] (a)
18:38 yoleaux U+006B LATIN SMALL LETTER K [Ll] (k)
18:38 yoleaux U+0075 LATIN SMALL LETTER U [Ll] (u)
18:38 FROGGS weird
18:38 timotimo and i can't copypaste them apparently
18:38 FROGGS I copy&pasted these from the irclog
18:38 timotimo can you view-source or inspect-element them?
18:39 FROGGS and I do not see them here or in my editor, but I see them in the url when I click the link
18:39 japhb r: [1].flattens
18:39 camelia rakudo-{parrot,jvm,moar} f37d7f: ( no output )
18:39 japhb r: [1].flattens.say
18:39 camelia rakudo-{parrot,jvm,moar} f37d7f: OUTPUT«1␤»
18:39 japhb ^^ Why does Array have .flattens == 1?
18:40 cosimo FROGGS: first thing is that I'd like to select where to install, rather than C:\rakudo
18:40 cosimo :)
18:40 FROGGS cosimo: nice try :o)
18:41 FROGGS (that means that the built compiler is not relocatable, and I cannot fix that easily)
18:41 FROGGS timotimo: there is nothing to see in the html source...
18:41 timotimo weird :)
18:41 timotimo FROGGS: moar isn't relocatable either, eh?
18:42 FROGGS timotimo: I've never tested it...
18:42 timotimo i wonder what amount of work that would entail
18:42 FROGGS I bet the --prefix is compiled in it so that nqp will explode when it gets moved somewhere else
18:42 timotimo could very well be
18:44 cosimo yes, confirmed
18:44 cosimo :)
18:44 cosimo i understand it's a firstworldproblem, but still
18:46 timotimo it's definitely a nice thing to have.
18:49 dalek specs: ba7e60b | (Elizabeth Mattijsen)++ | S28-special-names.pod:
18:49 dalek specs: Spec Distro.path-sep
18:49 dalek specs: review: https://github.com/perl6/specs/commit/ba7e60b50c
18:51 thou joined #perl6
18:52 molaf joined #perl6
18:53 ssutch joined #perl6
19:05 zakharyas joined #perl6
19:05 dalek rakudo-star-daily: 030247a | coke++ | log/ (13 files):
19:05 dalek rakudo-star-daily: today (automated commit)
19:05 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/030247aa4c
19:05 dalek perl6-roast-data: 03822f4 | coke++ | / (6 files):
19:05 dalek perl6-roast-data: today (automated commit)
19:05 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/03822f42cb
19:07 cosimo where's my 'perl6 Makefile.pl' ?
19:07 dalek rakudo/nom: 7d6acc7 | (Tobias Leich)++ | src/core/ (3 files):
19:07 dalek rakudo/nom: allow CUR classname in RAKUDOLIB, PERL6LIB and -I
19:07 dalek rakudo/nom:
19:07 dalek rakudo/nom: -Ifoo stills results in a CompUnitRepo::Local::File(foo), but now one
19:07 dalek rakudo/nom: has the opportunity to get a CUR::Local::Installation by doing:
19:07 dalek rakudo/nom: -ICompUnitRepo::Local::Installation=foo. Also, CURs only take a single
19:07 dalek rakudo/nom: path now, since we can group every kind of CUR by putting it into an
19:07 dalek rakudo/nom: array-group in @*INC.
19:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7d6acc7a0b
19:07 Ben_Goldberg joined #perl6
19:07 FROGGS cosimo: what do you mean?
19:10 cosimo FROGGS: I'm trying to build LWP::Simple and test it, but there's no Makefile. I tried 'panda install .' but I would expect a 'panda build'
19:10 cosimo which is not there
19:11 cosimo maybe Makefiles are not used anymore?
19:12 cosimo IOW, perl5 has 'make test', rakudo?
19:12 FROGGS wait wait wait
19:12 FROGGS makefiles are supported, just not by panda
19:12 FROGGS when LWP::Simple has no Makefile, then this was the module author's choice
19:13 timotimo you can generate a makefile for your project using ufo
19:13 FROGGS panda install . should work... what is the error you get?
19:13 timotimo (panda install ufo; ufo; make test)
19:13 denis_boyun_ joined #perl6
19:13 cosimo ok, so ufo is still used?
19:13 FROGGS or nmake, depending on your toolchain
19:13 FROGGS it still can be used, yes
19:13 cosimo I switched to linux now, I'm much more at ease
19:14 FROGGS rakudo has a test test target, aye
19:14 cosimo maybe ufo could be embedded in panda providing a 'panda {makefile,build,test} functionality'
19:15 FROGGS hmmm, I'd like to keep them separated
19:15 cosimo why?
19:16 cosimo when i say embedded, i really mean just having one tool to do all of this
19:17 FROGGS panda is not a makefile maker
19:18 cosimo i see
19:18 FROGGS it is just some sort of separation of concern
19:18 cosimo from my point of view, it's all very confusing though
19:18 FROGGS and I do not like to get more complexity into panda
19:18 timotimo hmm.
19:18 timotimo python's setup.py stuff has a target called "develop"
19:18 lizmat also: why would panda make makefiles ?
19:19 timotimo which installs a link to the sources into the global module list
19:19 lizmat it is used to install things
19:19 timotimo so that changes are immediately visible in the whole environment, but it's still "installed"
19:19 lizmat if things can be installed wiithout a makefile, why make one?
19:19 timotimo since we don't have automatic building of sources to precompiled things, that doesn't seem like something we could have soon :|
19:19 cosimo lizmat: how do i 'make test' then?
19:19 FROGGS timotimo: interesting aspect
19:19 FROGGS prove perl6-m t?
19:20 FROGGS prove -e perl6-m t?
19:21 timotimo -Ilib
19:21 cosimo right. all i'm saying is that someone coming from a non-perl background could find all of this very confusing
19:21 timotimo or -Iblib if you've prebuilt
19:21 timotimo but that's what ufo does for you
19:21 cosimo i sure know about prove :)
19:21 timotimo mhm, we're still far away from Enough Documentation™
19:21 Rotwang joined #perl6
19:21 cosimo any preferred paste channel?
19:22 cosimo ufo is failing for me
19:22 timotimo most of the time we use gist
19:22 timotimo would be interested to see how it fails
19:22 timotimo if it only outputs "oh god! a deprecated method was called!", then that's fine
19:23 cosimo https://gist.github.com/cosimo/e3f09982b19dbe320a09
19:23 dalek rakudo/nom: 6745862 | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
19:23 dalek rakudo/nom: Implement Distro.path-sep plus some cleanup
19:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6745862910
19:23 dalek rakudo/nom: 26d6073 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
19:23 dalek rakudo/nom: Use $*DISTRO.path-sep instead of hacking it
19:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/26d607326e
19:23 timotimo oh!
19:23 timotimo yeah, stuff from the eleven branch.
19:23 FROGGS ewww
19:23 cosimo this is freshly build rakudo on moarvm, and ufo
19:23 timotimo i haven't tested the eleven stuff myself yet, though it has just been merged into master a few days ago
19:24 FROGGS it would just need to stringify the path
19:24 timotimo CompUnitRepo::Local::Installation is not Cool? :)
19:24 lizmat FROGGS: but adding a .Str feels wrong
19:24 lizmat what is it doing there ?
19:24 FROGGS lizmat: well, we have now CompUnitRepos in @*INC
19:25 lizmat yes, I understand
19:25 lizmat but doing a split on it
19:25 lizmat what is ufo trying to do ?
19:25 FROGGS splitting it by path-sep I guess
19:25 timotimo https://github.com/masak/ufo/blob/master/bin/ufo#L160
19:25 lizmat path-sep ?
19:25 timotimo called from https://github.com/masak/ufo/blob/master/bin/ufo#L148
19:26 lizmat why that?  does it assume there can be multiple dirs ?
19:26 FROGGS for [\~] $path.split('/').map({"$_/"}) {
19:26 timotimo it's a recursive mkdir
19:26 lizmat that's a dir split
19:26 FROGGS no, just splitting to create dirs like mkdir -p
19:26 itz joined #perl6
19:26 lizmat hmmm... CUR::Local::Installation already has method Str { $!path.Str }
19:26 anaeem___ joined #perl6
19:27 timotimo yes, we just don't call .Str there
19:27 timotimo i'm also not sure if the .split('/') there is a good idea
19:27 lizmat indeed, could also be "\\"
19:27 FROGGS wait, there is "\\" on linux?
19:27 timotimo ufo is linux-only?
19:27 FROGGS everybody is using linux, right?
19:27 FROGGS :P
19:28 timotimo ah
19:28 timotimo m: say Q[\]
19:28 camelia rakudo-moar e88e46: OUTPUT«\␤»
19:28 timotimo say "foo!" ~~ / \w /
19:28 timotimo m: say "foo!" ~~ / \w /
19:28 camelia rakudo-moar e88e46: OUTPUT«「f」␤␤»
19:28 FROGGS m: say "C:\\foo\\bar".IO.cleanup
19:28 camelia rakudo-moar e88e46: OUTPUT«No such method 'cleanup' for invocant of type 'IO::Handle'␤  in block  at /tmp/EKNE1i2gvl:1␤␤»
19:28 timotimo m: say 「\」
19:28 camelia rakudo-moar e88e46: OUTPUT«\␤»
19:28 FROGGS m: say "C:\\foo\\bar".path.cleanup
19:28 camelia rakudo-moar e88e46: OUTPUT«IO::Path<C:\foo\bar>␤»
19:28 timotimo i really like how 「\」 looks, at least in my terminal.
19:31 lizmat so I guess the split needs a .Str added in ufo?
19:31 lizmat it would be compatible with previous version as "a".Str is a noop
19:32 lizmat multi method Str(Str:D:)     { self }
19:32 FROGGS yes, I think that will do
19:37 cognominal what is the eleven branch? need one more for the "twelve monkeys" anyway.
19:38 moritz it's about implementing S11
19:39 * colomon keeps forgetting that and thinking it's 5 + 6 ...
19:40 FROGGS no, not this time :o)
19:43 timotimo though froggs, who was involved in the eleven branch, has also been doing 5 + 6 types of things
19:43 FROGGS and I still do from time to time :o)
19:44 lizmat well, in a way, the work on eleven *will* allow use Foo:from<perl5> start to work  :-)
19:44 lizmat but how exactly, we still need to figure out
19:44 lizmat also depends what's going to happen with http://news.perlfoundation.org/2013/07/hague-grant-application.html
19:44 FROGGS lizmat: :from<Perl5> works already, and allowing to install to a database to not help in making it better
19:45 timotimo ... what
19:45 lizmat ??
19:45 FROGGS m: use Blurb:from<Perl5>
19:45 camelia rakudo-moar 7d6acc: OUTPUT«===SORRY!===␤Do not know how to load code from Perl5␤»
19:45 lizmat m: use Blurb:from<perl5>
19:45 camelia rakudo-moar 7d6acc: OUTPUT«===SORRY!===␤Do not know how to load code from perl5␤»
19:46 FROGGS you see that message because a module loader for Perl5 is not known at that time
19:46 jack_rabbit joined #perl6
19:46 FROGGS when you install v5, it tries to load it
19:46 lizmat ah, no previous "use v5"
19:46 lizmat gotcha
19:46 FROGGS m: use v5
19:46 camelia rakudo-moar 7d6acc: OUTPUT«===SORRY!===␤Could not find Perl5 in any of: /home/p6eval/.perl6/2014.05-119-g7d6acc7/lib, /home/p6eval/rakudo-inst-1/languages/perl6/lib, /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-1/languages/perl6/site/lib, /home/p…»
19:47 lizmat star: use v5
19:47 camelia star-{m,p} 2014.04: ( no output )
19:47 lizmat hehe
19:47 FROGGS I have not easy to solve problems making v5 a pandable dist :/
19:47 FROGGS that star just lies :o)
19:47 lizmat let's work on them
19:47 lizmat BTW, is there going to be a R* release for 2014.05 ?
19:48 FROGGS I'm not sure... LWP::Simple is broken AFAIK
19:48 timotimo seems like nobody volunteered for 2014.05
19:50 timotimo there are a bunch of nice changes in the Bajor release announcement :\
19:50 timotimo bbl
19:53 ssutch joined #perl6
19:59 rurban joined #perl6
19:59 moritz lizmat: I tried to make one, but got compilation hangs
20:00 lizmat yuck
20:00 lizmat R* you mean, right?
20:03 [Coke] lwpsimple broken - i thought only for jvm?
20:03 * [Coke] double checks his tix.
20:04 jack_rabbit joined #perl6
20:04 [Coke] ah, one failure on moar, nearly all fail on jvm
20:11 hovercraft joined #perl6
20:18 cognominal how to ask Perl 6 to print a full backtrace stack on a compilation error?
20:18 FROGGS perl6-m --ll-exception ...
20:18 FROGGS that is all you can do
20:19 cognominal FROGGS++
20:20 lizmat cognominal: I use this alias 6='perl6 --ll-exception -MTest -e'
20:20 cognominal nice
20:22 cognominal very nice    https://www.youtube.com/watch?v=LBduNcf1eQc   my accent is as thick as Borat  :)
20:22 FROGGS *g*
20:23 gggg joined #perl6
20:24 cognominal lizmat++, I don't see any perl 6 presentation from you at fpw.   Decoocooning sounds nice though
20:24 lizmat decocooning has some Perl 6 in it
20:25 lizmat I always have a few Perl6 lightning talks ready
20:25 lizmat we'll see  :-)
20:30 dalek rakudo/nom: 4cccc43 | (Elizabeth Mattijsen)++ | src/core/VM.pm:
20:30 dalek rakudo/nom: Implement VM.prefix (not sure about the name yet)
20:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4cccc43a97
20:30 dalek rakudo/nom: ce6acf7 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
20:30 dalek rakudo/nom: Use $*VM.prefix instead of hacking it
20:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ce6acf71cd
20:33 * colomon is getting some wonky results with laziness
20:33 lizmat laziness pays off now  :-)
20:35 colomon aha!  results are wonky because it ISN'T lazy
20:35 colomon while lines.map(&read-code-data) -> $pair {
20:35 colomon too much editing there….
20:36 atroxaper joined #perl6
20:42 martinzaremba joined #perl6
20:42 dalek roast: f7db8cd | (Elizabeth Mattijsen)++ | S02-magicals/ (2 files):
20:42 dalek roast: Add tests for Distro.path-sep and VM.prefix
20:42 dalek roast: review: https://github.com/perl6/roast/commit/f7db8cdb68
20:44 sergot yay! we've another person from Poland here ! hi martinzaremba o/
20:44 martinzaremba hi @sergot and hi @all. you got me men, I love this lang
20:45 lizmat and it's not actually all men :-)
20:45 martinzaremba sory for that. kind of shortcut for mankind :D
20:46 lizmat which happens to be a very nice bar in Amsterdam  :-)
20:47 sergot martinzaremba is from Poznan too btw
20:47 martinzaremba and both college dropouts :D
20:49 pippo left #perl6
20:49 * martinzaremba testing irc after 5 years break
20:52 masak martinzaremba: greetings.
20:52 masak welcome to... THE FUTURE
20:52 lizmat well, fwiw, I'm a college dropout as well  :-)
20:53 lizmat however, I dropped out because I knew what I wanted to do instead
20:53 lizmat I wouldn't recommend dropping out if you *don't* know what to do instead
20:53 martinzaremba that is absolutely right.
20:53 martinzaremba i am very sure what I am willing to be.
20:54 ssutch joined #perl6
20:54 martinzaremba And I got decent ops job in Egnyte, so… ;]
20:55 lizmat congrats!
20:55 pdcawley joined #perl6
20:56 lizmat .oO( it's been a while since I've seen Piers )
21:00 lizmat FROGGS: if I read your last patch right, *all* path specifications will use the initial class specification
21:01 lizmat I think that's incorrect: you will probably want to specify different classes in  e.g. PERL6LIB
21:01 lizmat also, I think we're going to need some shortcurts:  e.g. inst=lib/InstalledModules
21:02 lizmat where "inst" would be short for CompUnitRepo::Local::Installation
21:02 vendethiel uh, how long has use lib been working ?
21:02 lizmat eh, since like forever
21:02 vendethiel couldn't get it to work on windows with 2014/03
21:02 hoverboard joined #perl6
21:02 lizmat it's used in the spectest
21:02 FROGGS m: say @*INC
21:02 camelia rakudo-moar 26d607: OUTPUT«CompUnitRepo::Local::File(/home/p6eval/.perl6/2014.05-121-g26d6073/lib) CompUnitRepo::Local::File(/home/p6eval/rakudo-inst-2/languages/perl6/lib) CompUnitRepo::Local::File(/home/p6eval/rakudo-inst-2/languages/perl6/vendor/lib) CompUnitRepo::Local::File(/ho…»
21:02 vendethiel then I fucked up something
21:03 FROGGS perl6-m -ICompUnitRepo::Local::Installation=foo -e 'say @*INC[0]'
21:03 FROGGS CompUnitRepo::Local::Installation(foo)
21:03 FROGGS lizmat: ^^
21:04 FROGGS perl6-m -ICompUnitRepo::Local::Installation=foo -Ibar -e 'say @*INC[^2]'
21:04 FROGGS CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::File(bar)
21:04 Ben_Goldberg joined #perl6
21:04 FROGGS lizmat: is that what you mean?
21:05 panchiniak joined #perl6
21:05 FROGGS PERL6LIB=CompUnitRepo::Local::Installation=foo:bar perl6-m -e 'say @*INC[^2]'
21:05 FROGGS CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::Installation(bar)
21:05 lizmat hmmm... I'm getting: $ perl6 -ICompUnitRepo::Local::Installation=foo:bar -e 'say @*INC[0]'
21:05 lizmat CompUnitRepo::Local::Installation(foo:bar)
21:06 cognominal r: my @a=<1>; for @a <-> $a { say $a }
21:06 FROGGS PERL6LIB=CompUnitRepo::Local::Installation=foo:CompUnitRepo::Local::File:bar perl6-m -e 'say @*INC[^2]'
21:06 FROGGS CompUnitRepo::Local::Installation(foo) CompUnitRepo::Local::Installation(CompUnitRepo)
21:06 camelia rakudo-jvm 26d607: OUTPUT«(timeout)»
21:06 camelia ..rakudo-{parrot,moar} 26d607: OUTPUT«1␤»
21:06 FROGGS I'd consider the last one a bug
21:06 lizmat there should be no difference in behaviour between -I and PERl6LIB=
21:07 FROGGS lizmat: according to spec the delim in -I is comma, not colon
21:07 lizmat ah?
21:07 FROGGS otherwise package names might be tricky
21:07 araujo joined #perl6
21:07 araujo joined #perl6
21:07 FROGGS but I dunno what to favor
21:08 lizmat well, historically I think perl 5 observed the path separator of the OS
21:08 lizmat hmmm...  maybe we should have both
21:09 FROGGS so : and ; and , ?
21:09 lizmat comma to indicate same kind of CUR, path sep to allow different CUR's
21:09 lizmat lemme check
21:09 masak 'night, #perl6
21:10 FROGGS gnight masak
21:10 lizmat night masak
21:10 colomon \o
21:10 lizmat perldoc perlrun states: Directories are separated (like in PATH) by a colon on unixish platforms and by a semicolon on Windows (the proper path separator being given by the command "perl −V:path_sep")
21:12 lizmat also, the "=" is used in Perl 5 to indicate symbols to be imported
21:12 lizmat ah, no, that's with -M
21:12 lizmat colomon o/
21:13 colomon lizmat, \o
21:13 lizmat so, separating paths with the same CUR with , and potentially different ones with the path sep
21:13 lizmat is that a plan ?
21:14 FROGGS hmmmm
21:14 lizmat FROGGS: (and I will do the work for that, unless you *really* want to do that)
21:14 FROGGS that is not very intentional
21:15 lizmat -Ifile=Dev/source:inst=Installed/modules,Installed/moremodules
21:16 FROGGS I'd prefer: -ICompUnitRepo::Local::Installation=[foo:bar] for a group I think
21:16 lizmat won't that give problems on the CLI ?
21:16 FROGGS [] works on linux at least
21:16 FROGGS dunno how that works on windows
21:16 FROGGS or if
21:17 mr-foobar joined #perl6
21:17 FROGGS but I am going to bed now
21:17 lizmat ok, gnight FROGGS
21:17 FROGGS gnight
21:17 lizmat FROGGS++  # all the hard work in the background
21:17 FROGGS :o)
21:19 vendethiel FROGGS+++ # get syntax error'd on, please
21:19 * vendethiel is truely evil
21:20 dalek specs: 996b7e2 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
21:20 dalek specs: Add lemma's for CLI and CUR
21:20 dalek specs: review: https://github.com/perl6/specs/commit/996b7e20c0
21:20 lizmat .oO( which is just an anagram for live )
21:25 vendethiel .oO( But I can't decide between going live or being evil ... )
21:28 adu joined #perl6
21:29 sergot good night #perl6 ! o/
21:29 lizmat gnight sergot !
21:30 vendethiel 'night :-)
21:33 lizmat .tell FROGGS I'm also considering making @*INC an object with push/unshift/gist overloaded
21:33 yoleaux lizmat: I'll pass your message to FROGGS.
21:33 lizmat .tell FROGGS so that a say @*INC will create a string that can be used with -I
21:33 yoleaux lizmat: I'll pass your message to FROGGS.
21:34 panchiniak left #perl6
21:34 dalek roast: 6228b9f | (Stéphane Payrard)++ | S04-statements/for.t:
21:34 dalek roast: Added a test for a fail in current rakudos : for @a <-> $_ { $_++ }
21:34 dalek roast:
21:34 dalek roast: Made the preceding tests independant
21:34 dalek roast: review: https://github.com/perl6/roast/commit/6228b9fac9
21:34 lizmat cognominal++
21:48 itz joined #perl6
21:49 martinzaremba joined #perl6
21:55 ssutch joined #perl6
21:56 vendethiel m: my $word = '<a b c>'; my @i = 1, 2; $word[|@i] = <e f>;
21:56 camelia rakudo-moar ce6acf: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Q9Z0XGfxLi�Variable '&prefix:<|>' is not declared�at /tmp/Q9Z0XGfxLi:1�------> [32m $word = '<a b c>'; my @i = 1, 2; $word[[33m�[31m|@i] = <e f>;[0m�»
21:56 vendethiel mmh
21:58 vendethiel Can't I do that ?
21:58 jnthn evening, #perl6
21:58 jnthn ooh, no messages :)
21:58 lizmat jnthn o/
21:59 jnthn o/ lizmat
21:59 lizmat plenty of issues, though  :-)
21:59 vendethiel https://gist.github.com/Nami-Doc/67dc9304a75d4980b16d should that work, or should it not ?
21:59 lizmat vendethiel: not sure what you're trying to achieve
21:59 vendethiel not sure what Str[|@] is supposed to do :)
21:59 vendethiel lizmat: well, trying to replace at several indices at once
22:00 lizmat what's wrong with [@idx] ?
22:00 jnthn lizmat: Plenty of S11 progress too, it seems...
22:00 lizmat jnthn: yeah, still a lot to do though
22:00 lizmat and we broke ufo  :-(
22:00 lizmat fix should be easy though
22:00 BenGoldberg m: my $word = '<a b c>'; $word[1, 2] = <e f>;
22:00 camelia rakudo-moar ce6acf: OUTPUT«===SORRY!===␤Index out of range. Is: 1, should be in 0..0␤»
22:01 lizmat $word only has 1 element
22:01 vendethiel so I can't do that :[ ?
22:01 lizmat vendethiel: did you really want '<a b c>' or <a b c> ?
22:01 vendethiel no, I want my string to be a word, like "hello".
22:01 BenGoldberg m: my $word = <a b c>; $word[1, 2] = <e f>;
22:01 camelia rakudo-moar ce6acf: OUTPUT«Cannot modify an immutable Str␤  in method STORE at src/gen/m-CORE.setting:7297␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2540␤  in block  at /tmp/Paj1amuwX3:1␤␤»
22:02 jnthn vendethiel: Strings are *not* arrays.
22:02 lizmat ah, it's a Parcel
22:02 vendethiel Then I want to replace both ll, so say indices (2, 3) with something else
22:02 vendethiel jnthn: yea, I get that
22:02 jnthn vendethiel: Use .comb if you really want an array of all the chars to work on.
22:02 kivutar joined #perl6
22:02 lizmat m: my $word = <a b c>.list; $word[1,2] = <e f>; say $word
22:02 camelia rakudo-moar ce6acf: OUTPUT«Cannot modify an immutable Str␤  in method STORE at src/gen/m-CORE.setting:7297␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2540␤  in block  at /tmp/UDHehQGojn:1␤␤»
22:02 vendethiel but how can I then modify my string like I'm doing here?
22:03 vendethiel I need to store the comb version, replace in it, then store the joined string, right?
22:03 lizmat m: my @word = <a b c>.list; @word[1,2] = <e f>; say $word
22:03 camelia rakudo-moar ce6acf: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/OSHFasO_Ppâ�¤Variable '$word' is not declared. Did you mean '@word'?â�¤at /tmp/OSHFasO_Pp:1â�¤------> [32mb c>.list; @word[1,2] = <e f>; say $word[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤  â€¦Â»
22:03 lizmat m: my @word = <a b c>.list; @word[1,2] = <e f>; say @word
22:03 camelia rakudo-moar ce6acf: OUTPUT«a e f␤»
22:03 lizmat m: my $word = <a b c>.list; $word.elems.say
22:03 camelia rakudo-moar ce6acf: OUTPUT«3␤»
22:04 lizmat so, if I use @ as the sigil, it's ok, but not when I use $ as the sigil?
22:04 vendethiel lizmat: no, you just did say $word, I think
22:04 lizmat m: my @word = <a b c>.list; @word[1,2] = <e f>; say @word   # works as expected, no?
22:04 camelia rakudo-moar ce6acf: OUTPUT«a e f␤»
22:05 hoverboard joined #perl6
22:05 lizmat m: my @word = <a b c>; @word[1,2] = <e f>; say @word   # even without the .list ?
22:05 camelia rakudo-moar ce6acf: OUTPUT«a e f␤»
22:05 lizmat yup
22:05 vendethiel yea, but not really a one-liner anymore :(
22:08 lizmat vendethiel: also, the "* ~~ $_" feels wrong
22:08 vendethiel lizmat: oh yea, should be eq
22:09 vendethiel so, no real way to update multiple indices of a string ?
22:09 vendethiel in a one-liner
22:11 lizmat checking
22:12 lizmat m: my $a = "foobar"; substr-rw($a,2,2) = "zz"; say $a
22:12 camelia rakudo-moar ce6acf: OUTPUT«fozzar␤»
22:12 lizmat substr-rw is the trick, I think
22:12 vendethiel m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,@i) = "z" xx +@i; say $a
22:12 camelia rakudo-moar ce6acf: OUTPUT«fooz z z␤»
22:13 vendethiel lizmat: ^ that's basically what I'm trying to do
22:14 lizmat substr-rw is defined as: multi sub substr-rw($s is rw, $from = 0; $chars = $s.chars - $from) is rw
22:14 lizmat so you can only do a set of consecutive chars at once
22:14 vendethiel damn D:
22:15 lizmat shouldn't be too hard to writ your own subst with this though  :-)
22:16 lizmat hmmm... maybe with subst
22:17 lizmat method subst(Str $self: Regex $search, Str $replacement --> Str);
22:17 lizmat naaah, probably not..   you could probably rig up the Regexp the correct way, but the substitution string would still be a problem
22:22 lizmat it's late again, calling it a day again...
22:22 lizmat gnight, #perl6!
22:22 jnthn o/
22:25 colomon he's back!
22:26 colomon he's been back, and I didn't notice because I was off making a milkshake for the kid!
22:26 * jnthn didn't drink a milkshake in some years :)
22:28 pdcawley joined #perl6
22:31 vendethiel .tell lizmat no, the replacement is fixed. but I'd need to generate stuff like <before "."x$len-1> ... stuff
22:31 yoleaux vendethiel: I'll pass your message to lizmat.
22:38 vendethiel and yeah I know it'd be easy to build my own, but then it adds a lot of lines to my answer :(
22:45 ssutch joined #perl6
22:47 ssutch_ joined #perl6
22:47 sorear joined #perl6
23:01 BenGoldberg m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,$_) = "z"  for @i; say $a
23:01 camelia rakudo-moar ce6acf: OUTPUT«===SORRY!===␤Start of substr out of range. Is: 3, should be in 0..2␤»
23:01 BenGoldberg m: my $a = "foobar"; my @i = 1, 3, 5; substr-rw($a,$_,1) = "z"  for @i; say $a
23:01 camelia rakudo-moar ce6acf: OUTPUT«fzozaz␤»
23:02 vendethiel BenGoldberg: I can just use $a[$_] = "z" at that point though, can't I ?
23:03 vendethiel m: my $a = "foobar"; my @i = 1, 3, 5; $a[$_] = "z"  for @i; say $a
23:03 camelia rakudo-moar ce6acf: OUTPUT«===SORRY!===␤Index out of range. Is: 1, should be in 0..0␤»
23:03 vendethiel fair enough, uh
23:03 vendethiel https://gist.github.com/Nami-Doc/67dc9304a75d4980b16d
23:03 vendethiel BenGoldberg++
23:12 ssutch joined #perl6
23:13 BenGoldberg In neither perl5 nor perl6 can strings be treated as arrays of characters.  That's a C-ism that was never considered necessary or useful.
23:18 vendethiel BenGoldberg: some languages have it that way and they're in no way comparable to C
23:20 BenGoldberg It's really a question of what's considered useful.  Perl5 (or was it perl4?) decided if you used a string as an array, you were trying to manipulate a global array whose name was the same as the contents of the string.
23:21 geekosaur ???
23:21 geekosaur perl5 treats strings the same way perl3 did
23:21 geekosaur and perl4
23:22 BenGoldberg @a = 'foo'; $b = 'a'; print $b->[0]; # prints foo
23:22 hoverboard joined #perl6
23:22 vendethiel wtf?
23:22 geekosaur oh, I see, you mean symbolic refs
23:22 BenGoldberg That's in perl5, if you don't have strict enabled.
23:22 vendethiel that's probably the biggest WTF I've ever seen in a language
23:23 BenGoldberg heh
23:23 geekosaur actually symbolic refs are fairly old
23:23 BenGoldberg Pre perl 4?
23:23 geekosaur in perl they're a perl5-ism
23:24 geekosaur (perl4 didn't have refs at all)
23:24 BenGoldberg Ahh
23:24 geekosaur but in other languages they go back to the mid 1950s
23:24 geekosaur and are mostly looked on these days as an ancient and bad idea
23:24 BenGoldberg One of many reasons for 'use strict' in perl5 code.
23:49 SevenWolf joined #perl6
23:56 telex joined #perl6

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

Perl 6 | Reference Documentation | Rakudo