Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-01-11

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:19 cognominal_ joined #perl6
00:29 cognominal joined #perl6
01:14 hypolin joined #perl6
01:21 anuby joined #perl6
01:24 am0c joined #perl6
01:24 cognominal joined #perl6
01:37 Psyche^ joined #perl6
01:45 cognominal joined #perl6
01:48 felher good night, #perl6 :)
01:49 sorear good night felher
01:52 telex joined #perl6
02:02 flussence someone tell me if this idea is insane: for the specced Buf subtypes like utf8 and utf16 (S32/Containers:959), it should be allowable to use them as a string directly (where the runtime will lazily .decode it)
02:08 timotimo can .decode ever fail from a utf8 or utf16 buf?
02:09 timotimo they don't have to be valid when created, right?
02:09 flussence those are specced to always contain valid strings... but if laziness is thrown in I can see how it'd fail part way through
02:09 flussence hm
02:09 flussence maybe this is insane after all
02:11 skids After having fought with Qstring, string, .c_str, and relatives in C++ for most of today all I can say is I hope we don't end up with a mess like that.
02:11 am0c joined #perl6
02:12 flussence I'll just skip to the actual problem: what types do qx{echo foo} and qx{gunzip -c foo.gz} return?
02:13 cognominal_ joined #perl6
02:20 cognominal_ joined #perl6
02:33 cognominal_ joined #perl6
02:38 skids flussence: the test suite has @two_lines = q:x/echo hello ; echo world/;.  I'd say this makes it analogous to IO.lines.
03:37 hash_table joined #perl6
03:41 slayer101_ joined #perl6
03:42 zseymour joined #perl6
03:42 orafu joined #perl6
03:47 GeekSmile joined #perl6
03:59 cognominal joined #perl6
04:12 LlamaRider joined #perl6
04:33 preflex_ joined #perl6
04:46 adu_ joined #perl6
05:07 grondilu joined #perl6
05:08 grondilu t: my @a[2] = <foo bar>;
05:08 grondilu rn: my @a[2] = <foo bar>;
05:08 p6eval rakudo 3c475e: OUTPUT«[31m===[0mSORRY![31m===[0m�Shaped variable declarations is not yet implemented. Sorry. �at /tmp/4g3_IGgyhx:1�------> [32mmy @a[2][33m�[31m = <foo bar>;[0m�»
05:08 p6eval ..niecza v24-16-g89e47b6: OUTPUT«[31m===[0mSORRY![31m​===[0mâ�¤â�¤Postconstraints, and shapes on variable declarators NYI at /tmp/PZLvLMG50p line 1:â�¤------> [32mmy @a[2] [33mâ��[31m= <foo bar>;[0mâ�¤â�¤Potential difficulties:â�¤  @a is declared but not used at /tmp/PZLvLMG50p line 1:â�¤------> …
05:09 grondilu rn: my int $x = 0; say ++$x
05:09 p6eval niecza v24-16-g89e47b6: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/4SrVhUVhKy line 1:�------> [32mmy[33m�[31m int $x = 0; say ++$x[0m��Parse failed��»
05:09 p6eval ..rakudo 3c475e: OUTPUT«Cannot assign to a non-container␤  in sub prefix:<++> at src/gen/CORE.setting:3128␤  in block  at /tmp/ZXyoBztThN:1␤␤»
05:30 telex joined #perl6
05:35 _jaldhar joined #perl6
05:45 dayangkun joined #perl6
05:54 _jaldhar joined #perl6
06:17 slayer101_ joined #perl6
06:23 moritz \o
06:26 thou joined #perl6
06:26 adu joined #perl6
06:31 thou joined #perl6
06:35 SamuraiJack joined #perl6
06:57 kaleem joined #perl6
07:11 grondilu rn:  my $txt = "bye";  END { say $txt };
07:11 p6eval rakudo 3c475e, niecza v24-16-g89e47b6: OUTPUT«bye␤»
07:14 sisar joined #perl6
07:21 Pleiades` joined #perl6
07:39 bloonix joined #perl6
07:49 * moritz remebers the bad old times when END wouldn't see lexicals
07:50 FROGGS joined #perl6
07:52 FROGGS morning
08:22 quester joined #perl6
08:29 grondilu moritz: yep indeed that's what I was testing here.
08:46 sqirrel joined #perl6
08:54 quester left #perl6
08:59 dayangkun joined #perl6
09:01 bitonic joined #perl6
09:20 kresike joined #perl6
09:20 kresike hello all you happy perl6 people
09:21 cognominal joined #perl6
09:47 Psyche^ joined #perl6
10:19 MayDaniel joined #perl6
10:25 jnthn good day, #perl6 o/
10:26 FROGGS hi jnthn, kresike
10:26 FROGGS o/
10:27 kresike FROGGS, o/
10:27 kresike jnthn, o/
10:28 FROGGS jnthn: do you get a chance to look at my bugfix branch? https://github.com/rakudo/ra​kudo/tree/froggs_mergemulti
10:28 FROGGS tests are in roast under the same branchname
10:34 jnthn FROGGS: No, I forgot. D'oh!
10:34 jnthn Will look at it tonight or in the weekend
10:34 FROGGS cool
10:35 FROGGS very cool ;o)
10:35 FROGGS what are 'tuits' anyway? it's an abbreviation, but for what?
10:36 hoelzro FROGGS: for when you get around "to it"
10:36 FROGGS -.-
10:36 FROGGS *narf*
10:37 FROGGS hoelzro: thanks
10:45 moritz FROGGS: http://szabgab.com/img/fosdem_2010_tuits.jpg these are tuits :-)
10:46 moritz a hardware pun :-)
10:47 FROGGS ... and I've even seen these at the YAPC::EU :o)
10:49 * jnthn has a 2013 one :)
10:50 FROGGS can I order these?
10:51 FROGGS I have none ó.ò
10:52 jnthn Just go to a conf with the appropriate people there ;)
10:52 FROGGS now?
10:53 jnthn Well, I got my 2013 one at London Perl Workshop :)
10:53 * FROGGS likes stuff he can buy from his seat and pay via paypal
10:53 jnthn ah, no idea if tuits can be obtained in that way :)
10:55 * tadzik misses Perl conferences
10:55 wooden joined #perl6
10:55 wooden joined #perl6
10:55 moritz tadzik: going to YAPC::EU?
10:55 tadzik moritz: sure
10:55 tadzik I even registered already :)
10:56 tadzik perhaps we should actually host one here
10:56 * jnthn will be at YAPC::EU for sure
10:56 jnthn There'a a Perl 6 hackathon the day before YAPC::EU :)
10:56 * moritz is very optimistic that he can convince $work to send hm
10:56 moritz s/hm/him/
10:56 moritz especially since I'm skipping GPW
10:56 jnthn I'm considering doing YAPC::NA for the first time ever this year also :)
10:56 FROGGS moritz: I was able to last year, but I dont think that will work for Kiew
10:57 FROGGS but I will be there
10:57 FROGGS (with wife and kids)
10:57 jnthn tadzik: If you host a workshop there, I'd certainly like to come :)
10:57 tadzik jnthn: even if it's one day long?
10:57 jnthn tadzik: Sure :)
10:57 tadzik hm
10:57 jnthn tadzik: It's not very far to come.
10:58 tadzik sure :) I'll think of something
10:58 tadzik but maybe after the exams hell
10:58 jnthn :)
10:58 tadzik there is at least one other PM group member who's positive about organizing something
10:59 * jnthn wonders who's gonna do NPW this year
11:01 * moritz wonders if he can do a micro p6 hackathon at $Home
11:08 FROGGS moritz: $alone @ $home?
11:08 FROGGS should be possible
11:10 moritz FROGGS: not quite alone :-)
11:10 FROGGS where are you living again?
11:10 FROGGS near Frankfurt/Main, right?
11:11 moritz near Nuernberg
11:12 FROGGS ahh
11:12 FROGGS I might be in Eckental at the 21st (Monday)
11:16 FROGGS so if you are interested in any('beer', 'talk'), I should be available on sunday afternoon (Jan, 20th)
11:17 woosley left #perl6
11:20 moritz FROGGS: that would be great
11:24 dalek roast/froggs_multibyte: 7bcb012 | (Tobias Leich)++ | S32-io/ (3 files):
11:24 dalek roast/froggs_multibyte: tests for binary data
11:24 dalek roast/froggs_multibyte:
11:24 dalek roast/froggs_multibyte: Test that we can write+read and write+recv binary data.
11:24 dalek roast/froggs_multibyte: review: https://github.com/perl6/roast/commit/7bcb012a23
11:24 dalek roast/froggs_multibyte: c07dfde | (Tobias Leich)++ | S32-io/IO-Socket-INET.t:
11:24 dalek roast/froggs_multibyte: tests for multibyte chars successful
11:24 dalek roast/froggs_multibyte:
11:24 dalek roast/froggs_multibyte: .recv can handle it now, unfudging these tests.
11:24 dalek roast/froggs_multibyte: review: https://github.com/perl6/roast/commit/c07dfde057
11:24 dalek roast/froggs_multibyte: 8e9c8d3 | (Tobias Leich)++ | S (5 files):
11:24 dalek roast/froggs_multibyte: Merge branch 'master' of git://github.com/perl6/roast
11:24 dalek roast/froggs_multibyte: review: https://github.com/perl6/roast/commit/8e9c8d39d6
11:26 FROGGS there's a froggs_multibyte branch in rakudo too, fixing RT #115862 and allowing one to write/read/recv binary data
11:27 FROGGS spectests passes of course
11:27 moritz \o/
11:28 moritz FROGGS: why the try-block in .recv?
11:28 FROGGS because if you recv binary stuff, or malformed utf8 it would fail
11:29 moritz and now if it fails, it just fails silently?
11:29 FROGGS no, you get a binary string
11:30 moritz binary strings should be Buf
11:30 moritz not Str
11:30 moritz the caller must decide whether .recv should be binary (thus returning a Buf) or text (and thus dying/failing on failed decoding attempts)
11:31 moritz potentially returning a Str with binary data in it, depending on what the socket receives, is perl 5 thinking :-)
11:31 FROGGS okay, I can add a param $bin like slurp has
11:32 moritz FROGGS: +1
11:32 FROGGS and if someone requests to get bin, he get Buf otherwise Str||die, okay?
11:32 moritz right
11:32 FROGGS k
11:33 FROGGS will change it today, must do a bit $work now :/
11:33 moritz no hurry
11:33 FROGGS just wanted to say so that the branch wont get merged yet
11:34 moritz FROGGS: ok. Usually we don't just merge other people's branches without asking first
11:34 moritz (unless we know exactly that it only waited for $X, and $X has happened just now :-)
11:34 FROGGS right
11:35 FROGGS (good habits)++
11:36 jnthn moritz: btw, I wrote in my last blog post that I plan to do a bunch of stuff on type system related improvements (natives, parametric things, definedness types, coercion types)...is there anything else you'd especially like to see me throw tuits at?
11:38 moritz jnthn: no. Just wanted to remind you that rjt_pl said he might help with compact types; if you have self-contained tasks for him, ping him
11:38 moritz (I also have his email address)
11:39 jnthn moritz: we privmsg'd a while back and I gave some pointers on one fairly self-contained task :)
11:39 moritz ok, great
11:40 jnthn OK, so I work on those things at the JVM support :)
11:40 jnthn *and
12:00 _jaldhar joined #perl6
12:02 LordVorp joined #perl6
12:04 sunnavy joined #perl6
12:10 stevan_ joined #perl6
12:46 brrt joined #perl6
13:22 dayangkun joined #perl6
13:28 FROGGS[mobile] joined #perl6
13:32 nyuszika7h joined #perl6
13:32 nyuszika7h joined #perl6
13:35 wk joined #perl6
13:44 PacoAir joined #perl6
13:52 pmurias joined #perl6
13:53 pmurias jnthn: do you think it would be possible to have a common QAST test suit for jvm and js (and parrot) backends?
13:58 dalek rakudo-js: e636aa6 | (Paweł Murias)++ | / (11 files):
13:58 dalek rakudo-js: Pass tests 25,26. Create a nqpmojs module which contains the meta model.
13:58 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/e636aa6820
13:58 dalek rakudo-js: 9e9073d | (Paweł Murias)++ | / (5 files):
13:58 dalek rakudo-js: Add attributes. Pass tests 26 and 27.
13:58 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/9e9073d2b9
13:59 FROGGS joined #perl6
14:06 tadzik hehe. My compilers assignment works unless it encounters masak :D
14:06 tadzik aka: lex doesn't like utf-8
14:23 hash_table joined #perl6
14:25 pmurias jnthn: as I'm afraid with unit tests for QAST I'll end up supporting on the subset used by nqp
14:27 atrodo joined #perl6
14:28 kresike joined #perl6
14:29 dalek rakudo-js: 9cb001c | (Paweł Murias)++ | src/how/NQPClassHOW.pm:
14:29 dalek rakudo-js: use an unmodified NQPClassHOW.pm
14:29 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/9cb001c36d
14:29 dalek rakudo-js: 4f3e3fb | (Paweł Murias)++ | src/QAST/Compiler/JavaScript.nqp:
14:29 dalek rakudo-js: avoid accidently ignoring exceptions
14:29 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/4f3e3fb04c
14:52 kaare_ joined #perl6
15:00 stopbit joined #perl6
15:01 pmurias joined #perl6
15:02 kaleem joined #perl6
15:16 arnsholt Bah! Doesn't seem to be a way to get paste (GNU version at least) to use a zero byte as the separator
15:21 bro_grammer joined #perl6
15:23 fgomez joined #perl6
15:29 SunilJoshi joined #perl6
15:29 sizz_ joined #perl6
15:29 bluescreen10 joined #perl6
15:33 jnthn pmurias: There's also t/qast/qast.t
15:34 jnthn pmurias: The main reason I built something else for JVM is just that the way I went about doing the JVM work made qast.t hard to steal from because it was written assuming the compiler is in-process.
15:43 kivutar joined #perl6
15:47 rurban pmurias: you need to create gen in your rakudo-js Makefile. /bin/sh: 1: cannot create gen/nqpmojs.pm: Directory nonexistent
15:49 pmurias rurban: thanks
15:49 pmurias jnthn: I have seen nqp/t/qast/qast.t before
15:50 pmurias jnthn: in nqp-js the compiler is also not in-process
15:52 pmurias rurban: fixed
15:52 dalek rakudo-js: 7fdfcfb | (Paweł Murias)++ | / (2 files):
15:53 dalek rakudo-js: Fix Makefile, add gen/.gitignore.
15:53 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/7fdfcfb7c4
15:54 jnthn pmurias: Right. You may find the t/qast_* in nqp JVM more helpful
15:55 rurban oh, I did almost the same just now
15:55 pmurias rurban: the code is in a bit of a mess as I'm switching to a new way of serializing/deserializing objects and I'm trying to get the tests passing again before removing the old code
15:57 * jnthn is very happy about the convergence on the serialization stuff
15:57 jnthn And with NQPClassHOW.
15:57 jnthn pmurias++
15:58 * pmurias is very happy just coping over parts of nqp setting works
15:58 jnthn \o/
15:58 jnthn I'm hoping for similar experience with the JVM port :)
16:00 rurban pmurias: not bad, most nqp tests pass. all of yours.
16:01 pmurias rurban: more tests used to pass before the refactoring (the commented line in run_tests)
16:01 rurban now we can compare nqp-js to perlito
16:05 pmurias rurban: performance wise?
16:06 erkan joined #perl6
16:06 erkan joined #perl6
16:06 rurban perf and features.
16:07 rurban But I have to fly to Orlando now in 30mins.
16:09 colomon joined #perl6
16:10 kresike bye folks
16:12 colomon rn: say "#24 = TEST"..subst(/"#" (\d+) (\s* "=")?/, -> { $1 ?? qq[<A name="line{ $0 }">#{ $0 }</A>=]
16:12 colomon !! qq[<A href="#line{ $0 }">#{ $0 }</A>] }, :g);
16:12 p6eval rakudo 3c475e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Found ?? but no !!â�¤at /tmp/ddeMO0Lk_N:1â�¤------> [32m?? qq[<A name="line{ $0 }">#{ $0 }</A>=][33mâ��[31m<EOL>[0mâ�¤Confusedâ�¤at /tmp/ddeMO0Lk_N:1â�¤------> [32m?? qq[<A name="line{ $0 }">#{ $0 }</A>=][33mâ��[31m<EOL>[0mâ�¤    expecting an…
16:12 p6eval ..niecza v24-16-g89e47b6: OUTPUT«[31m===[0mSORRY![31m===[0m��Found ?? but no !! at /tmp/CuIShDzLG8 line 1 (EOF):�------> [32m?? qq[<A name="line{ $0 }">#{ $0 }</A>=][33m�[31m<EOL>[0m��Confused at /tmp/CuIShDzLG8 line 1 (EOF):�------> [32m?? qq[<A name="line{ $0 }">#{ $0 }</A>=][…
16:12 colomon doh
16:13 colomon rn: say "#24 = TEST"..subst(/"#" (\d+) (\s* "=")?/, -> { $1 ?? qq[<A name="line{ $0 }">#{ $0 }</A>=] !! qq[<A href="irc://irc.freenode.net/#line{ $0 }">#{ $0 }</A>] }, :g);
16:13 p6eval rakudo 3c475e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routine:â�¤    subst used at line 1â�¤â�¤Â»
16:13 p6eval ..niecza v24-16-g89e47b6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'subst' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at /ho…
16:13 colomon rn: say "#24 = TEST".subst(/"#" (\d+) (\s* "=")?/, -> { $1 ?? qq[<A name="line{ $0 }">#{ $0 }</A>=] !! qq[<A href="irc://irc.freenode.net/#line{ $0 }">#{ $0 }</A>] }, :g);
16:13 p6eval rakudo 3c475e: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in block  at /tmp/MYB9vwPcgq:1␤␤»
16:13 p6eval ..niecza v24-16-g89e47b6: OUTPUT«<A name="line24">#24</A>= TEST␤»
16:13 colomon rn: say "#24 = TEST".subst(/"#" (\d+) (\s* "=")?/, -> $dummy { $1 ?? qq[<A name="line{ $0 }">#{ $0 }</A>=] !! qq[<A href="irc://irc.freenode.net/#line{ $0 }">#{ $0 }</A>] }, :g);
16:13 jnthn colomon: Did you mean -> $/ { ... } ?
16:13 p6eval niecza v24-16-g89e47b6: OUTPUT«Potential difficulties:â�¤  $dummy is declared but not used at /tmp/8r33NWyX8f line 1:â�¤------> [32m TEST".subst(/"#" (\d+) (\s* "=")?/, -> [33mâ��[31m$dummy { $1 ?? qq[<A name="line{ $0 }">#[0mâ�¤â�¤<A name="line24">#24</A>= TESTâ�¤Â»
16:13 p6eval ..rakudo 3c475e: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/G0QHCMlbDd:1␤␤use of uninitialized value of type Any in string context  in block  at /tmp/G0QHCMlbDd:1␤␤<A href="irc://irc.freenode.net/#line">#</A> TEST␤»
16:14 colomon jnthn: does rakudo not set $/ automatically in subst?
16:15 jnthn colomon: No, due to longstanding unresolved spec issue
16:15 jnthn Essentially, what $/ should it set.
16:16 colomon rn: say "#24 = TEST".subst(/"#" (\d+) (\s* "=")?/, -> $/ { $1 ?? qq[<A name="line{ $0 }">#{ $0 }</A>=] !! qq[<A href="irc://irc.freenode.net/#line{ $0 }">#{ $0 }</A>] }, :g);
16:16 p6eval rakudo 3c475e, niecza v24-16-g89e47b6: OUTPUT«<A name="line24">#24</A>= TEST␤»
16:16 jnthn hm, I thought there was a spec ticket for it
16:16 colomon the good news is -> $/ appears to be a portable workaround
16:18 colomon (the bad news is I've been able to do all this experimenting while waiting for niecza to finish running my script)
16:20 FROGGS colomon: that's some sort of parallel computing, right?
16:20 FROGGS so you can work while waiting for something to finish
16:21 colomon FROGGS: it's the sort of parallel computing I frequently do for $work.  I've also got a giant test running on my big Linux box.
16:21 timotimo i think the experts call it "multiprogramming"
16:22 FROGGS colomon: when I have to wait it is mostly when recompiling rakudo
16:22 FROGGS ... and calculating fees at $work, but I do that just once a month
16:25 colomon ooo, slow niecza time was a bug in lines rather than general slowness of script
16:26 dalek rakudo/froggs_multibyte: 36a7d0f | (Tobias Leich)++ | src/core/IO/Socket.pm:
16:26 dalek rakudo/froggs_multibyte: .recv will return a Buf in binmode, Str otherwise
16:26 dalek rakudo/froggs_multibyte:
16:26 dalek rakudo/froggs_multibyte: So you wont end up with binary data in a Str. If binmode is
16:26 dalek rakudo/froggs_multibyte: turned off, the received data will be an utf8 encoded string.
16:26 dalek rakudo/froggs_multibyte: An exception is thrown if it is unable to do so.
16:26 dalek rakudo/froggs_multibyte: review: https://github.com/rakudo/rakudo/commit/36a7d0f0b5
16:27 * colomon probably should think about fixing the bug in lines, but $work and all -- yes, the p6 script I'm running is for $work.  ;)
16:28 dalek roast/froggs_multibyte: a793f13 | (Tobias Leich)++ | S32-io/IO-Socket-INET. (2 files):
16:28 dalek roast/froggs_multibyte: expect .recv( bin => True ) to return Buf
16:28 dalek roast/froggs_multibyte: review: https://github.com/perl6/roast/commit/a793f13e97
16:29 FROGGS colomon: cool, I hope I will be able to use it at $work soon too
16:29 FROGGS we have several smaller jobs that can be replaced
16:32 * [Coke] tries to build pugs on his laptop, gets a bizarre compilation error. *sigh*
16:44 colomon jnthn: if you're bored anytime soon, https://gist.github.com/4512156 runs about 5x faster on niecza than on rakudo.  (That's given a suitably large STEP file to crunch.)
16:45 * colomon notes that even rakudo is probably fast enough for his purposes, so it's in no way a blocker to his $work.
16:47 revdiablo joined #perl6
16:47 kaleem joined #perl6
16:51 pmurias jnthn: is the size of the binary serialization data a concern?
16:51 FROGGS hmmm, somthing is wrong with the random number generator
16:52 FROGGS I get same results for pick very often now
16:52 pmurias jnthn: I notice it's doing things like using a 64bit int for the number of attributes
16:52 FROGGS S32-list/roll.t test 40 that is
16:53 jnthn pmurias: Well, it's probably not number of attributes, but size of array.
16:53 colomon FROGGS: examples which demonstrate this here on the channel?  I know moritz recently changed that code...
16:54 jnthn pmurias: In which case it could be pretty large in general.
16:54 FROGGS colomon: here: https://gist.github.com/dc62f660acbc8060954f
16:54 jnthn pmurias: I suspect various tricks could be done to make it smaller. I guess the answer is that it's not been a concern so far because it wasn't going over the wire. :)
16:55 colomon FROGGS: woah, that's not the sort of thing I was expecting to see!
16:55 FROGGS colomon: about 70% of the tests fail
16:55 colomon FROGGS: that definitely seems bad
16:55 FROGGS thats the case when all three runs are the same
16:56 colomon r: say ~(1..100).pick(5)
16:56 p6eval rakudo 3c475e: OUTPUT«10 94 6 58 79␤»
16:56 colomon r: say ~(1..100).pick(5)
16:56 p6eval rakudo 3c475e: OUTPUT«88 98 37 97 26␤»
16:56 jnthn FROGGS: Platform?
16:56 FROGGS linux
16:56 jnthn I see similar on Windows...
16:56 FROGGS ubuntu x64
16:56 jnthn OK, not platform specific.
16:56 jnthn hm, I'm on 64-bit also
16:57 FROGGS how is it initialized? using the clock, right?
16:57 FROGGS if this is the case, maybe it isnt HiRes enough
16:58 PerlJam a RNG initialized from a clock?  that can't be right.
16:58 sisar joined #perl6
17:00 FROGGS I have no idea, is just a guess
17:01 fgomez joined #perl6
17:03 jeffreykegler joined #perl6
17:09 FROGGS how can it be then that there are no equals when I put a sleep between the calls?
17:10 FROGGS I mean you somehow must seed it, and one thing that changes is time, so it is not that absurd
17:12 FROGGS PerlJam: https://github.com/perl6/nqp/commit/b2​e3f277a4da4b1d32e7c6c977e13b2383e38541
17:13 jnthn hm, so two runs within the same second will get the same seed.
17:15 arnsholt PerlJam: I think most implementations will use the clock as the default seed if nothing else is specified
17:16 jnthn Time is fine if you aren't going for cryptograhpically strong.
17:16 PerlJam What does Perl 5 use?
17:18 * masak rolls onstage like Sonic the Hedgehog
17:18 masak #perl6! \o/
17:19 timotimo masak: feeling blue today?
17:20 masak :)
17:20 PerlJam looks like Perl 5 uses the time, plus the process id, plus some other numbers
17:20 masak timotimo: blue and prickly, perhaps :)
17:21 PerlJam (or /dev/urandom if it exists)
17:22 arnsholt Oh, neat!
17:22 moritz now that I've thought about it for a while, I could simply use a random number from parrot's PRNG to seed the system one
17:22 moritz that way we only have to worry about one of them
17:22 FROGGS process id would help to (in addition to time)
17:22 FROGGS too*
17:23 moritz yes, but then I have to worry about arithmetics and overflow and all that stuff before doing the initialization
17:23 timotimo i say mix the process id into the higher bits of the seed
17:24 timotimo hm, thinking about it some more, that seems unnecessary
17:24 timotimo but using parrots PRNG seems like a good idea. that way parrot can just come up with better seeding and all parrot-using programs would improve
17:24 arnsholt If you read your seed from /dev/urandom you're pretty well set up for most cases I think
17:24 FROGGS arnsholt: and on windows?
17:25 arnsholt On Windows you'll have to do something else =)
17:25 arnsholt I must confess I've no idea how to get reliable entropy on Windows (or if it's even exposed)
17:25 timotimo windows surely has a nice API for getting cryptographically sane  random numbers?
17:26 arnsholt Exactly none of my programming experience is on Windows, more or less
17:26 timotimo then again, i remember being asked to move my mouse about to create a key with the puttygen tool, so maybe not?
17:26 PerlJam moritz: +1 to only worrying about one of them  :)
17:26 [Coke] hurm. when I look at a process tree of the spec test runs, I see that the "ulimit... mono... niecza ... ..t" spawns a mono process... which spawns an identical process? both using the same % memory, but only one doing any CPU work.
17:26 arnsholt I did spend a summer developing in C# on Windows, but that was in an environment where everything had been set up for me, so I didn't touch anything related to Windows
17:27 moritz [Coke]: sure that it's a process and not a thread?
17:28 jeffreykegler Good morning
17:28 moritz \o jeffreykegler
17:29 jeffreykegler I'm still trying to assemble my open-source project, Marpa, and I'd like to see the Perl 6 CLA's and the practices surrounding them.
17:29 [Coke] moritz: looks like separate pids.
17:29 [Coke] the perl6 clas are just for the rakudo implementation.
17:30 jeffreykegler Marpa is LGPL3, but I'd like to see how you do stuff as well
17:30 [Coke] here's the blank: http://www.perlfoundation.org/​contributor_license_agreement
17:30 jeffreykegler Do they really get paper agreements and store them in a file cabinet?  Drat this sounds like work.
17:31 PerlJam jeffreykegler: yes, AFAIK
17:31 moritz jeffreykegler: we only use it for rakudo, which is formally owned by TPF. The rest of the projects don't use the CLA
17:31 jeffreykegler I'm not too clear on the division among projects -- what are the other major ones?
17:32 PerlJam jeffreykegler: pugs, niecza
17:32 moritz rakudo and niecza are the two compilers
17:32 moritz then we have the test suite, the specs, and miscellaneous stuff (module list, module installer, modules, Star distribution)
17:32 jeffreykegler So pugs and niecza believe they can get away without all this rigamorole
17:33 jnthn The nqp repo doesn't need a CLA either, fwiw
17:34 masak jeffreykegler: not only that, Pugs in its heyday threw commit bits at anyone with a pulse.
17:34 masak jeffreykegler: so it had like hundreds of committers.
17:35 PerlJam jeffreykegler: The CLA is an "ounce of prevention" to avoid the legal hassles that may arise, in the future, if someone or some organization asserts legal claim over code contributed by one of their employees.
17:35 jeffreykegler masak: yes, we were talking about the highly influential Audrey yesterday
17:36 masak jeffreykegler: she certainly set the tone for the rest of the Perl 6 culture.
17:36 jeffreykegler Perljam: yes.  I am also trying to get a feel for the hassle/safety ratio here
17:36 dalek specs: e2f5951 | larry++ | S03-operators.pod:
17:36 dalek specs: set ops go with junctive and chaining ops
17:36 dalek specs: review: https://github.com/perl6/specs/commit/e2f59511a8
17:37 jnthn TimToady++
17:37 jeffreykegler HAving all those paper CLA's mailed to me is not something I look forward to
17:37 PerlJam jeffreykegler: it could be be faxed or emailed rather than snail-mail.
17:38 PerlJam (but still, you'd have to keep up with it to protect your future self)
17:39 fgomez joined #perl6
17:39 [Coke] r: "Thing"."uc"."say"
17:39 p6eval rakudo 3c475e: OUTPUT«[31m===[0mSORRY![31m===[0m�Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.�at /tmp/PSd4CHFulK:1�------> [32m"Thing"."uc"[33m�[31m."say"[0m�»
17:39 [Coke] r: "Thing"."uc"()."say"()
17:39 p6eval rakudo 3c475e: OUTPUT«THING␤»
17:42 hash_table joined #perl6
17:44 dalek std: 7deb9d7 | larry++ | CORE.setting:
17:44 dalek std: setops now have junctive precedence
17:44 dalek std: review: https://github.com/perl6/std/commit/7deb9d7206
17:46 wk joined #perl6
17:52 colomon TimToady++
17:52 dalek specs: 520d8a1 | larry++ | S03-operators.pod:
17:52 dalek specs: Mention set/bag ops in junctive section
17:52 dalek specs: review: https://github.com/perl6/specs/commit/520d8a18e4
17:52 masak only one week left of p6cc2012.
17:53 TimToady jeffreykegler: it doesn't need to be mailed *to* you, only *from* you
17:53 TimToady there are online copies, I believe
17:54 jeffreykegler TimToady: huh?
17:54 masak TimToady: jeffreykegler doesn't want to sign up for Rakudo development, he wants to copy the Perl 6 style of doing software.
17:54 TimToady was just taking your "mailed to me" literally
17:55 TimToady was just explaining we don't generally mail out CLAs
17:55 jeffreykegler TimToady: context is the Marpa collaboration I am starting and how I can cover legally with minimum hassle
17:55 jeffreykegler so you're saying you would do the paper CLA thing?
17:55 TimToady well, the rest of p6 gets along without CLAs (so far)
17:55 jeffreykegler Or at least emailed
17:55 * [Coke] notes that he thinks TimToady is the /reason/ for the clas. :)
17:56 TimToady Perl 5 never had CLAs, and so far I haven't been sued for anything...
17:56 jeffreykegler I've recently been advised to be more hubristic
17:56 jeffreykegler Maybe just going with the flow is best
17:57 jeffreykegler I won't have a lot of infrastructure for the project, and when that's the case you leave a few i's undotted
17:58 jeffreykegler Bottom line then: going without CLA's is not reckless -- you're probably OK
17:58 TimToady seems fine to me, but ianal, even if I wrote a license that held up in court
17:58 jeffreykegler TimToady: which is more than most lawyers can say
17:59 pmurias re CLA's is there a legal difference between submitting code using a commit bit and a pull request/patch
17:59 pmurias as one requires a CLA and the other doesn't
18:00 TimToady well, a patch is just a suggestion, and the person who applies it is deciding to add it to the codebase
18:00 moritz pmurias: no; it's the ammount of contributions that matters
18:01 moritz pmurias: strictly speaking, you don't need a CLA for a commit bit, but for regular and/or major contributions
18:01 TimToady right, it's really about exposure to the risk of having a large part of your codebase nullified
18:01 moritz the commit bit just facilitates the commit bit
18:02 jeffreykegler TimToady: so what I hear is if you were starting a small collaboration without a minimum of infrastructure, you'd accept code now and worry about the legalese later
18:02 jeffreykegler * without -> with
18:03 TimToady ayah
18:03 PerlJam That's in line with "forgiveness > permission" :-)
18:03 dalek rakudo/nom: 8edd740 | jnthn++ | src/Perl6/Grammar.pm:
18:03 dalek rakudo/nom: Update precedence of setops to match updated spec.
18:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8edd740d70
18:03 adu joined #perl6
18:04 TimToady the problem is that corporate lawyers believe that "forgiveness" == "paying large sums of money"
18:04 colomon curses!  jnthn++ beat me to setops precedence update!
18:04 jeffreykegler TimToady: thanks!
18:05 moritz colomon: you can still do it in niecza :-)
18:05 colomon moritz: that's what I meant, I'm spectesting the niecza patch right now.  ;)
18:09 * masak finds http://www.perl6.org/archive/rfc/354.html
18:09 masak this never happened, did it?
18:10 * PerlJam really doesn't want to start writing Perl(tm)  though
18:10 nwc10 you mean Perl(R)
18:10 PerlJam whatever
18:10 * flussence doesn't bother writing "Linux®"
18:10 masak PerlJam: I always thought that people who did that were silly, not forced to.
18:11 PerlJam (I was just being silly too :)
18:12 SamuraiJack joined #perl6
18:14 masak I rest my case. :P
18:15 PerlJam why were you trolling the RFCs anyway?
18:15 PerlJam (or was it just happenstance?)
18:17 masak PerlJam: I got there from the Artistic License Wikipedia article.
18:17 masak which I pulled up because TimToady started talking about court cases.
18:17 PerlJam ah
18:27 raiph joined #perl6
18:29 raiph TimToady: are you backlogging the full #perl6 irc log or using the summary?
18:32 dalek niecza: d343a2a | (Solomon Foster)++ | lib/CORE.setting:
18:32 dalek niecza: Follow spec change to make setops have junctive operator precedence.
18:32 dalek niecza: review: https://github.com/sorear/niecza/commit/d343a2a014
18:34 dalek perl6-roast-data: 26e0a06 | coke++ | / (4 files):
18:34 dalek perl6-roast-data: today (automated commit)
18:34 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/26e0a063ba
18:34 [Coke] colomon: looks like niecza choked on something in S02-types/array.t
18:35 colomon [Coke]: yes, just noticed that a minute ago
18:35 colomon it's Failure
18:37 dalek roast: 3dabf1a | (Solomon Foster)++ | S02-types/array.t:
18:37 dalek roast: Niecza fudge for Failure.
18:37 dalek roast: review: https://github.com/perl6/roast/commit/3dabf1a2f6
18:37 [Coke] colomon++
18:37 [Coke] now, can you do that for pugs, too? ;)
18:38 colomon doh!  I'm sorry
18:38 colomon should have realized.
18:39 raiph jeffreykegler: i recommend http://www.slideshare.net/au​tang/ofun-optimizing-for-fun
18:40 dalek roast: a5c2b32 | (Solomon Foster)++ | S02-types/array.t:
18:40 dalek roast: Pugs fudge for Failure (purely conjectural, as I do not have a Pugs build).
18:40 dalek roast: review: https://github.com/perl6/roast/commit/a5c2b32ba9
18:40 jnthn .oO( But don't we fudge to avoid failure... )
18:40 [Coke] colomon: oh, thanks. I meant "fix the whole spec test suite" though. some bitrot in the past few months. was only kidding though. :)
18:41 colomon [Coke]: I will not fix the whole spec test suite for Pugs.  Niecza is enough to keep me busy.  ;)
18:41 [Coke] colomon: looks like you inadvertantly remoed a niecza skip?
18:41 [Coke] or was that intentional?
18:41 [Coke] colomon: (pugs) aye, it's a curiosity at this point, anyway.
18:41 zby_home_ joined #perl6
18:41 colomon [Coke]: yes, niecza still passes with that skip out.
18:42 colomon rn: say <<<\>'n'>>.join('|')
18:42 p6eval niecza v24-16-g89e47b6: OUTPUT«<>'n'␤»
18:42 p6eval ..rakudo 8edd74: OUTPUT«<>|n␤»
18:42 colomon errr, what?
18:42 jnthn afaik, niecza doesn't yet process quotes inside shell words
18:43 jnthn r: say << 'foo bar' 'baz' >>.perl
18:43 p6eval rakudo 8edd74: OUTPUT«("foo bar", "baz")␤»
18:43 jnthn n: say << 'foo bar' 'baz' >>.perl
18:43 p6eval niecza v24-16-g89e47b6: OUTPUT«("'foo", "bar'", "'baz'")␤»
18:43 jnthn Yeah.
18:43 colomon is std updated for that?
18:44 jnthn Rakudo got the feature when I sync'd its quote parsing with STD in November or so :)
18:45 * colomon needs to keep telling himself he has $work to do, it's not time to be messing around with Niecza....
18:46 jnthn fwiw, I suspect Niecza is parsing them fine but then hasn't got the shell words postprocessor in place yet.
18:46 SunilJoshi1 joined #perl6
18:48 TimToady it's possible that postprocessing is the wrong solution there for literal quotes inside << >>
18:48 TimToady in fact, it's even likely
18:49 stevan_ joined #perl6
18:49 jnthn TimToady: It's fine so long as you postprocess the *ast*.
18:50 jnthn TimToady: Post-processing the string would be crazy.
18:50 TimToady r: « foo '»' »
18:50 p6eval rakudo 8edd74:  ( no output )
18:51 TimToady r: say « foo '»' »
18:51 p6eval rakudo 8edd74: OUTPUT«foo»␤»
18:51 TimToady okay, rakudo++
18:51 jnthn r: say « foo '»' ».perl
18:51 p6eval rakudo 8edd74: OUTPUT«("foo", "»")␤»
18:51 jnthn phew :)
18:52 TimToady std: say « foo '»' »
18:52 p6eval std 7deb9d7: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confused at /tmp/YKY0EuvYcV line 1:â�¤------> [32msay « foo '»[33mâ��[31m' »[0mâ�¤    expecting any of:â�¤       POSTâ�¤   infix or meta-infixâ�¤    infixed functionâ�¤       postcircumfixâ�¤  postfixâ�¤        postfix_prefix_meta_operatorâ�¤   postopâ�¤ statement
18:52 p6eval ..modifier loop␤Pa…
18:52 TimToady yes, rakudo does it righter than STD, so you didn't get that part from STD :)
18:52 jeffreykegler joined #perl6
18:53 TimToady raiph: I feel obligated to at least *try* to read everything, though I may well give up on that :)
18:56 * masak .oO( STDier than thou )
18:59 raiph TimToady: OK. I feel *inclined* to do the same. I can see why you would feel obligated.
19:00 raiph TimToady: I realize this implies spending even more time, at least short term, but...
19:01 fgomez joined #perl6
19:04 raiph TimToady: ... Have you tried reading the summary for a day, then the full log, and seeing if you missed anything really significant, no matter how small? The "summarizing" I've been doing has been with you and core hackers in mind, folk who want to catch a lot of detail but not absolutely everything.
19:06 raiph So the summary tends to be about 20% - 40% as long, taking, I estimate, about a quarter to half the time to read.
19:06 diakopter raiph: lots of people like to not miss anything
19:07 diakopter s/to not/not to/
19:08 raiph diakopter: (both ways read OK, the former perhaps a little better)
19:09 TimToady diakopter: this is English, where it is perfectly fine to randomly split your infinitives
19:09 diakopter heh
19:09 TimToady "to boldly go" etc
19:09 diakopter "to randomly split"
19:09 TimToady yes, I speak Autopun
19:09 masak :)
19:10 diakopter I speak low sense of humor
19:10 TimToady as long as it's not a sense of low humor
19:10 masak in Soviet Russia, autopun speaks YOU!
19:10 slavik1 I am from Soviet Russia and there were no autopuns ...
19:11 diakopter they were all forced labor?
19:11 slavik1 yes
19:14 spider-mario joined #perl6
19:21 raiph Does anyone on channel other than Moritz and myself think the way I'm summarizing #perl6 is useful? (I don't plan to stop, but some feedback, even if just to confirm that folk that know about it don't find it helpful, would be helpful for me.)
19:22 diakopter you need a "like" button :)
19:22 TimToady the people who find it most useful are probably the people who are *not* usually on the channel, I'd think
19:23 slavik1 or those not smart enough to keep up with moritz and TimToady (read: me)
19:23 raiph slavik1: do you use the summary?
19:23 slavik1 no :(
19:23 raiph heh
19:23 slavik1 I did not know it existed
19:23 slavik1 where is it?
19:23 TimToady non-native speakers, and people who don't have skimming skills
19:24 slavik1 on a semi-related note, perlcritic is awesome
19:24 skids joined #perl6
19:24 TimToady when I was young I couldn't skim, but Usenet cured me of that :)
19:24 raiph slavik1: do you read the irclogs at http://irclog.perlgeek.de/perl6/today ?
19:24 slavik1 no :(
19:25 slavik1 OMG!!! stuff I write is on the interwebs, I am famous!
19:25 slavik1 :P
19:25 raiph slavik1: were you aware of them? there's 7 years worth...
19:25 slavik1 at some point I was aware that there is irc logging
19:25 * TimToady hopes they are well backed up
19:26 slavik1 TimToady: nonsense ... in production, we only start backing up AFTER losing years worth of data
19:26 masak though I appreciate raiph's efforts, I'm still a non-summary kind of guy.
19:27 raiph imo they are an amazingly rich source of P6 info, up there with the specs and p6doc
19:27 diakopter data, if not info
19:29 masak heh. is the distinction between "data" and "info" any clearer than that between "data hiding" and "encapsulation"? :)
19:30 moritz masak: afaict "data" is any string of bits or bytes, but it's only "information" if there's a way to make sense of it
19:30 dalek nqp: 3a1258d | moritz++ | src/ops/nqp_bigint.ops:
19:30 dalek nqp: initialize the system PRNG with the parrot one
19:30 dalek nqp: review: https://github.com/perl6/nqp/commit/3a1258de07
19:30 diakopter in Soviet Russia, transitive verbs you
19:31 diakopter er, intransitive.
19:32 diakopter in Soviet Russia, Soviet Russia jokes tell you
19:33 raiph i would love it if i could establish arbitrary tags, eg "news", then do a summarizing run. then someone could select the tag "news" and see all the lines I've selected using that tag.
19:35 masak moritz: sure, but is it really that clear-cut? it's only a string of bits or bytes if there's someone there to make sense of it, too. conversely, something may turn out to be information after the fact.
19:35 moritz raiph: would it help you if I offered you a JSON API to the IRC logs, and you could write your own application that does with it whatever it wants?
19:36 raiph moritz: the problem is, while I know how to code, and love Perl 6 in a way I can't explain, I'm really a marketing guy and haven't done anything but play a little in a decade.
19:38 raiph i'm convinced the irc logs would go from data to great info if i could tag lines.
19:39 PerlJam raiph: what if everyone could tag lines?
19:39 raiph for example, i see tons of awesome Q+A snippets.
19:40 raiph PerlJam: right. i was thinking one could maybe add a &tag=foo to the save summary URL.
19:40 raiph (or something more polished ui-wise, but basically that.)
19:43 raiph PerlJam: i came up with some overly complex ideas a while back. but it would be much better if "summarizing" were something very lightweight that anyone could and would choose to do
19:44 raiph Ideally, something so easy and scalable that it's useful for many irc channels
19:45 raiph freenode is apparently now the world's largest irc network; Moritz's irclog software is, aiui, the best logger setup for freenode channels; ...
19:47 raiph if there were a simple way to enable those on channel to annotate their own logs...
19:47 raiph anyhoo, i can dream. :)
19:48 Vlavv` joined #perl6
20:01 fgomez joined #perl6
20:16 mikemol joined #perl6
20:47 dalek Heuristic branch merge: pushed 18 commits to rakudo/froggs_mergemulti by jnthn
20:56 jnthn FROGGS: I'm taking a look at your branch.
21:00 jnthn TimToady: S11 days "Any multi that depends on an exported proto is also automatically exported." This just falls automatically out of the proto holding the dispatch list. What happens if "is export" is written on an individual multi candidate?
21:01 jnthn TimToady: "Any autogenerated proto is assumed to be exported by default." => do we still want this semantic?
21:01 alester joined #perl6
21:01 jnthn To expand on the "individual candidate" question, what it out of 5 candidate, say 3 are marked multi.
21:03 jnthn If the auto-generated proto is exported by default, then is putting "multi" on an individual candidate to export an error since there's already something in EXPORT?
21:03 jnthn If so, the question about individual multis still comes up if there's a "my proto...".
21:04 jnthn "Any proto declaration that is not declared my is exported by default." # not sure if we want this one... :)
21:04 jnthn s/days/says/ ages back :)
21:27 stevan_ joined #perl6
21:53 fgomez joined #perl6
21:54 dalek rakudo/nom: fec4986 | jnthn++ | src/core/traits.pm:
21:54 dalek rakudo/nom: Eliminate $*W mentions in traits.pm.
21:54 dalek rakudo/nom:
21:54 dalek rakudo/nom: This was always a hack, unrequired for a while now.
21:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fec4986d7b
21:54 dalek rakudo/nom: f083685 | jnthn++ | src/core/ (3 files):
21:54 dalek rakudo/nom: Fix hash/array binding constraints.
21:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f083685718
22:09 fgomez joined #perl6
22:12 whiteknight joined #perl6
22:13 fgomez joined #perl6
22:13 xinming_ joined #perl6
22:14 bluescreen100 joined #perl6
22:19 timotimo is it sensible to ask for lines() in the REPL to read until EOF (i.E. ^D) and then resume the REPL instead of exiting the repl?
22:21 masak I don't know.
22:21 masak there are two levels of EOF there.
22:21 masak the current behavior seems to be saying "those two levels of EOF are simply EOF, live with it"
22:21 timotimo i can see how ^C would exit the REPL immediately,.
22:22 masak fwiw, I have python installed, and ^D exits its REPL.
22:22 masak installing Ruby now to check with irb, too. I have a feeling I know what the result'll be.
22:22 timotimo well, yeah, but try:
22:22 masak ^D exits irb.
22:23 timotimo import sys; a = sys.stdin.read(1024)
22:23 timotimo and type a few lines and then ^D
22:23 timotimo that's what i mean.
22:23 timotimo because that only ends the read, but doesn't kill the repl
22:23 timotimo interestingly it doesn't close the stdin, but i guess that's somewhat fair.
22:24 masak yeah, I see what you mean.
22:25 masak I had another case like this where I argued for &prompt to still work after a ^D, but I was overruled by pmichaud.
22:25 masak and as far as I know, there's no way in any of the implementations to explicitly re-open $*IN.
22:26 timotimo i wonder how python does it. does the ^D not close sys.stdin in the first place?
22:32 dalek rakudo/nom: 763a621 | (Tobias Leich)++ | src/Perl6/World.pm:
22:32 dalek rakudo/nom: possible fix for multi-method import bug
22:32 dalek rakudo/nom:
22:32 dalek rakudo/nom: This patch allows you to import multi methods from several modules.
22:32 dalek rakudo/nom: It merges the dispachtee lists. Two identical dispatchee signatures
22:32 alec joined #perl6
22:33 dalek joined #perl6
22:33 dalek roast: 47a4659 | (Tobias Leich)++ | S11-modules/import-multi.t:
22:33 dalek roast: new tests for multi symbol merging
22:33 dalek roast: review: https://github.com/perl6/roast/commit/47a4659a8f
22:33 timotimo isn't that what the other person has been working on for months?
22:33 jnthn phenny: tell FROGGS Multi merge stuff is merged. Thanks!
22:33 phenny jnthn: I'll pass that on when FROGGS is around.
22:33 timotimo or is that just the realname? i think it was froggs
22:33 timotimo oooh, that's his work? great! :)
22:34 jnthn timotimo: Yes, I just did review/tweaks/merge of it :)
22:34 jnthn FROGGS++
22:35 timotimo so, inline::c and friends will now work no-problemo? :)
22:35 jnthn Hopefully :)
22:35 timotimo that's cool
22:36 timotimo masak: what did pmichaud say would be bad about letting ^D just terminate &lines/&prompt? would it be accetpable to have a special case for inputting data for the REPL?
22:38 jnthn rn: 7745
22:38 jnthn oops
22:38 p6eval rakudo f08368, niecza v24-17-gd343a2a:  ( no output )
22:38 jnthn rn: print 1|2|3;
22:38 p6eval niecza v24-17-gd343a2a: OUTPUT«any(1, 2, 3)»
22:38 p6eval ..rakudo f08368: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:7745␤  in sub print at src/gen/CORE.setting:7555␤  in block  at /tmp/mHaBlc9jlA:1␤␤»
22:38 masak timotimo: I don't remember. I may be able to dig up the relevant backlog.
22:38 jnthn What should print on a junction do?
22:39 jnthn The reason we get a problem at the moemnt is that $junc.Str auto-threads.
22:39 jnthn Giving back a junction of Str
22:39 timotimo masak: not so important
22:40 masak timotimo: nevertheless I will try :)
22:40 * masak likes to search for things :)
22:40 timotimo sure, do what you want :)
22:40 timotimo if it helps you procrastinate :D
22:40 masak ...from all the vitally important things I have to do on a Friday night? :P
22:41 mtk joined #perl6
22:41 masak timotimo: here: http://irclog.perlgeek.de/​perl6/2012-07-03#i_5781812
22:41 jnthn r: sub foo(*@x) { @x.join().WHAT.say }; foo(1|2|3)
22:41 p6eval rakudo f08368: OUTPUT«This type cannot unbox to a native string␤  in method join at src/gen/CORE.setting:1275␤  in sub foo at /tmp/POKGZNXuJD:1␤  in block  at /tmp/POKGZNXuJD:1␤␤»
22:42 timotimo i don't know when you are productive and i wouldn't judge if you were only productive late at night
22:42 masak lately all my productivity has gone into $dayjob...
22:42 masak and I'm done with that for the week, so... :)
22:42 jnthn Ah, Niecza has Junction.Str calling Junction.perl...
22:46 jnthn Any objections if I make Rakudo do similar for .Str? I think that since it's a coercion method, things should be able to rely on actually getting back something that is a Str...
22:47 jnthn Hm, I worry 'cus the current way looks rather deliberate...
22:47 jnthn multi method Str(Junction:D:) {
22:47 jnthn self.new($!storage.map({$_.Str}), :type($!type))
22:47 jnthn }
22:49 jnthn TimToady: ^^ when you get chance...I can't find anything in the spec that rules one way or the other...
22:51 masak jnthn: I'd say go for it if the spectests don't regress.
22:56 dalek rakudo/nom: fda63ce | jnthn++ | src/core/traits.pm:
22:56 dalek rakudo/nom: Remove out of date comment.
22:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fda63ce197
22:56 dalek rakudo/nom: 463daf0 | jnthn++ | docs/ChangeLog:
22:56 dalek rakudo/nom: Update ChangeLog.
22:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/463daf0429
22:56 jnthn masak: trying a spectest run now
22:57 masak jnthn: I'm curious -- the comment that was just removed from traits.pm -- did it need full-blown serialization? :)
22:58 jnthn masak: yes, and I fixed it to take advantage of that earlier :)
22:58 jnthn And forgot to remove the comment
23:00 masak I saw the fix, but couldn't deduce that it needed full srlzn.
23:00 grondilu rn: say 0, gather for <foo bar> { .take }
23:00 p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤»
23:01 * grondilu was expecting "0 foo bar"
23:01 grondilu (with a space between 0 and foo"
23:01 grondilu )
23:01 grondilu oh hang on
23:01 * grondilu understands
23:01 grondilu rn: say 0, (gather for <foo bar> { .take })
23:01 p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤»
23:01 grondilu hum
23:02 grondilu .oO( ... )
23:03 grondilu rn: say 0, <foo bar>
23:03 p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤»
23:03 grondilu wtf
23:03 grondilu rn: say( 0, <foo bar> )
23:03 p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤»
23:03 jnthn rn: say (0, <foo bar>)
23:03 p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0 foo bar␤»
23:04 jnthn masak: It busts not spectests :)
23:04 jnthn *no
23:05 jnthn Guess I can go for it...if it's the wrong answer, it's just a git revert away...
23:06 dalek rakudo/nom: 46913d6 | jnthn++ | src/core/Junction.pm:
23:06 dalek rakudo/nom: Make Junction.Str return...a Str!
23:06 dalek rakudo/nom:
23:06 dalek rakudo/nom: Previously, it would form a Junction with everything Str'd. Thing is,
23:06 dalek rakudo/nom: things that (fairly) expect to get back a Str when they call .Str will
23:06 dalek rakudo/nom: then explode when they try to unbox it. This brings us in line with
23:06 dalek rakudo/nom: Niecza's semantics, so at the very least it's convergence...
23:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/46913d6d9f
23:08 jnthn There's another ticket looked at
23:20 jnthn ooh, and if spectest passes I've nailed another :)
23:22 masak jnthn++
23:22 masak "forgiveness > permission" sometimes translates into "git revert > !(git commit)" ;)
23:23 jnthn aye
23:25 masak 'night, #perl6
23:25 diakopter o/
23:25 jnthn whew, looks good
23:28 dalek rakudo/nom: dfefd94 | jnthn++ | src/Perl6/Ops.pm:
23:28 dalek rakudo/nom: Specialize compilation of defor to fix bugs.
23:28 dalek rakudo/nom:
23:28 dalek rakudo/nom: This makes defor use a call to .defined, not go via the Parrot v-table
23:28 dalek rakudo/nom: function. There were some inconsistencies there somehow for roles and
23:28 dalek rakudo/nom: modules; this makes sure defor will never give results inconsistent
23:28 dalek rakudo/nom: with .defined.
23:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dfefd94518
23:28 timotimo wow, i've got quite an amazingly huge stacktrace in panda
23:28 timotimo two times rethrown
23:28 jnthn QAST++ # made that easy to fix
23:38 timotimo i can't rebootstrap, but bootstrap works. the error i'm getting is build stage failed for File::Tools: Failed building lib/File/Find.pm  /  Could not find Shell::Command in any of: [...]
23:40 timotimo oh, but maybe i have an idea.
23:40 grondilu rn: my @rand = rand xx *; for @rand Z 0 .. * -> $r, $t { last if $t > 4; say $r }
23:40 p6eval rakudo 46913d, niecza v24-17-gd343a2a: OUTPUT«(timeout)»
23:40 timotimo no, i have nothing.
23:41 * grondilu was expecting it not to timeout
23:41 timotimo rn: my @rand := rand xx *; for @rand Z 0 .. * -> $r, $t { last if $t > 4; say $r }
23:42 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:42 p6eval ..niecza v24-17-gd343a2a: OUTPUT«0.537146100093213␤0.341890153​16864946␤0.55471345854676957␤0.83309​254321879356␤0.49609898007293185␤»
23:42 timotimo rn: my @rand := rand xx *; for (@rand Z (0 .. *)) -> $r, $t { last if $t > 4; say $r }
23:42 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:42 p6eval ..niecza v24-17-gd343a2a: OUTPUT«0.48882364737280815␤0.7248414​809465602␤0.94651781718550143␤0.4918​5791774273752␤0.5288789973263065␤»
23:42 timotimo wait, 0 .. * instead of 0 ... *?
23:42 timotimo r: my @rand := rand xx *; for (@rand Z (0 ... *)) -> $r, $t { last if $t > 4; say $r }
23:43 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:43 timotimo r: my @rand := 0 ... *; for (@rand Z (0 ... *)) -> $r, $t { last if $t > 4; say $r }
23:43 timotimo well, that's certainly interesting
23:43 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:44 timotimo r: for (0 ... * Z 10 ... *) -> $a, $b { last if $b > 15; say $a }
23:44 p6eval rakudo 46913d: OUTPUT«0␤2␤4␤6␤8␤10␤12␤14␤»
23:44 timotimo r: for ((rand xx *) Z 10 ... *) -> $a, $b { last if $b > 15; say $a }
23:44 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:44 timotimo r: for ((rand, { rand } ... *) Z 10 ... *) -> $a, $b { last if $b > 15; say $a }
23:44 Khisanth joined #perl6
23:45 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:45 timotimo nope, i got nothing.
23:45 timotimo say (rand, { rand } ... *)[^10]
23:45 timotimo r: say (rand, { rand } ... *)[^10]
23:45 p6eval rakudo 46913d: OUTPUT«0.756810824926109 0.857357258766086 0.329371047943038 0.925305283718394 0.851738725684374 0.519511278704144 0.322794680853203 0.632197646232349 0.302239270872096 0.984048907238275␤»
23:45 timotimo r: say (rand, { rand } ... * Z 0 ... *)[^10]
23:45 p6eval rakudo 46913d: OUTPUT«0.248926067332835 0.234114245369227 0.586023311867518 0.861580831088709 0.6308033344222 0.979001270592548 0.612008217160419 0.114432278828723 0.669594779601912 0.987001026573807␤»
23:46 timotimo r: say ((rand, { rand } ... *) Z (0 ... *))[^10]
23:46 p6eval rakudo 46913d: OUTPUT«0.954258787286566 0 0.383702592083381 1 0.0862962073098394 2 0.719114668058815 3 0.408362656960055 4 0.538610389674417 5 0.338364499292165 6 0.57576197576153 7 0.889067129456098 8 0.998514446255967 9␤»
23:46 timotimo r: for ((rand, { rand } ... *) Z (0 ... *)) -> $a, $b { say $a; last if $b > 5 }
23:46 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:47 timotimo r: for ((rand, { rand } ... *) Z (0 ... *)) -> ($a, $b) { say $a; last if $b > 5 }
23:47 timotimo r: for ((rand, { rand } ... *) Z (0 ... *))[^50] -> ($a, $b) { say $a; last if $b > 5 }
23:47 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:47 p6eval rakudo 46913d: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature␤current instr.: '' pc 328 ((file unknown):167853270) (/tmp/KHQp6EY0z9:1)␤called from Sub '' pc 254880 (src/gen/CORE.setting.pir:115607) (src/gen/CORE.setting:5551)␤called from Sub 'reify…
23:52 dalek rakudo/nom: bd9bc6f | jnthn++ | src/Perl6/Actions.pm:
23:52 dalek rakudo/nom: Fix (my %) over-sharing.
23:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd9bc6ff01
23:54 timotimo for ((1, 2, 3, 4) Z (5, 6, 7, 8)) -> $a, $b { say "$a, $b"; last if $b >= 6 }
23:54 timotimo r: for ((1, 2, 3, 4) Z (5, 6, 7, 8)) -> $a, $b { say "$a, $b"; last if $b >= 6 }
23:54 p6eval rakudo 46913d: OUTPUT«1, 5␤2, 6␤»
23:54 timotimo r: for ((0 ... *) Z (5, 6, 7, 8)) -> $a, $b { say "$a, $b"; last if $b >= 6 }
23:54 p6eval rakudo 46913d: OUTPUT«0, 5␤1, 6␤»
23:54 timotimo r: for ((0 ... *) Z (0 ... *)) -> $a, $b { say "$a, $b"; last if $b >= 6 }
23:54 timotimo that's curious.
23:54 p6eval rakudo 46913d: OUTPUT«(timeout)»
23:55 not_gerd joined #perl6
23:55 not_gerd r: module Foo { my $*foo; our sub foo { temp $*foo } }; module Bar { Foo::foo }
23:55 p6eval rakudo 46913d: OUTPUT«Can only use 'temp' on a container␤  in sub prefix:<temp> at src/gen/CORE.setting:12454␤  in sub foo at /tmp/9fd6UlpboB:1␤  in block  at /tmp/9fd6UlpboB:1␤␤»
23:55 not_gerd ^^^ known?
23:56 not_gerd r: module Foo { my $*foo; our sub foo { temp $*foo } }; module Bar { }
23:56 p6eval rakudo 46913d:  ( no output )
23:58 jnthn not_gerd: There's no $*foo in the dynamic scope when you reach foo
23:58 jnthn So you are trying to temporize a Failure
23:58 jnthn r: module Foo { my $*foo; our sub foo { say $*foo } }; module Bar { Foo::foo }
23:58 p6eval rakudo 46913d: OUTPUT«Dynamic variable $*foo not found␤  in method gist at src/gen/CORE.setting:10404␤  in sub say at src/gen/CORE.setting:7559␤  in sub foo at /tmp/aTAfyxHqhC:1␤  in block  at /tmp/aTAfyxHqhC:1␤␤»

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

Perl 6 | Reference Documentation | Rakudo