»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:19 cognominal_ joined 00:20 cognominal left 00:22 bitonic left 00:28 hash_table left 00:30 cognominal joined 00:32 cognominal_ left 00:46 dakkar left 00:58 atrodo left 01:15 hypolin joined, cognominal left 01:21 anuby joined 01:24 am0c joined 01:25 cognominal joined 01:37 Patterner left 01:38 Psyche^ joined, Psyche^ is now known as Patterner 01:45 cognominal left, cognominal joined
felher good night, #perl6 :) 01:48
sorear good night felher 01:50
01:51 telex left 01:52 telex joined 01:55 slayer101_ left 01:58 am0c left
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:02
timotimo can .decode ever fail from a utf8 or utf16 buf? 02:08
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
hm
maybe this is insane after all
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
02:12 am0c joined
flussence I'll just skip to the actual problem: what types do qx{echo foo} and qx{gunzip -c foo.gz} return? 02:13
02:13 cognominal_ joined 02:14 cognominal left 02:15 grondilu left 02:18 cognominal_ left 02:21 cognominal_ joined 02:29 cognominal_ left 02:30 whiteknight left 02:34 cognominal_ joined
skids flussence: the test suite has @two_lines = q:x/echo hello ; echo world/;. I'd say this makes it analogous to IO.lines. 02:39
02:58 thou left 03:24 tokuhiro_ left 03:37 hash_table joined 03:41 slayer101_ joined 03:42 orafu left, zseymour joined, orafu joined, zseymour left 03:48 GeekSmile joined 03:56 hash_table left 04:00 cognominal joined 04:02 cognominal_ left 04:07 stevan_ left 04:13 LlamaRider joined, LlamaRider left 04:34 preflex_ joined, preflex left, preflex_ is now known as preflex 04:45 dayangkun left 04:46 adu_ joined 04:52 adu_ is now known as adu 05:08 grondilu joined
grondilu t: my @a[2] = <foo bar>; 05:08
rn: my @a[2] = <foo bar>;
p6eval rakudo 3c475e: OUTPUT«===SORRY!===␤Shaped variable declarations is not yet implemented. Sorry. ␤at /tmp/4g3_IGgyhx:1␤------> my @a[2]⏏ = <foo bar>;␤»
..niecza v24-16-g89e47b6: OUTPUT«===SORRY!===␤␤Postconstraints, and shapes on variable declarators NYI at /tmp/PZLvLMG50p line 1:␤------> my @a[2] ⏏= <foo bar>;␤␤Potential difficulties:␤ @a is declared but not used at /tmp/PZLvLMG50p line 1:␤------> …
grondilu rn: my int $x = 0; say ++$x 05:09
p6eval niecza v24-16-g89e47b6: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/4SrVhUVhKy line 1:␤------> my⏏ int $x = 0; say ++$x␤␤Parse failed␤␤»
..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:21 telex left 05:30 telex joined 05:33 GeekSmile is now known as ScarredForLife 05:36 _jaldhar joined 05:46 dayangkun joined 05:48 ScarredForLife is now known as OutlookGood 05:53 _jaldhar left, adu left 05:54 _jaldhar joined 05:56 slayer101_ left 06:01 OutlookGood left 06:18 slayer101_ joined
moritz \o 06:24
06:27 thou joined, adu joined 06:29 thou left 06:31 thou joined 06:36 SamuraiJack joined 06:57 kaleem joined
grondilu rn: my $txt = "bye"; END { say $txt }; 07:11
p6eval rakudo 3c475e, niecza v24-16-g89e47b6: OUTPUT«bye␤»
07:15 sisar joined, Pleiades` left 07:21 Pleiades` joined 07:39 bloonix joined 07:47 adu left
moritz remebers the bad old times when END wouldn't see lexicals 07:49
07:50 FROGGS joined
FROGGS morning 07:53
08:18 sisar left 08:22 quester joined
grondilu moritz: yep indeed that's what I was testing here. 08:29
08:46 sqirrel joined 08:54 quester left 08:57 dayangkun left 08:59 dayangkun joined 09:02 bitonic joined 09:20 kresike joined
kresike hello all you happy perl6 people 09:20
09:21 cognominal left 09:22 cognominal joined 09:38 fgomez left 09:40 slayer101_ left 09:45 Patterner left 09:47 Psyche^ joined, Psyche^ is now known as Patterner 10:00 hypolin left 10:12 anuby left 10:19 MayDaniel joined
jnthn good day, #perl6 o/ 10:26
FROGGS hi jnthn, kresike 10:27
o/
kresike FROGGS, o/ 10:28
jnthn, o/
FROGGS jnthn: do you get a chance to look at my bugfix branch? github.com/rakudo/rakudo/tree/froggs_mergemulti
tests are in roast under the same branchname
jnthn FROGGS: No, I forgot. D'oh! 10:35
Will look at it tonight or in the weekend
FROGGS cool
very cool ;o)
what are 'tuits' anyway? it's an abbreviation, but for what? 10:36
hoelzro FROGGS: for when you get around "to it"
FROGGS -.- 10:37
*narf*
hoelzro: thanks
moritz FROGGS: szabgab.com/img/fosdem_2010_tuits.jpg these are tuits :-) 10:46
a hardware pun :-)
FROGGS ... and I've even seen these at the YAPC::EU :o) 10:48
10:49 wooden left
jnthn has a 2013 one :) 10:50
FROGGS can I order these? 10:51
I have none ó.ò
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 :)
FROGGS likes stuff he can buy from his seat and pay via paypal
jnthn ah, no idea if tuits can be obtained in that way :) 10:54
tadzik misses Perl conferences 10:55
10:55 wooden joined, wooden left, wooden joined
moritz tadzik: going to YAPC::EU? 10:56
tadzik moritz: sure
I even registered already :)
perhaps we should actually host one here
jnthn will be at YAPC::EU for sure
There'a a Perl 6 hackathon the day before YAPC::EU :)
moritz is very optimistic that he can convince $work to send hm
s/hm/him/
10:56 dayangkun left
moritz especially since I'm skipping GPW 10:57
jnthn I'm considering doing YAPC::NA for the first time ever this year also :)
FROGGS moritz: I was able to last year, but I dont think that will work for Kiew
but I will be there
(with wife and kids)
jnthn tadzik: If you host a workshop there, I'd certainly like to come :)
tadzik jnthn: even if it's one day long? 10:58
jnthn tadzik: Sure :)
tadzik hm
jnthn tadzik: It's not very far to come.
tadzik sure :) I'll think of something
but maybe after the exams hell
jnthn :)
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:00
moritz wonders if he can do a micro p6 hackathon at $Home 11:02
11:03 _jaldhar left
FROGGS moritz: $alone @ $home? 11:08
should be possible
moritz FROGGS: not quite alone :-) 11:10
FROGGS where are you living again?
near Frankfurt/Main, right? 11:11
moritz near Nuernberg 11:12
FROGGS ahh
I might be in Eckental at the 21st (Monday) 11:13
so if you are interested in any('beer', 'talk'), I should be available on sunday afternoon (Jan, 20th) 11:16
11:18 woosley left
moritz FROGGS: that would be great 11:20
dalek ast/froggs_multibyte: 7bcb012 | (Tobias Leich)++ | S32-io/ (3 files):
tests for binary data

