[00:16] *** benabik left [00:17] *** census left [00:26] hhm, dalek didn't report the commit I just did... :( [00:27] Anyway, NQP running on the JVM now passes all the tests that the cross-compiler passed. [00:27] \o/ jnthn++ [00:28] w00t! [00:28] *** benabik joined [00:28] Awesome, jnthn. [00:28] If I was there, I'd buy you a beer just for that milestone. :-) [00:30] * lue recalls some comment about socket reading having a limit of 0xFF chars or somesuch a long while ago [00:33] nqp-jvm-prep: f7fc166 | jnthn++ | docs/ROADMAP: [00:33] nqp-jvm-prep: A ROADMAP update. [00:33] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/f7fc16635e [00:34] Enough time at the keyboard for one day. :) [00:34] 'night o/ [00:35] o/ [00:36] *** census joined [00:37] phenny, tell jnthn You might want to tag this nqp-jvm milestone, because I would think "can compile itself, but doesn't have the other stuff needed by rakudo" would be an interesting marker for people wishing to port to other platforms. [00:37] japhb_: I'll pass that on when jnthn is around. [00:41] *** lustlife joined [00:41] *** benabik left [00:49] *** spider-mario left [00:49] *** Em_ joined [00:51] *** census left [00:52] r: say( "Hi I'm Emily i"m 8 years old"); [00:52] rakudo 357e60: OUTPUT«===SORRY!===␤Unable to parse expression in argument list; couldn't find final ')'␤at /tmp/78SpRtwFAJ:1␤------> say( "Hi I'm Emily i"⏏m 8 years old");␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infi… [00:53] r: say( "Hi I'm Emily i'm 8 years old"); [00:53] rakudo 357e60: OUTPUT«Hi I'm Emily i'm 8 years old␤» [00:54] r: say 5 + 10 [00:54] rakudo 357e60: OUTPUT«15␤» [00:55] (showed Emily code.org and here we are... :) [00:58] raiph++ [00:58] Welcome, Em_ [00:58] r: Hey [00:58] rakudo 357e60: OUTPUT«===SORRY!===␤Undeclared name:␤ Hey used at line 1␤␤» [01:00] Hello [01:00] Hello there. :-) [01:03] I'm confuesd and raiph is siting next to me hehe [01:03] Confusion is completely normally when you're getting started. [01:04] Actually, it's pretty normal no matter how long you've been coding. :-) [01:04] LOL [01:04] vut you are SOOO right [01:05] try switching between perl* and haskell, if you want confused :) [01:05] s/v/b/ [01:05] Woah, already using s/// [01:06] well raiph is sitting next to me waching and telling [01:06] * japhb_ understands [01:07] *** anuby joined [01:08] * Em_ ya [01:10] raiph i now you dont have a cule what is going on butttt Me but now i know [01:10] hehe [01:10] * Em_ [01:11] I started at about 8 too but I didn't have IRC back then :D [01:11] Oooh, you just managed to find a bug in my chat client. [01:12] * sorear [01:12] sorear, yeah, 7-9 seems about ideal [01:13] heh, also found a bug in my unansifier script [01:13] what????? [01:14] no clue [01:14] Em_, no worries, we're just amused that a few minutes after coming to visit, you already (accidentally) found bugs in our code. :-) [01:16] ohhh thank you [01:16] *That's* what those error message on my screen are :P (I though someone pasted them) [01:16] i have to go be right back have to have disert [01:17] One surely cannot miss dessert. ;-) [01:17] ya [01:17] the most amusing thing is I'm pretty sure japhb_ and I did ours independently, but apparently have the same or very similar bugs :) [01:17] Although currently not possible, a future implementation of the PIR language will allow you to use multiple heredocs within a single statement or directive: [01:17] geekosaur, I can't even test the fix from within my chat client, because it won't let me do that. :-) [01:18] ;) And with nesting of heredocs, the lexer is complete [01:18] Multiple heredocs in *PIR*? [01:19] swarley: hi! [01:19] huuuh. this may be an xchat bug [01:19] swarley: you can pretty much ignore that pdd [01:19] something like Perl6's q:to/END1/, q:to/END2/; Hi END1 There END2 (forget if that comma should be a semicolon) [01:20] https://gist.github.com/swarley/5061726 [01:20] japhb: not sure jnthn has gotten to the point you're thinking. he's got nqp to cross-compile but broken in several ways (failing several tests). now he's gotten nqp to self-host to the same point (still broken in the same ways). still awesome of course, and might be what you already knew [01:21] diakopter; why ignore it? :( [01:21] swarley: wat. [01:21] swarley: you can pretty much ignore that pdd [01:21] Hi I'm Back it was pudding [01:21] 'cuz on #parrot recently they bandied about the notion of removing PIR [01:22] raiph, he says in the ROADMAP that the remaining failing tests are probably for features of NQP that aren't used by NQP itself, but rather by Rakudo. [01:22] *** hypolin joined [01:22] well, good thing I saved the documentation offline. Because I'm a fan of the intermediate representation, which is why I'm making it available for use outside of parrot [01:22] Em_, :-D [01:23] hehe [01:23] :-D [01:24] *** fgomez left [01:24] Hi all of you i'm Emily [01:26] Oooh, target audience for Camelia! [01:26] speaking of finding bugs... [01:26] japhb: ah. thanks. then i think u're right that this is worth bringing to folk's attention. [01:27] * lue suddenly wonders what task infix:<ö> is worthy of, just so he can use the non-dwimmy hyper form :) [01:28] The Röck Döts operator? [01:28] raiph: Do you want some dessert???????? :-D [01:28] It makes your code ROCK, of course. [01:28] *** woosley joined [01:29] *** Em_ left [01:39] icuc, me testing user-selected brackets from the Ps/Pe/Pi/Pf categories: https://gist.github.com/lue/5061801 [01:40] r: my @a = 1,2,3,4,5; say @a[* «-« (1,2)]; say @a[* X- (1,2)]; [01:40] rakudo 357e60: OUTPUT«5 4␤Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤␤ in method Numeric at src/gen/CORE.setting:865␤ in sub infix:<-> at src/gen/CORE.setting:2842␤ in block at src/gen/CORE.setting:12899␤ in sub coro at src/gen/CORE.setting:5740␤ in … [01:48] *** fgomez joined [01:53] *** gcole left [02:00] *** rking joined [02:27] *** benabik joined [02:31] *** rindolf joined [02:41] *** japhb_ left [02:59] *** gcole joined [03:03] *** gcole left [03:21] *** orafu joined [03:32] * [Coke] runs a rakudo program through --profile and sees that 50% of the program is in sink. [03:33] *** ikrs joined [03:41] *** uvtc joined [03:48] What is the reason for being able to do this: `my @a = ; my $b = @a;` ? I can index into both @a and $b the same (`@a[1], $b[1]`)... [03:48] Both @a.WHAT and $b.WHAT --> Array() [03:49] $b can be anything, and an Array is anything. [03:49] One difference I see now, is: [03:49] r: my @a = ; my $b = @a; say @a.perl; say $b.perl [03:49] rakudo 357e60: OUTPUT«Array.new("foo", "bar", "baz")␤["foo", "bar", "baz"]␤» [03:49] So, $b is non-flattening... [03:50] you could think of it as $b is getting a reference to the array, while @a is getting the array itself [03:50] (it's more complex than that but supposed to look roughly like that) [03:50] I prefer to think of it as a singular/plural distinction [03:51] is a class one thing or a group of things? [03:51] if I look at that output with perl5 eyes I see the first as a list and the second as an arrayref [03:51] is a car one object or a group of objects? [03:52] r: my @a = ; my $b = @a; my @d = (1, $b, 2); say @d.perl; # I see $b doesn't flatten. [03:52] rakudo 357e60: OUTPUT«Array.new(1, ["foo", "bar", "baz"], 2)␤» [03:53] Ok. [03:54] TimToady: Am I correct in saying that the names which go into lexpads are refererences (though, they're generally auto-deref'd for you everywhere, so you tend not to notice)? [03:54] $x, @a, %h <--- names like those [03:55] (moritz explained to me yesterday that lexpads are something like runtime scratchpads where lexicals are kept track of.) [03:55] well, they're names associated with references by the symbol table [03:56] Oh. Interesting. So the names are mapped to references, and the references may refer to containers, or maybe directly to objects (such as an Int). Is that correct? [03:56] If you call both the link from name -> container and from container -> value "references" then it gets confusing. [03:57] * [Coke] wonders how to get an infinite list of 10s. [03:58] skids: Ok. TimToady just used the word "associated": "The name is associated with the reference". So, that language sounds fine. :) [03:59] r: say 10, 10, 10 ... * [03:59] rakudo 357e60: OUTPUT«10 10 10 10 ...␤» [03:59] [Coke]: ^ [03:59] <[Coke]> heh. I just got there, danke. (only need 2 tens.) [03:59] Is "symbol table" == lexpad? [04:00] r: say 10, +* ... * [04:00] rakudo 357e60: OUTPUT«10 10 10 10 ...␤» [04:00] uvtc: well since we manipulate such associations with := "bind" works too. [04:00] uvtc: yes and no [04:00] roughly. "symbol table" ususally means something global and woth some permanence, a lexpad is like a scratchpad symbol table that exists only in the current lexical scope [04:01] also, lexpads are created anew each time you invoke a sub [04:01] <[Coke]> colomon: I was hoping for something like 10,x5; ah well. [04:01] "lexpad" is a technical Perl 6 term [04:02] r: say 10 xx * [04:02] "symbol table" is not a specific technical term, it's a general term of compiler art [04:02] rakudo 357e60: OUTPUT«10 10 10 10 ...␤» [04:02] <[Coke]> ah, xx. Danke. [04:02] symbols are just recipes, that, taken together with some structure, allow you to find the first pointer :) [04:02] <[Coke]> it's been 10 years, hopefully I'll starting picking this language up soon. :| [04:02] skids: Ok. So the terminology then, is: names are made of identifiers. Names are associated with references. References are bound to either containers or directly to other objects. [04:03] [Coke]++ [04:03] r: say 10 xx Inf # should this maybe work? [04:03] rakudo 357e60: OUTPUT«Cannot coerce Inf to an Int␤ in method Numeric at src/gen/CORE.setting:10515␤ in sub infix:<==> at src/gen/CORE.setting:2886␤ in sub infix: at src/gen/CORE.setting:6180␤ in block at /tmp/o5IkRw8Qps:1␤␤» [04:03] in the case of lexicals, the structure in question is the current activation record or frame, that contains the actual data for this invocation [04:03] <[Coke]> r: say Inf.Int [04:03] rakudo 357e60: OUTPUT«Cannot coerce Inf to an Int␤ in method gist at src/gen/CORE.setting:10517␤ in sub say at src/gen/CORE.setting:7602␤ in block at /tmp/3nBpfBabJc:1␤␤» [04:03] TimToady: uh, oh. You just added another word that my brain needs to find another place for re. Perl 6: symbols. [04:04] well, here I just mean it semiotically, not in any CS sense [04:04] so, just a 'name' [04:04] Phew. :) [04:04] (In, for example, Clojure, symbols are something concrete.) [04:05] it's just something you use to stand for something else that you would otherwise have difficulty talking about :) [04:05] yes, FP languages have it as a technical term [04:05] I think it's a bad technical term, but there... [04:05] Are the major/common containers: Scalar, Array, and Hash? [04:06] (As in, names like, "$x, @a, and %h are references to containers".) [04:06] and Routine :) [04:06] Nice. Ok. [04:06] Routines are actually mutable, or you couldn't call .wrap on one [04:07] I don't know what calling .wrap on anything would mean. [04:07] it's sort of an AOP thing, don't sweat it [04:07] uvtc: maybe I'm not up to speed but: a name is bound to either reference(s) or value(s). In the case of $ names that's singular. References reference values. Values can, however, be anonymous references (e.g. a Parcel). [04:08] Is a Parcel a container? [04:08] not in the sense of being mutable [04:08] Ok. [04:08] it's kinda like a Tuple in Python [04:09] but more directly mapped to the structure of the program, in general [04:09] if your expression, has ($a, @b, &c, %d), you have a Parcel with four items [04:10] you have no idea how those will be flattened; it depends on what kind of signature you bind it to [04:10] so it's where we have a lazy value that does not yet know its item vs list context [04:11] if bound to ($,$,$,$) in a signature, there are just 4 arguments [04:11] if bound to ($, *@), there's one positional, and the rest come in variadic (slurpy) [04:11] or you could bind to (*@) and they'll all come in flattened [04:12] (the way everything comes in in Perl 5, as it happens, at least without prototypes) [04:14] TimToady: thanks. [04:14] and we call it a Parcel because you don't know what's in it till it's unwrapped :) [04:15] Hehehe. Good mnemonic. :) [04:15] well, and "parenthesis cell", but it's really the commas that do it [04:16] Oh, it's the commas that make the cell, not the parens. Ok. [04:18] r: my \p = 1,2,3; say p.WHAT [04:18] rakudo 357e60: OUTPUT«(Parcel)␤» [04:19] r: my $p = 1,2,3; # should warn [04:19] r: my \p; say \p.WHAT; [04:19] rakudo 357e60: ( no output ) [04:19] rakudo 357e60: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤» [04:19] r: my \p; say \p.WHAT; [04:19] rakudo 357e60: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤» [04:19] r: my $p = 1,2,3; 42; # should warn [04:19] rakudo 357e60: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $p = 1,2,3" in sink context (line 1)␤» [04:19] there we go [04:20] uvtc: \ means something else on the RHS [04:20] What does it mean on the LHS? "Sigilless" variable? [04:20] (that always looks like "silliness" to my eyes. :) ) [04:20] it means bind the raw parcel without commiting to item vs list context [04:21] Oh. Don't open the parcel. [04:21] yes, just put another sticker on it so you can forward it :) [04:21] :) Or, maybe: don't apply and context to it. [04:21] ...just yet. [04:22] right, keep being lazy about deciding the context [04:22] p6 is all about the control of laziness [04:22] yesterday I decided that try couldn't be lazy anymore (in the list sense) [04:23] try should encapsulate a computation better than that [04:23] you can still fake out a try, but you'd have to use "gather try ... take" for that [04:28] Thanks. Have not yet gotten to `try`, `gather`, `take`, etc. [04:29] someone should write a book about this...why is everyone looking at me? [04:30] •.• [04:32] there's a sense in which Rats are just lazy division too [04:33] I see a quotable quote coming: "Perl 6 is all about controlling laziness, $something impatience, and $something-else hubris." [04:34] $something-else is surely "encouraging" :) [04:35] well, controlled laziness, controlled impatience, and controlled hubris [04:35] $something may be "reducing" [04:35] it depends on whether you're talking about the computer or the programmer :) [04:35] *** preflex_ joined [04:36] *** preflex left [04:36] *** preflex_ is now known as preflex [04:38] *** kaleem joined [04:38] Ok. So, it sounds then like I'm probably over-thinking this, and can simply start using arrays, and then using brackets when I want them to not flatten. [04:41] or $@array [04:42] just as you can use @$array to go the other direction [04:42] Were parens previously required to do that? [04:42] yes [04:42] *** fgomez left [04:42] well, by the implementation, not by the spec [04:43] at least for a period of time, the spec may have been an underspec before that :) [04:43] In Perl 5, I tend to most often use the extra curlies when de-reffing, because it seems more readable to be explicit. [04:46] In the cheatsheet, it says that `[ ]` is an array composer. I don't know the technical meaning of "composer", but it gave me the impression that if `[ ]` makes arrays, then maybe `( )` makes something else. [04:46] Oh. Wait. [04:47] It says that `(, )` is the Parcel composer. So I was wondering if there was something else to make lists. [04:47] it kinda makes a parcel in the sense that it either makes a real Parcel with , or something that can stand as a parcel as a single item [04:48] Ok. [04:48] it's a "provisional item" of a parcelish nature [04:49] an item context can't look inside a () to see if there are commas or not, in a sense [04:49] but a list context can [04:50] "item context" is new to me, but it sounds analogous to list (array?) context, or boolean context. [04:50] which is why parens are transparent to list context, but not item context [04:51] *** SamuraiJack joined [04:51] if you call a function foo((1,2,3),(4,5,6)), it keeps the possibility of treating that as 2 arguements, 4 arguments, or 6 [04:51] depending on whether the signature is ($,$), ($,*@), or (*@) [04:52] but the $ binding doesn't care whether there's a comma inside or not [04:52] if it were foo((1+3),(4,5,6)) it'd do the same [04:52] Ok. [04:53] Thanks, TimToady. [04:54] it most does what one expects, but sometimes it's hard to describe what people expect :) [04:54] *mostly [05:00] *** Eddward joined [05:03] Are there any known bugs in rakudo-star-2013.02 in rakudo/t/spec/S02-types/bool.t [05:04] It's not quite 100% but I get an error right after ok 48 - Bool.pick(*) returns two elems [05:04] *** glibc detected *** ./perl6: free(): invalid next size (fast): 0x000000000293bd10 *** [05:05] That's followed by a C stack trace. I suppose it could just be my system memory. [05:06] Aside from some TODOs that works I didn't see any other test failures. [05:07] *** fgomez joined [05:09] *** ikrs left [05:09] *** ikrs joined [05:11] huh [05:11] I didn't actually run the tests here; maybe I'll fire off a run now [05:15] bool.t passes here, so maybe it's something there [05:15] are you on 32-bit or 64? [05:16] (I'm on 64) [05:17] also, is it reproducable? coulda been a cosmic ray... [05:20] Love that guy's pizza. [05:21] (Cosmic Ray's Famous Pizza) [05:21] Ok then! :) [05:21] *** uvtc left [05:24] *** bruges_ joined [05:32] *** mtk joined [05:40] *** raiph joined [05:46] *** drKreso joined [05:50] *** grondilu joined [05:51] rn: my @a = [], [<1 2>]; say @a»[0]; [05:51] rakudo 357e60, niecza v24-24-gbdc3343: OUTPUT«foo bar 1 2␤» [05:51] * grondilu was expecting "foo 1" [05:52] pugs: my @a = [], [<1 2>]; say @a»[0]; [05:52] pugs: OUTPUT«*** ␤ Unexpected "["␤ expecting term postfix␤ at /tmp/N5BRQ1gktS line 1, column 38␤» [05:55] phenny, tell FROGGS This line? my str $line = $PIO.readline(nqp::unbox_s($!input-line-separator)); [05:55] drKreso: I'll pass that on when FROGGS is around. [05:56] *** drKreso left [05:56] *** grondilu left [05:58] *** quester joined [06:01] *** SamuraiJack left [06:05] TimToady: I'm running 64bit. It happens most of the time. I've seen it pass 3 times. When it fails it's always right after 48. [06:11] we've had occasional trouble with bool.t for quite some time now (years) [06:12] If I have a good recreate, is there anything I should try to debug? [06:13] I've never looked at the internals of parrot or rakudo but I can handle the debugger. [06:13] Eddward++ [06:13] Eddward, TimToady, moritz: I've also been having problems with t/spec/S02-types/bool.t. I opened a bug report a few days ago, RT #116933. [06:19] Running under valgrind I still get to test 48, but I get a different error from glib. valgrind didn't detect any errors though. [06:19] Eddward: getting a backtrace would be a good first step, as well as anything that looks helpful [06:20] I need to go to bed for now. I'll pop on tomorrow to see if I can help. Thanks. [06:20] ciao [06:20] ok [06:20] valgrind and the GC don't love each other [06:20] Do I need an account on rt to add to it? [06:21] I assumed that if glibc detected a double free, valgrind might too. [06:26] *** Eddward left [06:26] r: use Test; ok (0 but Bool::True), qq{Bool::True works with "but"} for 1..25; [06:26] rakudo 357e60: OUTPUT«(signal ABRT)ok 1 - Bool::True works with "but"␤ok 2 - Bool::True works with "but"␤ok 3 - Bool::True works with "but"␤ok 4 - Bool::True works with "but"␤ok 5 - Bool::True works with "but"␤ok 6 - Bool::True works with "but"␤ok 7 - Bool::True works with "but"␤ok 8 - … [06:28] Hmm... when I try that locally, it usually says ok seven times and crashes on the eighth iteration. [06:30] star: use Test; ok (0 but Bool::True), qq{Bool::True works with "but"} for 1..25; [06:30] star 2013.02: OUTPUT«(signal ABRT)ok 1 - Bool::True works with "but"␤ok 2 - Bool::True works with "but"␤ok 3 - Bool::True works with "but"␤ok 4 - Bool::True works with "but"␤ok 5 - Bool::True works with "but"␤ok 6 - Bool::True works with "but"␤ok 7 - Bool::True works with "but"␤ok 8 - B… [06:31] Double hmm... locally, rakudo-star 2013.02 usually runs six iterations and crashes on the seventh. [06:31] I'll abrt you [06:32] * quester wonders who is being abrt'ed and whether it is a good thing or a bad thing. [06:34] * quester facepalms [06:36] ? :) [06:37] *** drKreso joined [06:38] r: (0 but Bool::True) and print qq{$_ } for 1..100; [06:38] rakudo 357e60: OUTPUT«(signal ABRT)1 2 3 4 5 6 7 8 9 10 11 12 13 » [06:38] star: (0 but Bool::True) and print qq{$_ } for 1..100; [06:38] star 2013.02: OUTPUT«(signal ABRT)1 2 3 4 5 6 7 8 9 10 11 12 13 » [06:40] Ah. Sigabrt after thirteen iterations... very likely the same way it dies here, with glibc aborting it ("glibc detected *** perl6: munmap_chunk(): invalid pointer: 0x000000000318a410 ***") [06:47] *** hypolin left [06:48] *** rindolf left [06:48] *** rindolf joined [06:53] Hi, I am playing with changing one line in INET.pm in rakudo core. After make && make install I get Missing or wrong version of dependency 'src/gen/CORE.setting' when running scripts. What did I do wrong? [06:53] *** xinming_ left [06:54] *** xinming joined [06:57] *** rindolf left [06:57] *** ikrs left [06:57] drKreso: there's some precompiled .pir files that you haven't regenerated after installing rakudo [06:57] *** rindolf joined [06:57] moritz: How can i do that? (Sorry for stupid questions) [06:58] drKreso: delete the 'site' dir in the rakudo installation dir, and then re-install all the necessary modules with panda again [07:02] jnthn: all selftests succssful [07:03] *** hypolin joined [07:03] moritz: Thanks, it's working now. Is there a better way or it has to be done each time? [07:04] jnthn: bother. The VMS system I have an account on only has Java 1.6.0. So I can't test it there :-( [07:09] *** ikrs joined [07:09] *** rindolf left [07:10] *** rindolf joined [07:13] *** grondilu joined [07:14] rn: say all(^10) ~~ Int; [07:14] rakudo 357e60, niecza v24-24-gbdc3343: OUTPUT«False␤» [07:16] * grondilu was expecting True [07:16] *** toebu left [07:16] rn: say all(^10) ~~ Range [07:16] niecza v24-24-gbdc3343: OUTPUT«all(Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False)␤» [07:16] ..rakudo 357e60: OUTPUT«False␤» [07:16] * quester updated RT #116933 with additional stacktraces from different version of Rakudo, FWIW [07:17] rn: say map *.WHAT, ^10 [07:17] niecza v24-24-gbdc3343: OUTPUT«(Int) (Int) (Int) (Int) (Int) (Int) (Int) (Int) (Int) (Int)␤» [07:17] ..rakudo 357e60: OUTPUT«Cannot call 'map'; none of these signatures match:␤:(&code, *@values)␤␤ in block at /tmp/QuiSo3SrLf:1␤␤» [07:23] * quester wishes everyone in #perl6 a very pleasant evening, or the localtime() of your choice [07:25] *** quester left [07:27] *** tadzik joined [07:32] *** ikrs left [07:35] *** ikrs joined [07:35] *** FROGGS joined [07:36] morning [07:36] FROGGS: 05:55Z tell FROGGS This line? my str $line = $PIO.readline(nqp::unbox_s($!input-line-separator)); [07:37] drKreso: right, this one hangs if it tried to read when there is no more data [07:37] FROGGS: From yesterday socket blocking problem [07:37] *** rindolf left [07:37] *** rindolf joined [07:38] drKreso: I have to research a bit how to fix that [07:40] FROGGS: I have some sort of workaround https://github.com/rakudo/rakudo/commit/0b5899aefba8facb4feda39716f6be7db1bcc328#src/core/IO/Socket/INET.pm but I am unsure what would be right fix, or what is causing it [07:42] FROGGS: Maybe using the old version + binary decoding into string before returning. [07:44] *** kaare_ joined [07:44] drKreso: what exactly is that what you posted? is that a testserver? [07:44] FROGGS: Yes, from http::easy readme [07:46] but this is not related to the blacking .readline [07:47] there is a string flying around which is binary encoded, so you could encode/decode it again, to utf8 or so [07:47] that should fix the $key .= uc [07:48] FROGGS: I don't know how to write better test, but when I curl test server it blocks on last header line (after cookie). Something in that last commit is making him block. [07:48] *** SamuraiJack joined [07:51] FROGGS: When I revert that commit, it doesn't block any more. But HTTP::Easy breaks on binary string (but thats easy enough to fix). Now I am not sure of what would be proper thing here, since I see that last commit is trying to decode binary string and return regular one. (So HTTP::Easy would just work). [07:57] *** ikrs left [08:02] *** ikrs joined [08:06] *** kaleem left [08:12] *** domidumont joined [08:15] *** kaare__ joined [08:17] *** kaare_ left [08:21] drKreso: I'll be afk for a few hours, but I will not forget about your problem :o) [08:28] one could try to explicitly pass an encoding to IO::Socket::INET.new() [08:28] though if .get returns Str, it should never be binary [08:34] masak: You around? [08:35] *** domidumont left [08:35] *** daxim joined [08:35] *** odoacre joined [08:36] *** ikrs left [08:36] *** domidumont joined [08:37] *** lizmat left [08:38] *** fhelmberger joined [08:40] *** ikrs joined [08:44] *** sqirrel joined [08:45] *** ObseLeTe joined [08:50] *** kaare__ is now known as kaare_ [08:51] *** wk left [08:58] *** ObseLeTe left [08:59] *** ObseLeTe joined [09:04] it should not return string, I think :| [09:10] .get is line orientent, and "line" is string concept [09:10] not a Buf concept [09:10] so .get, by definition, must return a Str [09:10] hm, I see [09:15] *** donaldh joined [09:24] morning o/ [09:24] jnthn: 00:37Z tell jnthn You might want to tag this nqp-jvm milestone, because I would think "can compile itself, but doesn't have the other stuff needed by rakudo" would be an interesting marker for people wishing to port to other platforms. [09:24] \o/ [09:24] jnthn: I can't actually find any other machine with Java (1.)7 installed :-( [09:26] .oO( Write Once, Run Any...wait... ) [09:26] Write once, run for your life :) [09:28] nwc10: I guess time will take care of that, though. [09:35] *** ikrs left [09:38] *** donaldh left [09:39] jnthn: is NQPJVM able to recompile itself? [09:40] and is it byte-for-byte identical? (Should it be? Or does Java put timestamps into the bytecode) [09:40] nwc10: Didn't get to trying that yet. :) [09:41] nwc10: javac automatically randomly obfuscates [09:41] byte-for-byte identical - no, because NQP itself does some naming differently each time [09:42] To make sure the different layers of the bootstrap never end up ambiguous. [09:42] ah OK. [09:42] byte-for-byte identical is (I think) how gcc tries to test its bootstrap [09:42] (kidding, of course) [09:43] Not to mention that we generate Java bytecode, so javac ain't involved :P [09:43] o yeah :D [09:46] * diakopter waits for the slow cc [09:48] *** labster left [09:54] *** dakkar joined [09:56] I broke panda :( After reinstalling rakudo when running perl6 bootstrap.pl (for panda) I get t/01-file-find.t ...... Dubious, test returned 1 (wstat 256, 0x100) [09:56] No subtests run [09:56] t/02-shell-command.t .. Cannot fetch object from non-existent serialization context . Tried clean, removing site ? What else can I try? [09:57] jnthn: this has to be the funniest error message I've ever seen https://gist.github.com/diakopter/28e68225461765592ee0 [09:57] jnthn: oh and the ; in your selftest target aren't portable [09:58] current directory much? :) [09:59] *** wk joined [09:59] yes, I'm not sure what to do about that short of having the Makefile generated [10:00] it's ok; git won't mind me having an uncommitted change that I'm sure will merge ok, i guess [10:00] *** woosley left [10:00] we could just add a selftest and winselftest :) [10:01] It's only temporary anyways [10:01] true [10:01] * jnthn wonders where all the ./s got added... [10:01] oh, did you scroll all the way to the right? [10:02] easier to see/laugh: https://gist.github.com/diakopter/28e68225461765592ee0/raw/8191fa3e85cf5f1e113dd4ddef89533231894578/gistfile1.txt [10:02] jnthn: that or you spawn a perl one liner to invoke prove [10:03] jnthn: there are 2035 ./ in there [10:04] *** hypolin left [10:04] unix date end?!? [10:04] ...what else does 2035 mean [10:05] yeah.. I don't know how to fix this. [10:06] ETOOMANYPERIODS [10:06] somehow it reminds me of the "spam spam spam spam, lovely spam" scene [10:09] Huh, panda problems where my fault… forgot to update /usr/bin/perl6 [10:14] *** anuby left [10:16] *** kaare_ left [10:16] *** kaare__ joined [10:18] *** drKreso left [10:31] *** Exodist left [10:35] *** Exodist joined [10:36] *** domidumont1 joined [10:38] *** domidumont left [10:55] *** kaleem joined [10:58] *** ObseLeTe left [11:00] *** toebu joined [11:05] *** ObseLeTe joined [11:10] *** spider-mario joined [11:37] *** bowtie_ joined [11:38] \NICK bowtie [11:38] *** bowtie_ left [11:39] *** bowtie_ joined [11:39] *** bowtie_ left [11:40] *** bowtie_ joined [11:41] *** bowtie_ left [11:43] *** drKreso joined [11:44] *** Targen left [11:45] *** bowtie_ joined [11:45] *** pmurias joined [11:46] *** drKreso_ joined [11:46] does the upcoming jvm version 8 add any interesting opcodes? [11:47] sorry for noise, I thought I would pop by and see whats going on, but I have had to use _ postfix as my nick is in use all ready by another [11:47] no problem [11:47] *** drKreso left [11:47] *** drKreso_ is now known as drKreso [11:52] *** rindolf left [11:58] *** SmokeMachine joined [11:58] *** drKreso left [12:00] *** drKreso joined [12:07] *** shinobicl joined [12:07] *** census joined [12:17] *** drKreso left [12:33] *** shinobicl left [12:33] *** domidumont joined [12:34] *** ObseLeTe left [12:36] perl6-roast-data: 03236a1 | coke++ | / (4 files): [12:36] perl6-roast-data: today (automated commit) [12:36] perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/03236a1ad2 [12:36] perl6-roast-data: 0438d07 | coke++ | / (4 files): [12:36] perl6-roast-data: today (automated commit) [12:36] perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0438d07c93 [12:36] *** domidumont1 left [12:37] *** shinobicl joined [12:38] <[Coke]> "It's been [15] days since someone broke the daily build" [12:38] <[Coke]> (rakudO) [12:39] [Coke]: what do we wanna do with the guy who breaks it? [12:43] [Coke]: did the build break, or just some tests? [12:53] *** ObseLeTe joined [12:53] jnthn: OK, so I am root on at least one machine. And it has a java (1.)7 package available. So I installed it: [12:54] nick@raspberrypi:~/Perl/nqp-jvm-prep$ time java -cp .:bin:3rdparty/bcel/bcel-5.2.jar NQPJVM -e 'nqp::say("Hello world from somewhere else")' [12:54] Hello world from somewhere else [12:54] real 0m33.994s [12:54] user 0m32.360s [12:54] sys 0m0.360s [12:54] I'm running the tests now. Slowly, I suspect [12:54] but yes, you can ship the build tree to a different architecture, and it WORKS [12:54] (which you would expect. But I have verified this) [12:55] t/nqp/01-literals.t ....... ok [12:55] t/nqp/02-if.t ............. ok [12:55] t/nqp/03-if-else.t ........ [12:55] don't hold your breath [13:01] 33s?! [13:01] yes. But it's not swapping [13:01] also, that's a softfloat JVM on the old debian softfloat distro [13:02] on a class 4 SD card [13:02] ah [13:03] and it's openjdk, so that's not Oracle's? [13:03] I think that Oracle have been playing a lot with JVMs on ARM since then, including specifically on Raspberry Pis [13:03] * colomon is now fighting the urge to try nqp-jvm on his phone.... [13:03] gawn gawn. you know you want to [13:03] does your phone have >256Mb? [13:03] nwc10: not sure, it's a galaxy s3 [13:04] when the tests have passed (There's confidence) [13:04] I'm going to try building current nqp [13:04] and see how long it takes to run the same tests [13:08] jnthn++ # giving the spinning rust a holiday [13:09] * colomon is doing a manual binary search through his $work SVN repo trying to figure out when he broke processing this one file [13:09] git-svn and bisect? :-) [13:10] *** nyuszika7h joined [13:10] cpanm App::SVN::Bisect [13:10] by Infinoid++ [13:10] moritz: you're kidding me. [13:10] the boostraped nqp-jvm is slower than nqp-parrot? [13:10] unless I misremembered that nick name [13:10] can I have a heads up when perl6 threading will be using the rakudo 5.x please [13:11] moritz: nope, that's it. moritz++ [13:11] *** benabik left [13:11] *** drKreso joined [13:11] *** skids left [13:11] bowtie_: I think your version numbers are confused. Rakudo versions aren't in the 5. series [13:11] API METHODS: new do_something_intelligent [13:12] pmurias: it was for running the NQP tests, last night, IIRC. Parrot's startup time is way better [13:12] I suspect that the NQPJVM codegen will get a lot better, and start to win back [13:12] bowtie_: https://github.com/tadzik/Threads/ gives you parrot's threads in Rakudo today [13:16] nwc10: the 33sec hello world was on a credit sized rasberry pi? [13:17] yes. [13:17] (there is only one size) [13:18] moritz, silly me sorry, you are quite right i meant Parrot [13:19] skype, bbiab [13:22] * colomon now trying out svn-bisect [13:25] *** ikrs joined [13:27] *** gcole joined [13:31] *** kaleem left [13:36] *** ikrs left [13:37] <[Coke]> moritz: I was counting build+tests as "the build", and nothing broke, it's ongoing. [13:37] [Coke]: ok, I misunderstood [13:38] <[Coke]> (svn bisect) So sad that someone did my module better than I did. ;) [13:38] [Coke]: you're in the credits for it. :) [13:39] <[Coke]> infinoid++ [13:40] *** lustlife left [13:49] * jnthn back [13:50] All tests successful. [13:50] <[Coke]> jnthn++ [13:50] Files=57, Tests=537, 2985 wallclock secs ( 2.79 usr 0.36 sys + 2830.67 cusr 24.37 csys = 2858.19 CPU) [13:50] that's about 50 minutes [13:50] o.O [13:50] but, much faster than building locally [13:50] * [Coke] finally thinks to install the git bash-completion script. mmmm [13:58] http://blog.regehr.org/archives/199 "Somehow, at some point in every serious programming project, it always comes down to the last option: stare at the code until you figure it out. I wish I had a better answer, but I don’t. Anyway, it builds character." [13:59] *** odoacre left [14:01] *** kborer joined [14:13] *** SamuraiJack left [14:14] *** odoacre joined [14:16] *** PacoAir joined [14:21] *** Psyche^ joined [14:24] *** Patterner left [14:24] *** Psyche^ is now known as Patterner [14:27] *** bluescreen10 joined [14:38] http://boingboing.net/2013/02/11/regular-expressions-crossword.html <3 [14:39] *** skids joined [14:41] *** odoacre_ joined [14:42] *** PacoAir left [14:44] *** PacoAir joined [14:45] *** odoacre left [14:48] eiro++ [14:49] somewhere there's a gist floating around that solves this in haskell with au++'s genex module [14:54] *** benabik joined [14:55] hmmm, I would have done it using a pencil [15:02] haha :) [15:09] off topic: launch of falcon 9 in a few seconds: http://www.spacex.com/webcast/ [15:09] ooh. I'd forgotten that. thanks [15:09] 30 seconds [15:11] grondilu++ # reminding me just in time for takeoff [15:13] http://morepypy.blogspot.de/2013/02/10-years-of-pypy.html [15:14] among the many gems in there: "To make it more likely to be accepted, the proposal for the EU project contained basically every feature under the sun a language could have. This proved to be annoying, because we had to actually implement all that stuff. Then we had to do a cleanup sprint where we deleted 30% of codebase and 70% of features." [15:16] That sounds familiar for some rason. [15:16] yeah, can't quite place it... [15:17] it's taken almost as long as Perl 6 [15:17] someone in the back room keeps asking for a cracker though [15:17] and, depending on how you date it, longer than Rakudo [15:17] and cost more. [15:18] I wonder who they got to pay them to delete stuff? [15:18] Probably deleted a bunch of stuff while someone wasn't paying them. [15:18] Quick, nobody's looking! [15:19] "You paid us to put it in; you didn't pay us to *keep* it in." [15:19] yeah [15:19] that's really the strategy we should be using for Perl 5 now. I've said it for a while [15:19] "that's a very nice language you seem to be using there. Shame if anything happened to it" [15:20] (it might seem like a joke, but the point behind it is that there isn't much significant that can be added, that you could pitch to a commerical sponsor as worth funding) [15:21] * [Coke] wonders if he should ping the giant $dayjob intranet for Perl users. [15:22] <[Coke]> rjbs++ # tpf/grant blog post. [15:23] people are like old programs too, I guess, except that you actually have to pay someone to cut parts out of you that you don't want anymore... [15:23] * TimToady learned yesterday that he is having his prostate out this month [15:23] I'm told that all we need is someone with vision to come and attract a swarm of C coders. [15:23] <[Coke]> Yikes. Best of luck, sir. [15:23] TimToady: That sounds like no fun at all. Good luck. [15:24] TimToady: Good luck! [15:24] thanks, not looking for pity, but not trying to avoid the best wishes :) [15:24] and prayers, for those of you who are so inclined :) [15:25] done. :) [15:25] and $wife might get a new aortic valve later this month [15:25] so, fun all around [15:25] moritz: My dad just did that not too long ago. Pig, I think. [15:25] rjbs: the problem seems to me that Perl 5 isn't so much written in C, as in a massive abstraction layer of custom macros over C [15:25] moritz: Good luck! The worst part of it seemed to be that my dad was so anxious. The actual work of it seemed to go just fine. [15:25] moritz: +1 [15:26] <[Coke]> YAY TECHNOLOGY! [15:26] moritz: you get used to those. It's still a pig to maintain [15:26] self hosting is a big plus point [15:26] rjbs: human for $wife, but with all the cells remove; the theory is that the body can repopulate it with its own cells (experimental method) [15:26] your volunteer base is more likely to overlap with your skillsets needed [15:27] Interesting! Good luck to both of you. [15:27] yeah, well, I've already got two bionic eye lenses, and I'm wearing someone else's cornea... [15:27] nwc10: aye. I found that while writing stuff for the optimizier in NQP [15:27] rjbs: thanks [15:27] TimToady: but the mustache is real, and for life, not just Movember? :-) [15:29] well, dunno about life, but I've had it since I was 18 [15:29] got tired of looking 12 [15:30] actually, hated the sensation of a shaved upper lip; probably some Aspy thing... [15:41] *** pmurias left [15:42] *** pmurias joined [15:45] *** Timbus joined [15:45] *** ponbiki joined [15:45] *** mberends joined [15:45] *** tipdbmp joined [15:45] *** cosimo joined [15:45] *** TimToady joined [15:45] *** kcwu joined [15:45] *** gfldex joined [15:45] *** Juerd joined [15:49] *** bluescreen10 left [15:55] *** pmurias left [16:03] *** snearch joined [16:04] *** snearch left [16:05] *** daxim left [16:05] *** uvtc joined [16:10] *** snearch joined [16:11] *** snearch left [16:13] *** snearch joined [16:14] *** snearch left [16:15] *** snearch joined [16:17] *** domidumont left [16:17] *** snearch left [16:18] *** snearch joined [16:19] *** slavik1 left [16:20] *** snearch left [16:21] *** snearch joined [16:23] *** snearch left [16:24] *** slavik1 joined [16:36] Would you call this `:foo` a Pair constructor, or Pair composer? [16:36] Or Pair shorthand syntax. [16:38] *** sjohnson joined [16:39] i say "colon pair syntax" [16:40] *** fhelmberger left [16:40] Oh, just realized there's also `:foo('bar')`. [16:41] or foo => "bar" [16:41] right, <> is autoquoting [16:41] right [16:41] and : is for named arguments [16:42] my $foo = 'bar'; :$foo # same [16:43] Oh. Interesting. `:$foo` is short for `foo => $foo` [16:43] both as a parameter and as an rvalue [16:44] *** kivutar joined [16:44] ya, :$foo is pretty nice [16:45] so to turn a new method with positional parameters into named, you can say 'method new($a,$b,$c) { self.bless(*, :$a, :$b, :$c) }' [16:45] since you have to name your vars like the params you later need, the code gets more clear this way too [16:46] *** tipdbmp left [16:46] Oh, Perl 6 still has `bless`? I thought that was a P5-OO-ism. [16:47] it's still what makes a constructor a constructor, but it has different semantics [16:47] *** ObseLeTe left [16:47] for one, it's a method, not a function [16:47] and you use it to pass the named args down to the various BUILD submethods that initialize the object [16:48] Thanks. Have not gotten to that yet. :) [16:50] * FROGGS .oO( is it dark down there at the various BUILD submethods? ) [16:51] *** tipdbmp joined [16:54] actually, it's quite a bit brighter down there, being closer to pure math and/or heaven. [16:54] or at least Mu... [16:55] I say "down", but it's really going up the class hierarchy to Mu [16:55] Metaphors We Live By [16:56] so Mu is basically a synonym for you know who? [16:56] (not voldemort this time) [16:57] well, perhaps a bit of a reference to his ineffable aspects :) [16:58] "that from which everything else derives its existence" :) [16:58] " Be on your guard. There are older and fouler things than Orcs in the deep BUILD submethods of the world." [16:59] actually, those would be the Liskov violations, I suspect [17:00] *** PacoAir left [17:00] things are supposed to get more platonic as you go up the type hierarchy [17:00] uvtc: seen that two weeks ago or so [17:00] *** not_gerd joined [17:00] o/ [17:01] hi not_gerd [17:01] rn: grammar { token foo($n) { o ** $n } } [17:01] FROGGS: Perl 6: Mining Mithril for Fun and Profit! [17:01] niecza v24-24-gbdc3343: OUTPUT«Potential difficulties:␤ Unsupported use of atom ** $n as separator; nowadays please use atom+ % $n at /tmp/vHn2NOyTly line 1:␤------> grammar { token foo($n) { o ** $n⏏ } }␤␤» [17:01] ..rakudo 357e60: OUTPUT«===SORRY!===␤Quantifier quantifies nothing␤at /tmp/ms1g6ZyWkb:1␤------> grammar { token foo($n) { o ** ⏏$n } }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name to… [17:01] uvtc: ya, but better keep quiet [17:01] std: grammar { token foo($n) { o ** $n } } [17:01] std 52fe6d2: OUTPUT«Potential difficulties:␤ Unsupported use of atom ** $n as separator; nowadays please use atom +% $n at /tmp/Z2oaNEsQAR line 1:␤------> grammar { token foo($n) { o ** $n ⏏} }␤ok 00:00 45m␤» [17:02] *** ponbiki left [17:03] std: grammar { token foo($n) { o ** {$n} } } [17:03] std 52fe6d2: OUTPUT«ok 00:00 45m␤» [17:03] that's how you're supposed to write a dynamic range [17:04] nr: grammar { token foo($n) { o ** {$n} } } [17:04] rakudo 357e60: OUTPUT«===SORRY!===␤Quantifier quantifies nothing␤at /tmp/7PJnB0CEiH:1␤------> grammar { token foo($n) { o ** ⏏{$n} } }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name … [17:04] ..niecza v24-24-gbdc3343: ( no output ) [17:04] TimToady: thanks [17:04] though NYI [17:04] will, in rakudo [17:04] *well [17:04] timotimo: can you check that this wasnt working before your latest patch? [17:04] *** Chillance joined [17:05] luckily, in my case $n ~~ 1..3, so I can unroll that manually [17:05] std: grammar { token foo(\n) { o ** {n} } } [17:06] std 52fe6d2: OUTPUT«ok 00:00 44m␤» [17:06] I'd probably write it that way to make it look like it might be a range, not an item [17:07] though I suspect the eventual implementation would handle $r containing a range there [17:08] $n, I meant [17:09] std: grammar { token foo(\n) { o ** {0, 5...100} } } [17:09] std 52fe6d2: OUTPUT«ok 00:00 46m␤» [17:10] did I mention that I love perl6's regexes and grammars? [17:11] *** SunilJoshi joined [17:12] n: say "aaaaabbbbbccccc" ~~ /\w ** {5,10...100}/ # sad it doesnt work [17:12] niecza v24-24-gbdc3343: OUTPUT«Unhandled exception: Unable to resolve method niecza_quantifier_min in type List␤ at /tmp/cyX_qvD0Vx line 1 (ANON @ 7) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2916 (Regex.ACCEPTS @ 10) ␤ at /tmp/cyX_qvD0Vx line 1 (mainline @ 3) ␤ at /home/p6eval… [17:12] n: say "aaaaabbbbbccccc" ~~ /\w ** {1..3}/ [17:12] niecza v24-24-gbdc3343: OUTPUT«「aaa」␤␤» [17:12] weird [17:13] only an Int or Range is allowed currently [17:13] .u 「 [17:13] U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) [17:14] S05:1016 [17:14] ahh, okay [17:14] FROGGS: the reasoning being that a lot of people will try to write ranges as 1,3 instead of 1..3 [17:14] *** drKreso left [17:14] and we need to be able to catch that [17:15] right, {1,3} is really perl fivy [17:15] and hard to catch for a lifetime perl 5 hacker [17:15] and one can easily do the same thing with an assertion afterwards to backtrack the ones you don't want [17:16] %% 5 }> [17:17] n: say "aaaaabbbbbccccc" ~~ /(\w) ** {1..10} / [17:17] niecza v24-24-gbdc3343: OUTPUT«「aaaaabbbbb」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「b」␤ 0 => 「b」␤ 0 => 「b」␤ 0 => 「b」␤␤» [17:17] n: say "aaaaabbbbbccccc" ~~ /(a) ** {1..10} / [17:18] niecza v24-24-gbdc3343: OUTPUT«「aaaa」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤␤» [17:18] there you go [17:18] Raspberry Pi, nqp-on-parrot running the same tests as NQPJVM earlier: [17:18] Files=57, Tests=537, 332 wallclock secs ( 2.50 usr 0.34 sys + 300.77 cusr 6.08 csys = 309.69 CPU) [17:18] so this falls into the category of difficult things that are possible :) [17:20] removing things you don't want seems to be a running theme today... [17:21] ya... ó.ò [17:24] nwc10: it feels a bit strange to almost have a perl 6 running on such a little box btw :o) [17:25] * TimToady wonders when he should start pining for the fjords...funny thing is, Glo and I have a cruise to the fjords scheduled for this summer, so I guess I'm allowed to pine for them... :) [17:25] TimToady: ooh, Norwegian ones? Or elsewhere? [17:25] .no [17:26] oh you [17:26] Nice :) [17:26] They're very pretty :) [17:26] oh, only I noticed a pun? :) [17:26] I noticed it when I typed it :) [17:27] I don't think there are any fjords in Nice though... [17:27] *** donaldh joined [17:32] * TimToady wanders off to scrub and pine, not to be confused with much of California [17:50] *** PacoAir joined [17:51] *** not_gerd left [18:00] Wrote up some notes on Perl 6 AoA, AoH, etc.: http://www.unexpected-vortices.com/perl-6/compact-tut/data-structures.html . Please let me if anything there is amiss. [18:00] *** lichtkind_ left [18:03] uvtc: my @a = [@a1], [@a2], [@a3]; and my @a = $(@a1), $(@a2), $(@a3); are not "the same" [18:04] Hm. What's the diff between them? [18:04] uvtc: The first one makes copies of the arrays, the second one does not. [18:04] uvtc: witness ... [18:04] r: my @a = ; my @b = ; my @c = [@a], [@b]; @a[0] = 'XXX'; say @c; [18:04] rakudo 357e60: OUTPUT«alpha beta gamma delta foo bar baz␤» [18:04] r: my @a = ; my @b = ; my @c = $(@a), $(@b); @a[0] = 'XXX'; say @c; [18:05] rakudo 357e60: OUTPUT«XXX beta gamma delta foo bar baz␤» [18:05] *** SamuraiJack joined [18:06] n: my @a = ; my @b = ; my @c = $(@a), $(@b); @a[0] = 'XXX'; say @c; [18:06] niecza v24-24-gbdc3343: OUTPUT«XXX beta gamma delta foo bar baz␤» [18:06] (just checking :) [18:06] thanks, PerlJam ! [18:07] *** donaldh left [18:07] *** FROGGS left [18:09] *** dakkar left [18:10] support over here [18:10] en mass [18:10] derp, wrong window [18:10] en masse [18:11] We must strike quickly! [18:11] :) [18:13] PerlJam: updated. Looks better now? [18:16] uvtc: I guess. [18:17] PerlJam: Heh, yeah, not sure why I asked that. :) Thanks for the help. [18:17] uvtc: you show the syntax for declaring anonymous arrays inline for your array-of-arrays example, why not do the same for hashes? and for the other examples? [18:18] PerlJam: Good point [18:18] PerlJam: No reason, except that I just wrote it down and hadn't thought of that yet. :) [18:18] *** FROGGS[mobile] joined [18:18] okie [18:22] Hm. How do I make write an AoH inline? My first guess doesn't work: `my @a = {:a<1>, :b<2>}, {:x<7>, :y<8>}` [18:22] *** skids left [18:23] Sorry. Works. PEBCAK [18:28] *** FROGGS joined [18:37] *** SamuraiJack left [18:40] <[Coke]> r: rx { a [ b | c ] ( d | e ) f : g } [18:40] rakudo 357e60: ( no output ) [18:40] <[Coke]> r: rx { ( ab* ) <{ $1.size % 2 == 0 }> } [18:40] rakudo 357e60: ( no output ) [18:41] *** fgomez left [18:46] *** rindolf joined [18:50] *** PacoAir left [18:51] *** PacoAir joined [18:51] *** grondilu left [18:51] *** SunilJoshi left [18:56] TimToady: the example about the Remainder will not work with the failed_match->Nil changed we did recently: http://perlcabal.org/syn/S05.html#Bracket_rationalization [18:56] so the test for it already fails in the branch I made, which returns Nil instead of a Match object [18:56] you can now submit talks to PLPW! http://act.yapc.eu/plpw2013/news/993 [18:57] \o/ [18:58] *** fgomez joined [18:59] *** skids joined [19:02] nqp: e79c768 | jnthn++ | src/QAST/Operations.nqp: [19:02] nqp: Add nqp::backtracestrings. [19:02] nqp: review: https://github.com/perl6/nqp/commit/e79c768f5f [19:03] *** zby_home_ joined [19:03] nqp-jvm-prep: 5b7a797 | jnthn++ | / (31 files): [19:03] nqp-jvm-prep: Funnel most exceptions to high-level mechanism. [19:03] nqp-jvm-prep: [19:03] nqp-jvm-prep: This is a first step towards improiving backtraces to include useful [19:03] nqp-jvm-prep: information, not internal information. [19:03] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/5b7a797dab [19:03] nqp-jvm-prep: 3e98f7f | jnthn++ | / (4 files): [19:03] nqp-jvm-prep: Show backtrace on exceptions. [19:03] nqp-jvm-prep: [19:03] nqp-jvm-prep: Just has method/sub names so far, not lines/files. [19:03] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/3e98f7f828 [19:03] jnthn++ [19:04] I always hated (and still do) the mess that you get as java backtraces [19:05] 80 lines of crap to read somewhere at the top: "Socket timeout" [19:05] jnthn: maybe try 32-bit oracle jvm1.7 on windows [19:09] *** ObseLeTe joined [19:10] *** skids left [19:11] *** Pompel joined [19:12] *** grondilu joined [19:15] nqp-jvm-prep: 917c1b0 | jnthn++ | nqp-src/QRegex.nqp: [19:15] nqp-jvm-prep: Get latest !INTERPOLATE method. [19:15] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/917c1b0e9b [19:15] nqp-jvm-prep: 8a9009c | jnthn++ | t/nqp/66-pararole.t: [19:15] nqp-jvm-prep: We pass 66-pararole.t. [19:15] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/8a9009c9d1 [19:15] we got parole! [19:16] and the pararole is? "we pass 66" [19:20] *** nyuszika7h left [19:22] *** nyuszika7h joined [19:23] *** araujo joined [19:23] *** araujo left [19:23] *** araujo joined [19:27] *** zby_home_ left [19:36] *** bluescreen10 joined [19:42] *** shinobicl left [19:54] Is a twigil the combination of the two punctuation characters, or is it just the second punctuation char? [19:55] the second one [19:56] thanks FROGGS [19:57] *** ObseLeTe left [19:57] np [19:57] *** fgomez left [19:57] *** gcole left [19:57] *** gcole joined [19:58] *** gcole__ joined [19:58] *** gcole left [20:04] ecosystem: fddf72a | (David Warring)++ | META.list: [20:04] ecosystem: Adding CSS::Grammar [20:04] ecosystem: review: https://github.com/perl6/ecosystem/commit/fddf72a319 [20:04] ecosystem: aea4edd | tadzik++ | META.list: [20:04] ecosystem: Merge pull request #20 from dwarring/patch-2 [20:04] ecosystem: [20:04] ecosystem: Adding CSS::Grammar [20:04] ecosystem: review: https://github.com/perl6/ecosystem/commit/aea4edddc4 [20:06] *** donaldh joined [20:07] Whoa...that CSS grammar looks like a pretty big piece of work! :) [20:07] * moritz gives the last few pull request submitters commit bits [20:10] *** census left [20:10] Big test suite too [20:10] (David Warring)++ [20:10] good webguys are hardcore testers [20:14] token nl {"\n"|"r\n"|"\r"|"\f"} [20:14] that's surely meant to be \r\n, right? [20:14] Needed a couple more tests, I suppose. :-/ [20:15] Most probably :) [20:15] Why does `for 1 .. 3 { say $_ }` return "True True True" after it completes? [20:16] r: for 1 .. 3 { say $_ } [20:16] rakudo 357e60: OUTPUT«1␤2␤3␤» [20:16] r: say do for 1..3 { .say } [20:16] rakudo 357e60: OUTPUT«1␤2␤3␤True True True␤» [20:16] uvtc: because say returns True [20:16] say say '' [20:16] r: say say '' [20:16] rakudo 357e60: OUTPUT«␤True␤» [20:16] oh, "why does", not "does" [20:16] But why is it returning three Trues? [20:16] uvtc: For returns a list of the returns of its iterations. [20:16] you called it three times [20:16] Because for is sygar for map [20:16] *** thou joined [20:16] *sugar [20:17] Ah. sugar for `map`. Interesting. [20:17] *** FROGGS[mobile] left [20:18] *** FROGGS[mobile] joined [20:18] * moritz hopes that his laptop doesn't overheat before testing the first for CSS::Grammar :-) [20:19] moritz: I don't understand your last comment. [20:19] moritz: well, the one before last. [20:20] moritz: though maybe it wasn't in response to mine... :) [20:21] * benabik has always liked how Scala's for is just sugar for foreach/map/filter/flatMap [20:24] *** quester joined [20:24] *** FROGGS[mobile] left [20:24] So is `map { say $_ }, 1 .. 3` equivalent to `for 1 .. 3 { say $_ }` ? They seem to do the same thing, though I'd expect that I'd use `map` when I wanted to keep the list returned, whereas I'd use `for` if building something up (for side-effects). [20:25] Does map function differently in sink context? [20:26] uvtc: The for loop won't bother collecting the return values if you're not going to use them. [20:27] What is sink context? [20:27] I've heard of a horse fly, and a fruit fly, but I've never seen a sink fly. [20:27] Wait. [20:28] uvtc: Sink context is "we don't need these results". It either doesn't generate or ignores the result. You can get it by using the `sink` modifier or by just not collecting the result. (i.e. `for () {}` vs `my @a = for () {}`) [20:28] Yes, map is sensitive to sink context too [20:29] thanks, benabik . [20:30] jnthn: Because it returns an iterator that knows what to do with .sink ? [20:30] right [20:31] * benabik wonders how many sink() calls there are in a P6 script. [20:31] (implicity, obv) [20:32] benabik: one for every statement in sink context [20:32] moritz: Does that cause much slowdown? [20:32] benabik: there haven't been any reports about major slowdowns [20:32] Hm. it's a .?sink call, no? [20:33] actually .DEFINITE && .?sink [20:33] benabik: Well, a lazy list, which can .sink [20:34] If you're profiling and seeing sink is hugely expensive, note that it's the same thing as "oh eager is expensive!" :) [20:34] Namely, that if you have an unevaluated list and it gets sunk, it's that which causes all of the work to be done to produce the list. [20:34] *** toddr_ joined [20:36] Hi, I'm helping organize YAPC::NA this year. I was wondering if any of you had Perl 6 talks you were thinking about giving [20:36] So far we've only got 1 submission from patrick. [20:36] I would if I could attend :( [20:37] but toddr_++ for asking [20:37] moritz: We're reviving send a newb to YAPC this year. have you ever been? [20:37] toddr_: I've been to YAPC::EU [20:37] toddr_: I'm expecting to make it to YAPC::NA this year [20:38] moritz: so you're a YAPC::NA Newbie! [20:38] :) [20:38] Will submit talks...deadline isn't for a couple of weeks yet, no? :) [20:38] you don't *have* to push the deadline [20:38] Yes, but I dunno what to talk about yet :P [20:38] and make toddr_ go crazy with stress and worry that he'll never get enough talks [20:39] jnthn: considering I've asked speakers to give talks on the sunday before ... "your point?" [20:39] * toddr_ wonders how many people will be pressing the submit button 14 days and 11 hours from now... [20:39] toddr_: *most* of them [20:39] :D [20:40] I haven't accepted any talks yet cause I'm sure the good ones are still to come. [20:40] Though I probably should accept RJBS's perl5.18 talk... [20:40] toddr_: I don't know what patrick wants to talk about, but so far his talks have always been excellent [20:40] "Manufacturing local wormholes using Perl 6 and some elbow grease" [20:41] uvtc: the Java port makes the elbow grease optional. [20:41] jnthn++ [20:42] Patrick's talk is: "Perl 6 on the JVM‎" [20:42] I'm looking forward to seeing Parrot and the JVM duke it out in a no-holds-barred grudge match. [20:42] perigrin: Given recent news, it's more that Java lets you use other people's elbow grease. [20:42] * benabik bets the one with more funding and developers will do very well there. [20:46] benabik: the best kind of optional ... [20:46] taking the "someone else did the work" option [20:48] perigrin: Was thinking more the "stealing other people's work" option. [20:49] *** bowtie_ left [20:50] depends on if you're good or great. [20:50] :-D [20:51] I wonder what other language impl's have experienced when porting to the JVM... (library-wise) [20:51] jnthn: selftest remains All tests successful. [20:53] nqp-jvm-prep: 3f793a9 | jnthn++ | / (3 files): [20:53] nqp-jvm-prep: Have a crack at fixing the 32-bit problem. [20:53] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/3f793a925b [20:54] gah! He moved them again [20:54] ;) [20:54] *** am0c left [20:54] nwc10: What are you doing that you're trying to catch up to jnthn? [20:55] Provided me with latest results ;) [20:57] some sort of cluster, ehh? [21:00] *** kivutar left [21:02] *** bowtie joined [21:06] prove -e 'java -cp .:bin:3rdparty/bcel/bcel-5.2.jar NQPJVM' t/nqp 273.68s user 15.02s system 145% cpu 3:18.05 total [21:06] looks good :) [21:13] *** SmokeMachine left [21:14] *** drKreso joined [21:22] jnthn: selftest remains All tests successful. Do your worst! [21:22] *** drKreso left [21:23] *** rindolf left [21:26] *** bruges_ left [21:27] jnthn: will you be talking at ::na? [21:28] jnthn: will you be going to ::na? [21:28] *** bruges joined [21:28] sorear, o/ [21:28] sorear: Provided I come (very likely) I'll speak [21:28] rakudo/nom: a72f82d | jnthn++ | src/Perl6/Grammar.pm: [21:28] rakudo/nom: Eliminate a no-longer-needed hack. [21:28] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a72f82dabc [21:28] rakudo/nom: edeeaf3 | jnthn++ | src/Perl6/Grammar.pm: [21:28] rakudo/nom: Eliminate pir:: usage in Perl6::Grammar. [21:28] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/edeeaf3199 [21:28] rakudo/nom: 6ce3130 | jnthn++ | src/Perl6/Actions.pm: [21:28] rakudo/nom: Eliminate pir:: in Perl6::Actions. [21:28] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ce3130a0d [21:28] rakudo/nom: 680d86a | jnthn++ | src/Perl6/ (2 files): [21:28] rakudo/nom: Turn some QAST::VM into QAST::Op. [21:28] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/680d86acab [21:28] jnthn: did you see toddr_ asking earlier? [21:28] o/ colomon [21:29] I've got the time for it marked out in my schedule already, it's "just" flight, hotel, etc. [21:29] sorear: Yes, I said I'd submit :) [21:29] \o/ [21:29] * colomon has no idea if he will be able to afford the trip this year. [21:34] bother. he just did :-) [21:37] FYI, we've allocated rooms for a hackathon 2 days before and after the conference. Thanks to Bruce Gray for being the squeaky wheel! [21:38] *** thou left [21:39] *** thou joined [21:43] toddr_: "rooms"? [21:43] *** census joined [21:43] jnthn: that fixed make test [21:43] PerlJam: Well technically 1 room on each day. Probably the same room. [21:44] that's Util? [21:44] yes [21:44] oh hey he's in the channel isn't he? [21:44] yes [21:45] i'm probably going to come but not speak [21:45] *** slavik1 left [21:47] TimToady: do you have any perl 6 talk proposals you haven't submitted to toddr_ yet? [21:47] *** drKreso joined [21:48] And by toddr_, that would actually be http://www.yapcna.org/yn2013/newtalk [21:48] diakopter: And...anything else? :) [21:51] also make nqptest All tests successful. [21:51] *** thou left [21:51] make selftest says Error: Could not find or load main class NQPJVM [21:51] o wait [21:51] sec [21:52] there, that's better.. seems to be working [21:53] i suspect texas in june may be above masak's autoignition temperature [21:53] there will be air conditioning, right? [21:53] *** census left [21:54] Austin isn't that bad. Not like Houston or anywhere along the coast there the humidity is high [21:55] "It's a dry heat" [21:55] "Yeah, but it's still hot" [21:55] jnthn: make selftest all passed [21:55] *** japhb_ joined [21:59] diakopter: On the machine where it was formally ./ing like mad? [21:59] *previously [21:59] benabik: it's not about how hot it *is*, but how hot you *feel* :) [21:59] jnthn: yes [22:00] diakopter: yay [22:00] setting up p6eval now for it now.. [22:00] * jnthn doesn't really do hot weather :) [22:00] But if it's air con'd indoors, I'll cope fine :) [22:00] ditto [22:00] Hi [22:01] temps last year in Austin for early June were 70-90 degrees F each day. [22:02] 7,090 degrees F each day [22:02] I have issues with MiniDBI (OSX) - "dyld: lazy symbol binding failed: Symbol not found: _dlLoadLibrary" [22:03] r: sub proper-temps(@t) { for @t { say ($_ - 32) / 2; } }; proper-temps(70, 90) [22:03] rakudo 357e60: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'proper-temps' will never work with argument types (Int, Int) (lines 1, 1)␤ Expected: :(@t)␤» [22:03] r: sub proper-temps(*@t) { for @t { say ($_ - 32) / 2; } }; proper-temps(70, 90) [22:03] rakudo 357e60: OUTPUT«19␤29␤» [22:03] *** kaare__ left [22:03] Ah, that's not awful... [22:05] or maybe that's 70-90 degrees F *per day*, as in a rate of temperature climb [22:05] r: sub correct-temps(*@t) { for @t { say ($_ - 32) / (9/5); } }; correct-temps(70, 90) [22:05] rakudo 357e60: OUTPUT«21.111111␤32.222222␤» [22:05] sorear: it doesn't get *that* hot :) [22:06] If you can't smelt iron on the sidewalks, it's not Texas [22:07] quester: Dang, that made it worse [22:08] Well, yes, but only slightly... [22:08] will have to see what the temps are like where I live come june [22:10] sorear: yeah I'm hoping for cool. We've got an outdoor dinner planned for the banquet [22:16] *** snearch joined [22:16] *** snearch left [22:21] *** toddr_ left [22:33] nqp-jvm-prep: 0ed8248 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque (2 files): [22:33] nqp-jvm-prep: Avoid some unrequired backing type generation. [22:33] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/0ed8248789 [22:33] nqp-jvm-prep: a463f0f | jnthn++ | / (5 files): [22:33] nqp-jvm-prep: Start associating MethodHandles with CodeRefs. [22:33] nqp-jvm-prep: [22:33] nqp-jvm-prep: MethodHandles are one of the things at the center of invokedynamic, so [22:33] nqp-jvm-prep: this is the first tiny step towards being able to use that. [22:33] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/a463f0f14b [22:38] *** census joined [22:46] nqp-jvm-prep: a9de50b | jnthn++ | / (2 files): [22:46] nqp-jvm-prep: Curry the compilation unit invocant. [22:46] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/a9de50b840 [22:46] nqp-jvm-prep: 1572868 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: [22:46] nqp-jvm-prep: Start using the method handle for invocation. [22:46] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/1572868cc3 [22:46] nqp-jvm-prep: 03318f3 | jnthn++ | / (6 files): [22:46] nqp-jvm-prep: Eliminate now-unused dispatch switch table. [22:46] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/03318f3d24 [22:46] *** am0c joined [22:46] *** _jaldhar joined [22:49] *** saeidw joined [22:53] *** bluescreen100 joined [22:53] *** uvtc left [22:54] *** mtk left [22:57] *** bluescreen10 left [22:57] *** mtk joined [22:57] *** census left [22:58] jnthn, The comment on line 2391 of lib/QAST/JASTCompiler.nqp starts with 'Also, ' ... left over from previous version of comment [23:01] Thanks, fixed. [23:01] np [23:02] ...but the commit message vanished here. :( [23:03] *** bluescreen100 left [23:09] *** slavik1 joined [23:14] dyncall not binding correctly - sh configure -target-x64 does not help (option does not exist). git 64bit OSX [23:14] *** benabik left [23:14] drKreso: What erorr are you getting? [23:15] jnthn: azy symbol binding failed: Symbol not found: _dlLoadLibrary similar to https://github.com/jnthn/zavolaj/issues/16 [23:17] It looks like a - too few [23:18] Try --target-x64 [23:20] jnthn: so in nqp/3rdparty/dyncall sh configure --target-x64 … and then what do i need to "make"? [23:22] jnthn: Now it says "guess operating system darwin" which I guess is OK. But what do I need to rebuild. Make only in this folder gives same result [23:23] drKreso: Need to then rebuild the nativecall dynops lib [23:23] If you do make clean in nqp directory first [23:23] Then do make in dyncall, then go back to NQP directory and do make there, it should do all that is needed. [23:24] make clean [23:24] make: *** No rule to make target `clean'. Stop. [23:24] In the NQP directory? [23:24] hm, do you think it would be useful to have a script build rakudo periodically and graph its performances over time or something? [23:24] Or in the dyncall one? [23:24] do we have anything like that currently? [23:24] in nqp [23:24] drKreso: Oh...do you have no Makefile there? [23:24] apparently no [23:25] i used that git clean i think [23:25] ah [23:25] But if you want to try and do this as a patch rather than as a hack... [23:25] See Configure.pl [23:25] Around line 119 [23:25] It looks at what we're building on [23:26] Could add a branch for OSX [23:26] If this is applicable to all OSX... [23:26] * jnthn doesn't know much about the platform, sorry [23:26] *** kborer left [23:27] That's where we decide what flags to give dyncall's configure, anyway [23:27] *** saeidw left [23:27] drKreso: is this the same issue ? https://github.com/jnthn/zavolaj/issues/16 [23:28] * donaldh has been meaning to provide a patch for that [23:29] donaldh: Yes, same issue [23:29] jnthn: so how line 119 needs to look for me? [23:32] drKreso: Well, I think you maybe want to add an elsif, before the else around line 127. I don't know what $^O looks like, but I guess you can perl -E 'say $^O' to find out :) [23:34] donaldh: Do you know if it's specific to 64-bit, or if it's an OSX issue in general? [23:34] *** PacoAir left [23:34] jnthn: not sure. I suspect it's an OSX issue. Tries to be too clever with arch [23:36] *** PacoAir joined [23:37] donaldh: I found this is previous irc sessions : I _think_ it's because dyncall is trying to auto-detect the architecture and OS X lies., `uname -p` says i386, but `uname -m` says x86_64 Not sure if it matters? [23:38] sure does [23:38] $^O returns 'darwin' [23:38] *** spider-mario left [23:39] *** xenoterracide joined [23:41] wow, parrot::arch name is set to darwin-thread-multi-2level [23:42] uname output isn't actually standardized. I think freebsd does the same interpretation of it [23:42] donaldh, that's taken from perl5, I believe [23:43] donaldh: So for mine dirty purpose of making it work, can I change line 128 to system_or_die('cd 3rdparty/dyncall && sh configure --target-x64'); and hope for the best? [23:44] *** ikrs joined [23:44] *** ikrs left [23:44] drKreso: just checking [23:44] *** ikrs joined [23:45] drKreso: yes, that seems to work [23:46] *** spider-mario joined [23:49] rakudo/nom: 2303d19 | jnthn++ | src/Perl6/World.pm: [23:49] rakudo/nom: Some pir:: => nqp:: in Perl6::World. [23:49] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2303d1944c [23:49] rakudo/nom: 6f5cfc1 | jnthn++ | src/Perl6/World.pm: [23:49] rakudo/nom: Eliminate some property usages. [23:49] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6f5cfc14eb [23:49] rakudo/nom: 40069f9 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: [23:49] rakudo/nom: Some pir:: => nqp:: in BOOTSTRAP. [23:49] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/40069f9ae8 [23:50] nqp-jvm-prep: 22ac999 | jnthn++ | src/org/perl6/nqp/runtime/ (2 files): [23:50] nqp-jvm-prep: Move much from invoke into CallFrame constructor. [23:50] nqp-jvm-prep: [23:50] nqp-jvm-prep: No functional changes here, just a refactor. [23:50] nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/22ac999d56 [23:51] donaldh: I am still getting (afer configure, make, make install, deleting site, bootstrapping panda and panda install MiniDBI) - Symbol not found: _dlLoadLibrary [23:51] Referenced from: /Users/kbojcic/dev/nuke/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.bundle [23:52] Time for some sleep; 'night, #perl6 [23:52] wait