Test that we can write+read and write+recv binary data.
11:25
ast/froggs_multibyte: c07dfde | (Tobias Leich)++ | S32-io/IO-Socket-INET.t:
tests for multibyte chars successful

  .recv can handle it now, unfudging these tests.
ast/froggs_multibyte: 8e9c8d3 | (Tobias Leich)++ | S (5 files):
Merge branch 'master' of git://github.com/perl6/roast
FROGGS there's a froggs_multibyte branch in rakudo too, fixing RT #115862 and allowing one to write/read/recv binary data 11:27
spectests passes of course
moritz \o/
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?
FROGGS no, you get a binary string 11:30
moritz binary strings should be Buf
not Str
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
potentially returning a Str with binary data in it, depending on what the socket receives, is perl 5 thinking :-)
FROGGS okay, I can add a param $bin like slurp has 11:32
moritz FROGGS: +1
FROGGS and if someone requests to get bin, he get Buf otherwise Str||die, okay?
moritz right
FROGGS k
will change it today, must do a bit $work now :/ 11:33
moritz no hurry
FROGGS just wanted to say so that the branch wont get merged yet
moritz FROGGS: ok. Usually we don't just merge other people's branches without asking first 11:34
(unless we know exactly that it only waited for $X, and $X has happened just now :-)
FROGGS right 11:35
(good habits)++
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:36
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
(I also have his email address)
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:41
*and
12:00 _jaldhar joined 12:02 LordVorp left, LordVorp joined 12:04 sunnavy joined 12:10 stevan_ joined 12:11 stevan_ left 12:12 sqirrel left 12:34 FROGGS left 12:46 brrt joined 13:10 _jaldhar left 13:22 dayangkun joined 13:28 FROGGS[mobile] joined 13:30 nyuszika7h left 13:32 nyuszika7h joined, nyuszika7h left, nyuszika7h joined 13:35 wk joined 13:36 wk is now known as Guest70944 13:45 PacoAir joined 13:46 Guest70944 is now known as wk_ 13:52 pmurias joined
pmurias jnthn: do you think it would be possible to have a common QAST test suit for jvm and js (and parrot) backends? 13:53
dalek kudo-js: e636aa6 | (Paweł Murias)++ | / (11 files):
Pass tests 25,26. Create a nqpmojs module which contains the meta model.
13:59
kudo-js: 9e9073d | (Paweł Murias)++ | / (5 files):
Add attributes. Pass tests 26 and 27.
14:00 FROGGS joined 14:05 SamuraiJack left, dayangkun left
tadzik hehe. My compilers assignment works unless it encounters masak :D 14:06
aka: lex doesn't like utf-8 14:07
14:14 FROGGS[mobile] left 14:24 hash_table joined
pmurias jnthn: as I'm afraid with unit tests for QAST I'll end up supporting on the subset used by nqp 14:25
14:27 kresike left 14:28 atrodo joined, kresike joined
dalek kudo-js: 9cb001c | (Paweł Murias)++ | src/how/NQPClassHOW.pm:
use an unmodified NQPClassHOW.pm
14:29
kudo-js: 4f3e3fb | (Paweł Murias)++ | src/QAST/Compiler/JavaScript.nqp:
avoid accidently ignoring exceptions
14:53 kaare_ joined 15:00 pmurias left, stopbit joined 15:01 kaleem left, pmurias joined 15:03 kaleem joined 15:08 am0c left 15:10 colomon left
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:16
15:21 bro_grammer joined 15:23 fgomez joined 15:24 hash_table left 15:29 SunilJoshi joined, sizz_ joined 15:30 bluescreen10 joined, bro_grammer left 15:32 brrt left
jnthn pmurias: There's also t/qast/qast.t 15:33
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:34
15:43 kivutar joined
rurban pmurias: you need to create gen in your rakudo-js Makefile. /bin/sh: 1: cannot create gen/nqpmojs.pm: Directory nonexistent 15:48
pmurias rurban: thanks 15:49
jnthn: I have seen nqp/t/qast/qast.t before 15:50
jnthn: in nqp-js the compiler is also not in-process
rurban: fixed 15:53
dalek kudo-js: 7fdfcfb | (Paweł Murias)++ | / (2 files):
Fix Makefile, add gen/.gitignore.
jnthn pmurias: Right. You may find the t/qast_* in nqp JVM more helpful 15:54
15:54 thou left
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
jnthn is very happy about the convergence on the serialization stuff 15:57
And with NQPClassHOW. 15:58
pmurias++
pmurias is very happy just coping over parts of nqp setting works
jnthn \o/
I'm hoping for similar experience with the JVM port :)
rurban pmurias: not bad, most nqp tests pass. all of yours. 16:00
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:02
16:02 fgomez left
pmurias rurban: performance wise? 16:05
16:06 erkan joined, erkan left, erkan joined
rurban perf and features. 16:07
But I have to fly to Orlando now in 30mins.
16:09 colomon joined
kresike bye folks 16:11
16:11 kresike left
colomon rn: say "#24 = TEST"..subst(/"#" (\d+) (\s* "=")?/, -> { $1 ?? qq[<A name="line{ $0 }">#{ $0 }</A>=] 16:13
!! qq[<A href="#line{ $0 }">#{ $0 }</A>] }, :g);
p6eval rakudo 3c475e: OUTPUT«===SORRY!===␤Found ?? but no !!␤at /tmp/ddeMO0Lk_N:1␤------> ?? qq[<A name="line{ $0 }">#{ $0 }</A>=]⏏<EOL>␤Confused␤at /tmp/ddeMO0Lk_N:1␤------> ?? qq[<A name="line{ $0 }">#{ $0 }</A>=]⏏<EOL>␤ expecting an…
..niecza v24-16-g89e47b6: OUTPUT«===SORRY!===␤␤Found ?? but no !! at /tmp/CuIShDzLG8 line 1 (EOF):␤------> ?? qq[<A name="line{ $0 }">#{ $0 }</A>=]⏏<EOL>␤␤Confused at /tmp/CuIShDzLG8 line 1 (EOF):␤------> ?? qq[<A name="line{ $0 }">#{ $0 }</A>=][…
colomon doh
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);
p6eval rakudo 3c475e: OUTPUT«===SORRY!===␤Undeclared routine:␤ subst used at line 1␤␤»
..niecza v24-16-g89e47b6: OUTPUT«===SORRY!===␤␤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…
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);
p6eval rakudo 3c475e: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤ in block at /tmp/MYB9vwPcgq:1␤␤»
..niecza v24-16-g89e47b6: OUTPUT«<A name="line24">#24</A>= TEST␤»
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:14
jnthn colomon: Did you mean -> $/ { ... } ?
p6eval niecza v24-16-g89e47b6: OUTPUT«Potential difficulties:␤ $dummy is declared but not used at /tmp/8r33NWyX8f line 1:␤------> TEST".subst(/"#" (\d+) (\s* "=")?/, -> ⏏$dummy { $1 ?? qq[<A name="line{ $0 }">#␤␤<A name="line24">#24</A>= TEST␤»
..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␤»
colomon jnthn: does rakudo not set $/ automatically in subst? 16:15
jnthn colomon: No, due to longstanding unresolved spec issue
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);
p6eval rakudo 3c475e, niecza v24-16-g89e47b6: OUTPUT«<A name="line24">#24</A>= TEST␤»
jnthn hm, I thought there was a spec ticket for it 16:17
colomon the good news is -> $/ appears to be a portable workaround
(the bad news is I've been able to do all this experimenting while waiting for niecza to finish running my script) 16:19
FROGGS colomon: that's some sort of parallel computing, right? 16:20
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.
timotimo i think the experts call it "multiprogramming"
FROGGS colomon: when I have to wait it is mostly when recompiling rakudo 16:22
... and calculating fees at $work, but I do that just once a month
colomon ooo, slow niecza time was a bug in lines rather than general slowness of script 16:26
dalek kudo/froggs_multibyte: 36a7d0f | (Tobias Leich)++ | src/core/IO/Socket.pm:
.recv will return a Buf in binmode, Str otherwise

So you wont end up with binary data in a Str. If binmode is turned off, the received data will be an utf8 encoded string. An exception is thrown if it is unable to do so.
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. ;)
dalek ast/froggs_multibyte: a793f13 | (Tobias Leich)++ | S32-io/IO-Socket-INET. (2 files):
expect .recv( bin => True ) to return Buf
16:29
FROGGS colomon: cool, I hope I will be able to use it at $work soon too
we have several smaller jobs that can be replaced 16:30
[Coke] tries to build pugs on his laptop, gets a bizarre compilation error. *sigh* 16:33
16:34 kaleem left
colomon jnthn: if you're bored anytime soon, 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:46
16:47 revdiablo left 16:48 revdiablo joined, kaleem joined, kaleem left
pmurias jnthn: is the size of the binary serialization data a concern? 16:52
FROGGS hmmm, somthing is wrong with the random number generator
I get same results for pick very often now
pmurias jnthn: I notice it's doing things like using a 64bit int for the number of attributes
FROGGS S32-list/roll.t test 40 that is
colomon FROGGS: examples which demonstrate this here on the channel? I know moritz recently changed that code... 16:53
jnthn pmurias: Well, it's probably not number of attributes, but size of array.
pmurias: In which case it could be pretty large in general. 16:54
FROGGS colomon: here: gist.github.com/dc62f660acbc8060954f 16:55
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. :)
colomon FROGGS: woah, that's not the sort of thing I was expecting to see!
FROGGS colomon: about 70% of the tests fail
colomon FROGGS: that definitely seems bad
FROGGS thats the case when all three runs are the same 16:56
colomon r: say ~(1..100).pick(5)
p6eval rakudo 3c475e: OUTPUT«10 94 6 58 79␤»
colomon r: say ~(1..100).pick(5)
p6eval rakudo 3c475e: OUTPUT«88 98 37 97 26␤»
jnthn FROGGS: Platform?
FROGGS linux
jnthn I see similar on Windows...
FROGGS ubuntu x64
jnthn OK, not platform specific. 16:57
hm, I'm on 64-bit also
FROGGS how is it initialized? using the clock, right?
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:59
16:59 sisar joined
FROGGS I have no idea, is just a guess 17:00
17:01 fgomez joined 17:02 kivutar left 17:03 jeffreykegler joined 17:05 skids left
FROGGS how can it be then that there are no equals when I put a sleep between the calls? 17:09
I mean you somehow must seed it, and one thing that changes is time, so it is not that absurd 17:10
PerlJam: github.com/perl6/nqp/commit/b2e3f2...2383e38541 17:12
17:13 bitonic left
jnthn hm, so two runs within the same second will get the same seed. 17:14
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.
PerlJam What does Perl 5 use? 17:17
masak rolls onstage like Sonic the Hedgehog 17:18
#perl6! \o/
timotimo masak: feeling blue today? 17:19
masak :) 17:21
PerlJam looks like Perl 5 uses the time, plus the process id, plus some other numbers
masak timotimo: blue and prickly, perhaps :)
PerlJam (or /dev/urandom if it exists)
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
that way we only have to worry about one of them
FROGGS process id would help to (in addition to time) 17:23
too*
moritz yes, but then I have to worry about arithmetics and overflow and all that stuff before doing the initialization
timotimo i say mix the process id into the higher bits of the seed
hm, thinking about it some more, that seems unnecessary 17:24
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
arnsholt If you read your seed from /dev/urandom you're pretty well set up for most cases I think
FROGGS arnsholt: and on windows? 17:25
arnsholt On Windows you'll have to do something else =)
I must confess I've no idea how to get reliable entropy on Windows (or if it's even exposed) 17:26
timotimo windows surely has a nice API for getting cryptographically sane random numbers?
arnsholt Exactly none of my programming experience is on Windows, more or less
timotimo then again, i remember being asked to move my mouse about to create a key with the puttygen tool, so maybe not?
PerlJam moritz: +1 to only worrying about one of them :)
[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:27
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
moritz [Coke]: sure that it's a process and not a thread?
17:28 fgomez left
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.
[Coke] moritz: looks like separate pids. 17:30
the perl6 clas are just for the rakudo implementation.
jeffreykegler Marpa is LGPL3, but I'd like to see how you do stuff as well
[Coke] here's the blank: www.perlfoundation.org/contributor_..._agreement
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
moritz jeffreykegler: we only use it for rakudo, which is formally owned by TPF. The rest of the projects don't use the CLA
jeffreykegler I'm not too clear on the division among projects -- what are the other major ones? 17:32
PerlJam jeffreykegler: pugs, niecza
moritz rakudo and niecza are the two compilers
then we have the test suite, the specs, and miscellaneous stuff (module list, module installer, modules, Star distribution) 17:33
jeffreykegler So pugs and niecza believe they can get away without all this rigamorole
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:35
jeffreykegler: so it had like hundreds of committers.
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.
jeffreykegler masak: yes, we were talking about the highly influential Audrey yesterday
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
dalek ecs: e2f5951 | larry++ | S03-operators.pod:
set ops go with junctive and chaining ops
17:37
jnthn TimToady++
jeffreykegler HAving all those paper CLA's mailed to me is not something I look forward to
PerlJam jeffreykegler: it could be be faxed or emailed rather than snail-mail. 17:38
(but still, you'd have to keep up with it to protect your future self)
17:39 fgomez joined
[Coke] r: "Thing"."uc"."say" 17:40
p6eval rakudo 3c475e: OUTPUT«===SORRY!===␤Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.␤at /tmp/PSd4CHFulK:1␤------> "Thing"."uc"⏏."say"␤»
[Coke] r: "Thing"."uc"()."say"()
p6eval rakudo 3c475e: OUTPUT«THING␤»
17:42 hash_table joined
dalek d: 7deb9d7 | larry++ | CORE.setting:
setops now have junctive precedence
17:44
17:46 wk joined 17:47 wk is now known as Guest12323, wk_ left, Guest12323 is now known as wk_ 17:52 fgomez left
colomon TimToady++ 17:52
dalek ecs: 520d8a1 | larry++ | S03-operators.pod:
Mention set/bag ops in junctive section
17:53
masak only one week left of p6cc2012.
TimToady jeffreykegler: it doesn't need to be mailed *to* you, only *from* you
there are online copies, I believe 17:54
jeffreykegler TimToady: huh?
masak TimToady: jeffreykegler doesn't want to sign up for Rakudo development, he wants to copy the Perl 6 style of doing software. 17:55
TimToady was just taking your "mailed to me" literally
was just explaining we don't generally mail out CLAs
jeffreykegler TimToady: context is the Marpa collaboration I am starting and how I can cover legally with minimum hassle
so you're saying you would do the paper CLA thing? 17:56
TimToady well, the rest of p6 gets along without CLAs (so far)
jeffreykegler Or at least emailed
[Coke] notes that he thinks TimToady is the /reason/ for the clas. :)
TimToady Perl 5 never had CLAs, and so far I haven't been sued for anything...
jeffreykegler I've recently been advised to be more hubristic 17:57
Maybe just going with the flow is best
I won't have a lot of infrastructure for the project, and when that's the case you leave a few i's undotted
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
jeffreykegler TimToady: which is more than most lawyers can say
pmurias re CLA's is there a legal difference between submitting code using a commit bit and a pull request/patch 17:59
as one requires a CLA and the other doesn't
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
pmurias: strictly speaking, you don't need a CLA for a commit bit, but for regular and/or major contributions
TimToady right, it's really about exposure to the risk of having a large part of your codebase nullified
moritz the commit bit just facilitates the commit bit
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
* without -> with 18:03
TimToady ayah
PerlJam That's in line with "forgiveness > permission" :-)
dalek kudo/nom: 8edd740 | jnthn++ | src/Perl6/Grammar.pm:
Update precedence of setops to match updated spec.
18:04
18:04 adu joined
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!
jeffreykegler TimToady: thanks!
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. ;)
masak finds www.perl6.org/archive/rfc/354.html 18:09
this never happened, did it?
PerlJam really doesn't want to start writing Perl(tm) though 18:10
nwc10 you mean Perl(R)
PerlJam whatever
flussence doesn't bother writing "Linux®"
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
masak I rest my case. :P 18:15
PerlJam why were you trolling the RFCs anyway?
(or was it just happenstance?) 18:16
masak PerlJam: I got there from the Artistic License Wikipedia article. 18:17
which I pulled up because TimToady started talking about court cases.
PerlJam ah 18:18
18:28 raiph joined
raiph TimToady: are you backlogging the full #perl6 irc log or using the summary? 18:29
dalek ecza: d343a2a | (Solomon Foster)++ | lib/CORE.setting:
Follow spec change to make setops have junctive operator precedence.
18:33
18:34 hash_table left
dalek rl6-roast-data: 26e0a06 | coke++ | / (4 files):
today (automated commit)
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
it's Failure
dalek ast: 3dabf1a | (Solomon Foster)++ | S02-types/array.t:
Niecza fudge for Failure.
18:37
[Coke] colomon++ 18:38
now, can you do that for pugs, too? ;)
colomon doh! I'm sorry
should have realized.
raiph jeffreykegler: i recommend www.slideshare.net/autang/ofun-opti...ng-for-fun 18:40
dalek ast: a5c2b32 | (Solomon Foster)++ | S02-types/array.t:
Pugs fudge for Failure (purely conjectural, as I do not have a Pugs build).
jnthn
.oO( But don't we fudge to avoid failure... )
[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. ;)
[Coke] colomon: looks like you inadvertantly remoed a niecza skip?
or was that intentional?
colomon: (pugs) aye, it's a curiosity at this point, anyway.
18:42 zby_home_ joined
colomon [Coke]: yes, niecza still passes with that skip out. 18:42
rn: say <<<\>'n'>>.join('|')
p6eval niecza v24-16-g89e47b6: OUTPUT«<>'n'␤»
..rakudo 8edd74: OUTPUT«<>|n␤»
colomon errr, what? 18:43
jnthn afaik, niecza doesn't yet process quotes inside shell words
r: say << 'foo bar' 'baz' >>.perl
p6eval rakudo 8edd74: OUTPUT«("foo bar", "baz")␤»
jnthn n: say << 'foo bar' 'baz' >>.perl
p6eval niecza v24-16-g89e47b6: OUTPUT«("'foo", "bar'", "'baz'")␤»
jnthn Yeah.
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 :)
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:47
18:47 SunilJoshi1 joined, SunilJoshi left
TimToady it's possible that postprocessing is the wrong solution there for literal quotes inside << >> 18:49
18:49 SunilJoshi1 left
TimToady in fact, it's even likely 18:49
18:49 stevan_ joined
jnthn TimToady: It's fine so long as you postprocess the *ast*. 18:50
TimToady: Post-processing the string would be crazy.
18:50 sisar left
TimToady r: « foo '»' » 18:51
p6eval rakudo 8edd74: ( no output )
TimToady r: say « foo '»' »
p6eval rakudo 8edd74: OUTPUT«foo»␤»
TimToady okay, rakudo++
jnthn r: say « foo '»' ».perl
p6eval rakudo 8edd74: OUTPUT«("foo", "»")␤»
jnthn phew :)
18:51 jeffreykegler left
TimToady std: say « foo '»' » 18:52
p6eval std 7deb9d7: OUTPUT«===SORRY!===␤Confused at /tmp/YKY0EuvYcV line 1:␤------> say « foo '»⏏' »␤ expecting any of:␤ POST␤ infix or meta-infix␤ infixed function␤ postcircumfix␤ postfix␤ postfix_prefix_meta_operator␤ postop␤ statement
..modifier loop␤Pa…
TimToady yes, rakudo does it righter than STD, so you didn't get that part from STD :)
18:53 jeffreykegler joined
TimToady raiph: I feel obligated to at least *try* to read everything, though I may well give up on that :) 18:54
masak .oO( STDier than thou ) 18:56
18:57 jeffreykegler left
raiph TimToady: OK. I feel *inclined* to do the same. I can see why you would feel obligated. 19:00
TimToady: I realize this implies spending even more time, at least short term, but...
19:01 fgomez joined
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:04
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
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
diakopter heh
TimToady "to boldly go" etc
diakopter "to randomly split" 19:10
TimToady yes, I speak Autopun
masak :)
diakopter I speak low sense of humor
TimToady as long as it's not a sense of low humor
masak in Soviet Russia, autopun speaks YOU!
slavik1 I am from Soviet Russia and there were no autopuns ... 19:11
diakopter they were all forced labor?
slavik1 yes
19:12 zby_home_ left 19:14 spider-mario joined
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 :)
TimToady the people who find it most useful are probably the people who are *not* usually on the channel, I'd think
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:24
slavik1 no :(
raiph heh
slavik1 I did not know it existed
where is it?
TimToady non-native speakers, and people who don't have skimming skills
slavik1 on a semi-related note, perlcritic is awesome
19:24 skids joined
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 irclog.perlgeek.de/perl6/today ?
slavik1 no :( 19:25
OMG!!! stuff I write is on the interwebs, I am famous!
:P
raiph slavik1: were you aware of them? there's 7 years worth...
slavik1 at some point I was aware that there is irc logging 19:26
TimToady hopes they are well backed up
slavik1 TimToady: nonsense ... in production, we only start backing up AFTER losing years worth of data
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
diakopter data, if not info 19:28
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
dalek p: 3a1258d | moritz++ | src/ops/nqp_bigint.ops:
initialize the system PRNG with the parrot one
19:31
diakopter in Soviet Russia, transitive verbs you
er, intransitive. 19:32
19:32 adu left
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:34
19:34 stevan_ left
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?
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:37
19:37 SamuraiJack left
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?
raiph for example, i see tons of awesome Q+A snippets. 19:40
PerlJam: right. i was thinking one could maybe add a &tag=foo to the save summary URL. 19:41
(or something more polished ui-wise, but basically that.)
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:43
Ideally, something so easy and scalable that it's useful for many irc channels 19:44
freenode is apparently now the world's largest irc network; Moritz's irclog software is, aiui, the best logger setup for freenode channels; ... 19:46
if there were a simple way to enable those on channel to annotate their own logs... 19:47
anyhoo, i can dream. :)
19:49 Vlavv` joined 19:53 fgomez left 20:01 fgomez joined 20:16 mikemol joined 20:28 SmokeMachine left 20:29 MayDaniel left
dalek Heuristic branch merge: pushed 18 commits to rakudo/froggs_mergemulti by jnthn 20:48
20:55 fgomez left
jnthn FROGGS: I'm taking a look at your branch. 20:56
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
TimToady: "Any autogenerated proto is assumed to be exported by default." => do we still want this semantic?
21:01 alester joined
jnthn To expand on the "individual candidate" question, what it out of 5 candidate, say 3 are marked multi. 21:02
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
If so, the question about individual multis still comes up if there's a "my proto...". 21:04
"Any proto declaration that is not declared my is exported by default." # not sure if we want this one... :)
s/days/says/ ages back :) 21:05
21:27 stevan_ joined 21:36 kaare_ left 21:42 stevan_ left 21:53 fgomez joined
dalek kudo/nom: fec4986 | jnthn++ | src/core/traits.pm:
Eliminate $*W mentions in traits.pm.

This was always a hack, unrequired for a while now.
21:55
kudo/nom: f083685 | jnthn++ | src/core/ (3 files):
Fix hash/array binding constraints.
21:58 fgomez left 22:09 fgomez joined 22:12 whiteknight joined 22:13 fgomez left, fgomez joined 22:14 xinming_ joined 22:15 bluescreen100 joined 22:17 xinming left 22:19 bluescreen10 left
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:20
masak I don't know. 22:21
there are two levels of EOF there.
the current behavior seems to be saying "those two levels of EOF are simply EOF, live with it" 22:22
timotimo i can see how ^C would exit the REPL immediately,.
masak fwiw, I have python installed, and ^D exits its REPL.
installing Ruby now to check with irb, too. I have a feeling I know what the result'll be. 22:23
timotimo well, yeah, but try:
masak ^D exits irb.
timotimo import sys; a = sys.stdin.read(1024)
and type a few lines and then ^D
that's what i mean.
because that only ends the read, but doesn't kill the repl
interestingly it doesn't close the stdin, but i guess that's somewhat fair. 22:24
masak yeah, I see what you mean.
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
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:28 spider-mario left
dalek rakudo/nom: 763a621 | (Tobias Leich)++ | src/Perl6/World.pm: 22:33
rakudo/nom: possible fix for multi-method import bug
rakudo/nom:
rakudo/nom: This patch allows you to import multi methods from several modules.
rakudo/nom: It merges the dispachtee lists. Two identical dispatchee signatures
22:33 alec joined, dalek joined, ChanServ sets mode: +v dalek
dalek ast: 47a4659 | (Tobias Leich)++ | S11-modules/import-multi.t:
new tests for multi symbol merging
22:33
timotimo isn't that what the other person has been working on for months? 22:34
jnthn phenny: tell FROGGS Multi merge stuff is merged. Thanks!
phenny jnthn: I'll pass that on when FROGGS is around.
timotimo or is that just the realname? i think it was froggs
oooh, that's his work? great! :)
jnthn timotimo: Yes, I just did review/tweaks/merge of it :)
FROGGS++
timotimo so, inline::c and friends will now work no-problemo? :) 22:35
jnthn Hopefully :)
timotimo that's cool 22:36
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:37
jnthn rn: 7745 22:38
oops
p6eval rakudo f08368, niecza v24-17-gd343a2a: ( no output )
jnthn rn: print 1|2|3; 22:39
p6eval niecza v24-17-gd343a2a: OUTPUT«any(1, 2, 3)»
..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␤␤»
masak timotimo: I don't remember. I may be able to dig up the relevant backlog.
jnthn What should print on a junction do?
The reason we get a problem at the moemnt is that $junc.Str auto-threads. 22:40
Giving back a junction of Str
timotimo masak: not so important
masak timotimo: nevertheless I will try :)
masak likes to search for things :)
timotimo sure, do what you want :)
if it helps you procrastinate :D
masak ...from all the vitally important things I have to do on a Friday night? :P 22:41
22:41 mtk joined
masak timotimo: here: 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:42
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 alec is now known as alec__
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...
and I'm done with that for the week, so... :) 22:43
jnthn Ah, Niecza has Junction.Str calling Junction.perl...
22:43 alec__ is now known as alec
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
Hm, I worry 'cus the current way looks rather deliberate... 22:48
multi method Str(Junction:D:) {
self.new($!storage.map({$_.Str}), :type($!type))
}
TimToady: ^^ when you get chance...I can't find anything in the spec that rules one way or the other... 22:50
22:50 bluescreen100 left
masak jnthn: I'd say go for it if the spectests don't regress. 22:52
dalek kudo/nom: fda63ce | jnthn++ | src/core/traits.pm:
Remove out of date comment.
22:56
kudo/nom: 463daf0 | jnthn++ | docs/ChangeLog:
Update ChangeLog.
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? :)
jnthn masak: yes, and I fixed it to take advantage of that earlier :) 22:58
And forgot to remove the comment
masak I saw the fix, but couldn't deduce that it needed full srlzn. 23:01
grondilu rn: say 0, gather for <foo bar> { .take }
p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤»
grondilu was expecting "0 foo bar"
(with a space between 0 and foo"
)
oh hang on 23:02
grondilu understands
rn: say 0, (gather for <foo bar> { .take })
p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤»
grondilu hum
.oO( ... )
rn: say 0, <foo bar> 23:03
p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤»
grondilu wtf
rn: say( 0, <foo bar> )
p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0foo bar␤» 23:04
jnthn rn: say (0, <foo bar>)
p6eval rakudo f08368, niecza v24-17-gd343a2a: OUTPUT«0 foo bar␤»
jnthn masak: It busts not spectests :)
*no
Guess I can go for it...if it's the wrong answer, it's just a git revert away... 23:05
dalek kudo/nom: 46913d6 | jnthn++ | src/core/Junction.pm:
Make Junction.Str return...a Str!

Previously, it would form a Junction with everything Str'd. Thing is, things that (fairly) expect to get back a Str when they call .Str will then explode when they try to unbox it. This brings us in line with Niecza's semantics, so at the very least it's convergence...
23:07
jnthn There's another ticket looked at 23:09
23:15 alester left
jnthn ooh, and if spectest passes I've nailed another :) 23:20
masak jnthn++ 23:22
"forgiveness > permission" sometimes translates into "git revert > !(git commit)" ;) 23:23
jnthn aye 23:24
masak 'night, #perl6 23:26
diakopter o/
jnthn whew, looks good
dalek kudo/nom: dfefd94 | jnthn++ | src/Perl6/Ops.pm:
Specialize compilation of defor to fix bugs.

This makes defor use a call to .defined, not go via the Parrot v-table function. There were some inconsistencies there somehow for roles and modules; this makes sure defor will never give results inconsistent with .defined.
23:28
timotimo wow, i've got quite an amazingly huge stacktrace in panda
two times rethrown 23:29
jnthn QAST++ # made that easy to fix
23:31 Khisanth left
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:39
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 }
p6eval rakudo 46913d, niecza v24-17-gd343a2a: OUTPUT«(timeout)» 23:41
timotimo no, i have nothing.
grondilu was expecting it not to timeout
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)»
..niecza v24-17-gd343a2a: OUTPUT«0.537146100093213␤0.34189015316864946␤0.55471345854676957␤0.83309254321879356␤0.49609898007293185␤»
timotimo rn: my @rand := rand xx *; for (@rand Z (0 .. *)) -> $r, $t { last if $t > 4; say $r }
p6eval rakudo 46913d: OUTPUT«(timeout)» 23:43
..niecza v24-17-gd343a2a: OUTPUT«0.48882364737280815␤0.7248414809465602␤0.94651781718550143␤0.49185791774273752␤0.5288789973263065␤»
timotimo wait, 0 .. * instead of 0 ... *?
r: my @rand := rand xx *; for (@rand Z (0 ... *)) -> $r, $t { last if $t > 4; say $r }
p6eval rakudo 46913d: OUTPUT«(timeout)»
timotimo r: my @rand := 0 ... *; for (@rand Z (0 ... *)) -> $r, $t { last if $t > 4; say $r }
well, that's certainly interesting 23:44
p6eval rakudo 46913d: OUTPUT«(timeout)»
timotimo r: for (0 ... * Z 10 ... *) -> $a, $b { last if $b > 15; say $a }
p6eval rakudo 46913d: OUTPUT«0␤2␤4␤6␤8␤10␤12␤14␤»
timotimo r: for ((rand xx *) Z 10 ... *) -> $a, $b { last if $b > 15; say $a }
p6eval rakudo 46913d: OUTPUT«(timeout)» 23:45
timotimo r: for ((rand, { rand } ... *) Z 10 ... *) -> $a, $b { last if $b > 15; say $a }
23:45 Khisanth joined
p6eval rakudo 46913d: OUTPUT«(timeout)» 23:45
timotimo nope, i got nothing.
say (rand, { rand } ... *)[^10] 23:46
r: say (rand, { rand } ... *)[^10]
p6eval rakudo 46913d: OUTPUT«0.756810824926109 0.857357258766086 0.329371047943038 0.925305283718394 0.851738725684374 0.519511278704144 0.322794680853203 0.632197646232349 0.302239270872096 0.984048907238275␤»
timotimo r: say (rand, { rand } ... * Z 0 ... *)[^10]
p6eval rakudo 46913d: OUTPUT«0.248926067332835 0.234114245369227 0.586023311867518 0.861580831088709 0.6308033344222 0.979001270592548 0.612008217160419 0.114432278828723 0.669594779601912 0.987001026573807␤»
timotimo r: say ((rand, { rand } ... *) Z (0 ... *))[^10]
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␤»
timotimo r: for ((rand, { rand } ... *) Z (0 ... *)) -> $a, $b { say $a; last if $b > 5 }
p6eval rakudo 46913d: OUTPUT«(timeout)» 23:47
timotimo r: for ((rand, { rand } ... *) Z (0 ... *)) -> ($a, $b) { say $a; last if $b > 5 }
r: for ((rand, { rand } ... *) Z (0 ... *))[^50] -> ($a, $b) { say $a; last if $b > 5 }
p6eval rakudo 46913d: OUTPUT«(timeout)»
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…
dalek kudo/nom: bd9bc6f | jnthn++ | src/Perl6/Actions.pm:
Fix (my %) over-sharing.
23:53
timotimo for ((1, 2, 3, 4) Z (5, 6, 7, 8)) -> $a, $b { say "$a, $b"; last if $b >= 6 } 23:54
r: for ((1, 2, 3, 4) Z (5, 6, 7, 8)) -> $a, $b { say "$a, $b"; last if $b >= 6 }
p6eval rakudo 46913d: OUTPUT«1, 5␤2, 6␤»
timotimo r: for ((0 ... *) Z (5, 6, 7, 8)) -> $a, $b { say "$a, $b"; last if $b >= 6 }
p6eval rakudo 46913d: OUTPUT«0, 5␤1, 6␤»
timotimo r: for ((0 ... *) Z (0 ... *)) -> $a, $b { say "$a, $b"; last if $b >= 6 } 23:55
that's curious.
p6eval rakudo 46913d: OUTPUT«(timeout)»
23:55 not_gerd joined
not_gerd r: module Foo { my $*foo; our sub foo { temp $*foo } }; module Bar { Foo::foo } 23:56
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␤␤»
not_gerd ^^^ known?
r: module Foo { my $*foo; our sub foo { temp $*foo } }; module Bar { } 23:57
p6eval rakudo 46913d: ( no output )
jnthn not_gerd: There's no $*foo in the dynamic scope when you reach foo 23:58
So you are trying to temporize a Failure
r: module Foo { my $*foo; our sub foo { say $*foo } }; module Bar { Foo::foo } 23:59
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␤␤»