Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-12-11

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:19 jimmy1980 joined #perl6
00:32 geekosaur joined #perl6
00:47 jimmy1980 joined #perl6
00:55 hundskatt joined #perl6
01:07 jimmy1980 joined #perl6
01:08 thou joined #perl6
01:09 l joined #perl6
01:30 jimmy1980 joined #perl6
01:52 Radvendii joined #perl6
01:56 s1n left #perl6
01:59 jimmy1980 joined #perl6
02:04 tokuhirom joined #perl6
02:19 JimmyZ joined #perl6
02:20 jimmy1980 joined #perl6
02:22 JimmyZ niecza: if False, False -> *@a { say @a.perl }
02:22 p6eval niecza v12-11-g20a790d: OUTPUT«(Bool::False, Bool::False)␤»
02:24 orafu joined #perl6
02:43 JimmyZ joined #perl6
02:45 JimmyZ nom: trait_mod:<is>($r, :$rw!) { $r.set_rw(); } #bug ?
02:45 p6eval nom 70d715: OUTPUT«===SORRY!===␤Variable $r is not predeclared at line 1, near ", :$rw!) {"␤»
02:46 sorear JimmyZ: you need "sub " before trait_mod
02:46 sorear std: trait_mod:<is>($r, :$rw!) { $r.set_rw(); }
02:46 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable $r is not predeclared at /tmp/yQZhcRRUxJ line 1:�------> [32mtrait_mod:<is>([33m�[31m$r, :$rw!) { $r.set_rw(); }[0m�Variable $rw is not predeclared at /tmp/yQZhcRRUxJ line 1:�------> [32mtrait_mod:<is>($r, :[33m�[31m$rw!…
02:46 JimmyZ LTA error?
02:46 sorear I'm not sure it can be improved much
02:47 sorear buubot_backup: eval: sub foo { }
02:47 buubot_backup sorear: No output.
02:47 sorear buubot_backup: eval: foo { }
02:47 buubot_backup sorear: ERROR: Can't call method "foo" on an undefined value at (eval 20) line 1.
02:47 sorear not much better
02:47 JimmyZ pugs: foo { }
02:47 p6eval pugs b927740: OUTPUT«*** ␤    Unexpected end of input␤    Closing hash curly may not terminate a line;␤    please add a comma or a semicolon to disambiguate␤    at /tmp/mpDzjbLrPP line 2, column 1␤»
02:49 JimmyZ nom: sub trait_mod:<is>(my $r, :$rw!) {  $r.set_rw(); }
02:49 p6eval nom 70d715: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 1, near " $r, :$rw!"␤»
02:50 JimmyZ nom: sub trait_mod:<is>($r, :$rw!) { my $r; $r.set_rw(); }
02:50 p6eval nom 70d715: OUTPUT«===SORRY!===␤Redeclaration of symbol $r at line 1, near "; $r.set_r"␤»
02:50 sorear JimmyZ: What are you trying to do?
02:53 JimmyZ sorear: looking at rt :)
02:58 preflex_ joined #perl6
03:00 JimmyZ anyone here can remove Tag testneeded from rt99362 ?
03:31 donri left #perl6
03:44 jeffreykegler joined #perl6
03:46 tokuhirom joined #perl6
03:47 jeffreykegler left #perl6
03:49 tadzik good morning
03:49 phenny tadzik: 10 Dec 19:40Z <jnthn> tell tadzik hmm, there's quite a few not-so-Windows-friendly bits, it seems. It claims to work, but there's no .perl6 directory created! Will see if I can figure it all out, anyways...
03:52 colomon joined #perl6
03:52 sorear hello tadzik, colomon
03:52 colomon o/
03:58 jimmy1980 joined #perl6
04:11 jimmy1980 joined #perl6
04:24 Siddy joined #perl6
04:32 jimmy1980 joined #perl6
04:33 japhb *yawn*
05:14 sorear hello japhb
05:19 japhb Good evening, sorear.
05:19 * japhb is wandering through the code generated during the Rakudo build
05:20 jimmy1980 joined #perl6
05:20 japhb If this code reflects real VM constraints, then there seem to be some design decisions there that are ... performance-hostile.
05:27 japhb sorear, when niecza starts up, how does it reify the setting?  What form is the setting stored in?
05:28 * diakopter learns about wildcard type parameters in Java generics
05:32 japhb sorear, also, how large is the compiled form of the setting?
05:46 sorear currently, I'm looking at 73K for CORE.setting, 278K for Run.CORE.dll, and 258K for Run.CORE.ser
05:46 sorear Run.CORE.dll is a CLR image file which contains byte-code for the setting code blocks
05:46 japhb And .ser is the serialized world state?
05:47 sorear .ser contains serialized metadata (including, among other things, a lot of line number tables and a copy of the source)
05:47 japhb ah
05:47 sorear it's worth noting that these values vary wildly from one version to the next
05:48 sorear What's rakudo like these days?
05:49 sorear Parrot has a very questionable "optimization" where "byte"codes are padded to full pointer size (4/8 bytes) for "fast aligned reads"
05:50 japhb CORE.setting is 257K, CORE.setting.pir is 10.4 MB, CORE.setting.pbc is 5.2 MB
05:50 japhb Yeah, I don't buy that.
05:53 * japhb is wondering if a Perl 6 implementation's code and starting state (setting, etc.) can be made to fit entirely in L3 cache of a modern consumer CPU.
05:58 japhb ISTR Intel favors 1MB/core for consumer grade CPUs, so 4 MB or so these days
06:11 sorear japhb: depends how big you make the setting ;)
06:11 sorear japhb: for niecza/c I have pipe dreams of loading the setting using demand paging
06:12 japhb sorear, sure.  I meant the size for a setting and core that are fully compliant with the entirety of the spec.
06:12 sorear japhb: the spec is HUGE and includes stuff most one-off scripts won't need
06:13 japhb I'd be surprised if in normal usage a demand-paged setting could shrink the amount paged in at startup more than 2-4x without going into contortions.  But that's just a hunch, not backed up by evidence.
06:13 sorear japhb: in particular, if you make me load and decompress the entire UCD at startup, that's quite a bit of the 4MB right there
06:13 japhb Well, I'll grant you that.
06:14 japhb How big is the UCD, anyway?
06:16 sorear 50-odd properties x 1.1 million characters; contortions are inevitable
06:16 japhb >.<
06:16 sorear my current estimates for the working set for niecza's Unicode.cs is about 500kb-1MB
06:16 sorear more if you use \c[CHARACTER NAME HERE]
06:18 japhb That's impressive.
06:18 sorear japhb: what specifically are you talking about re. 21:20 < japhb> If this code reflects real VM constraints, then there seem to be  some design decisions there that are ... performance-hostile.
06:19 sorear japhb: in which direction?
06:19 sorear japhb: the data is kept in RLE form in memory, since a lot of blocks of characters share a lot of properties
06:19 japhb For example, 72% of CORE.setting.pir appears to be startup code (code that must run at startup to recreate the data structures of the setting)
06:20 japhb smart, that
06:20 japhb (the RLE encoding in memory)
06:20 sorear japhb: jnthn is working on adding .ser files or something equivalent to Rakudo
06:21 sorear not copying Niecza - we've both had it on TODO for ages and I just found a round tuit earlier
06:21 japhb Another example is that perl6.ops grows nearly 8x in size when converted to C -- and expands slightly again to 236K, when converted to .so form.
06:22 japhb Because Parrot insists on treating constant and non-constant args as separate copies of the op, and you get a combinatorial explosion on multiple args.
06:23 japhb In any case, it's beginning to feel like a miracle things run as well as they do
06:24 sorear japhb: you are beginning to understand how I felt ca. June 2010
06:24 japhb Is that when you decided to create Niecza?
06:25 sorear yes
06:25 japhb Nodnod
06:25 japhb The Forthwright in me is going apoplectic.
06:27 * sorear has written more Forths than nontrivial programs _in_ Forth
06:27 japhb LOL
06:27 japhb I resemble that remark
06:27 japhb Though I can only claim to have written two Forths, the statement is still true.  ;-)
06:29 sorear also, TimToady has given me a pass on Unihan properties
06:30 japhb This may be an odd question, but why?
06:30 sorear good question
06:30 sorear they aren't terribly useful for regexes, and they would substantially increase the size of niecza .zips
06:32 japhb Fair enough.  Something that can be loaded later if the user opts in?
06:32 Radvendii why does * represent so much in perl6? it represents multipication looks like exponents (**), infinity, and the "whatever" operator. it makes something like 0,0,* ** * ... * very confusing... :P
06:32 sorear yes
06:32 japhb good
06:33 japhb Radvendii, the splat symbol is heavily overloaded in many technical contexts.  Many of them leaked into Perl's design.
06:34 Radvendii it's annoying. they should utilize unicode, make • either multiplication or the whatever operator
06:34 Radvendii or use some greek letters or something :P
06:35 japhb Oddly, after a while, one's brain has little difficulty contextualizing each different usage.  Or maybe not so oddly.  TimToady++ has done well by trusting in the vast capacity of the human brain to contextualize.
06:35 sorear meanwhile, other factions in the Perl 6 community like to wax polemical about the VILE DANGER of Unicode operators
06:35 japhb You are of course free to define your own Unicode operator set, and 'use' it at the top of your programs.  All is fair if you predeclare.
06:36 Radvendii yeah, but isn't part of perl's motto that different operations look different, so it's easy to scan code?
06:36 sorear <3 japhb # "splat symbol"
06:36 japhb sorear, :-)
06:37 japhb 'asterisk' just seems so dry.
06:37 Radvendii but i have yet to find a way to redifine operators like the "whatever" or, do something like redifine both multiplication to some other symbol, and exponents to *...
06:37 * Radvendii likes "splat" as well
06:37 japhb On the flip side, I've got to say I love 'octothorpe' for #
06:38 japhb Radvendii, I thought someone managed that in the last day or so (the redef of multiplication and exponentiation that you wanted)
06:39 Radvendii did they?
06:39 sorear japhb: hmm, is that one 'grid'?
06:39 sorear oh, 'mesh'
06:39 Radvendii how..?
06:39 sorear yes, it's quite easy :p
06:40 sorear lexicality!
06:40 japhb I've heard hash, sharp, pound, octothorpe, and another that I can't remember at the moment
06:40 sorear japhb: I actually thought you were making a reference to the INTERCAL Character Set Tonsil
06:40 japhb LOL
06:41 japhb .oO( How did INTERCAL get into this discussion?!? )
06:41 japhb :-)
06:41 Radvendii hahaha INTERCAL always gets into the discussion :P
06:41 sorear japhb: you said "splat"
06:42 * japhb shrugs with a devilish smile
06:42 japhb ANYWAY
06:43 japhb Ahhh ... Pandora manages to hit a decent streak
06:43 Radvendii what do you mean lexicality?
06:43 Radvendii how do i "rename" * as •?
06:43 Radvendii (the whatever operator, that is)
06:43 kaare_ joined #perl6
06:44 sorear Radvendii: there is no whatever operator
06:44 Radvendii the whatever thingy
06:44 Radvendii whatever it's called
06:44 Radvendii i know it's not an operator
06:44 sorear Radvendii: I think you are confusing term:<*> with infix:<*>
06:44 japhb *facepalm*
06:44 sorear and of course infix:<**> is not related to either
06:45 sorear they are three separate names and must be overriden separately
06:45 Radvendii i know.
06:45 Radvendii i
06:45 Radvendii i'm saying how do i do that?
06:45 sorear how do you do _what_?
06:45 sorear you haven't made it clear
06:46 japhb sorear, he's asking for an example ... and it sounds like he wants to replace the symbol used by term:<*>
06:46 sorear I think what you are saying you want to do is install a source filter that s/•/*/ on all source liens
06:46 Radvendii no.
06:46 Radvendii i just want to replace term:<*> with •
06:46 Radvendii not multiplication or exponents
06:47 sorear ah.
06:47 sorear that can be half-done today
06:47 Radvendii which half :P (what do you mean)
06:47 sorear niecza: sub term:<•>() { * }; say •
06:47 p6eval niecza v12-11-g20a790d: OUTPUT«Whatever.new(...)␤»
06:47 sorear niecza: sub term:<•>() { * }; say 1..•
06:47 p6eval niecza v12-11-g20a790d: OUTPUT«1..Infinity␤»
06:47 sorear that half
06:47 sorear the half that doesn't work is currying
06:48 Radvendii ah.
06:48 sorear niecza: sub term:<•>() { * }; say (1+•)
06:48 p6eval niecza v12-11-g20a790d: OUTPUT«Unhandled exception: Cannot use value like Whatever as a number␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 191 (Any.Numeric @ 4) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/QrLHlxnMoc line 1 (mainline @ …
06:48 sorear Whatever-currying is syntactic, and doesn't look into subs
06:48 sorear to make that work, you'll need a _very_ simple macro
06:48 sorear it's possible that masak's work is already far enough along to enable this
06:49 Radvendii i dont mind the * being currying, as long as i can replace all of the others
06:50 Radvendii so to make multiplication be • i would do sub infix:<•> {*}?
06:50 japhb Radvendii, of course * ** * depends on currying ...
06:50 Radvendii but then how would i make * be exponents?
06:50 Radvendii oh wait... never mind
06:51 Radvendii im confusing myself
06:51 japhb yes
06:51 japhb :-)
06:51 Radvendii would sub infix:<•> {*} work though?
06:51 sorear Radvendii: no, you would do sub infix:<•>($x,$y) is equiv<*> { $x * $y }
06:51 sorear This isn't J :-)
06:52 * japhb flicks at the devil on his left shoulder that was about to suggest something ....
06:53 sorear You can also do BEGIN my &infix:<•> := &infix:<*>; but it's unclear how to make operator precedence come out correctly like that.
06:53 Radvendii wouldn't it by default?
06:54 Radvendii b: BEGIN my &infix:<•> := &infix:<*>; say 2•2+2;
06:54 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Could not find sub &infix:<•>␤»
06:54 Radvendii huh?
06:54 Radvendii b: BEGIN our &infix:<•> := &infix:<*>; say 2•2+2;
06:54 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Could not find sub &infix:<•>␤»
06:55 sorear niecza: BEGIN my &infix:<•> := &infix:<*>; say 2•2+2;
06:55 p6eval niecza v12-11-g20a790d: OUTPUT«6␤»
06:55 sorear niecza: BEGIN my &infix:<•> := &infix:<*>; say 2+2•2;
06:55 p6eval niecza v12-11-g20a790d: OUTPUT«8␤»
06:55 sorear nom: BEGIN my &infix:<•> := &infix:<*>; say 2+2•2;
06:55 p6eval nom 70d715: OUTPUT«===SORRY!===␤Confused at line 1, near "say 2+2\u20222;"␤»
06:56 Radvendii what's niecza?
06:57 japhb Radvendii, the other major current Perl 6 implementation
06:57 japhb (and sorear is the head honcho of it)
06:57 Radvendii ooh. so rakudo doesn't impliment this?
06:58 japhb not yet
06:58 Radvendii but what's the deal with the precidence?
06:58 molaf joined #perl6
06:59 japhb Radvendii, I'm assuming that mere binding of the code object is not enough to update the operator precedence parser's tables properly
06:59 Radvendii ah. is this the intended result? or will it be changed?
07:00 japhb sorear might know -- he's way more familiar with the workings of STD than I am.
07:02 sorear the code object has the wrong lifetime
07:03 sorear when you say my &infix:<•> := &infix:<*>, you're totally free to do &infix:<•> := &infix:<+> at runtime
07:03 sorear as such, there is no permanent association between the symbol table slot and the value
07:04 sorear "is equiv<*>" sets up just such an association
07:06 Radvendii is there a way to add taht syntax to &infix:<•> := &infix:<*>?
07:17 jimmy1980 joined #perl6
07:37 zby_home joined #perl6
07:51 alim joined #perl6
08:57 sayu joined #perl6
09:10 jimmy1980 joined #perl6
09:49 * jnthn yawns
09:56 hanekomu joined #perl6
10:13 hanekomu joined #perl6
10:32 jimmy1980 joined #perl6
10:52 skangas joined #perl6
11:04 mj41 joined #perl6
11:17 sftp joined #perl6
11:21 lumi___ Is there some way to add file annotations to the setting, so stack traces would have the right file/line?
11:23 fridim_ joined #perl6
11:24 lumi___ I tried adding Q:PIR { .annotate 'file', '$file' } using gen_cat.pl, but that makes it explode because it doesn't have a compile-time Str
11:27 jnthn lumi___: "in method reify at src\gen\CORE.setting:4301" - is accurate, tells you which file to look at (the concatenated setting one) and as far as I know the line numbers in that are accurate.
11:35 yarp joined #perl6
11:36 moritz jnthn: but the file name in 'use'd .pm files is wrong
11:36 moritz it always tells the name of the script file
11:36 jnthn moritz: Yeah, there is an issue there. Any idea what it is?
11:37 jnthn I think it doesn't happen in the pre-compiled case...
11:40 jnthn moritz: I think a my $?FILE = ... arond line 129 of src/Perl6/ModuleLoader.pm may help
11:40 jnthn er, := since it's NQP
11:42 am0c joined #perl6
11:44 whiteknight joined #perl6
11:44 moritz jnthn: I'll try later
12:05 JimmyZ joined #perl6
12:05 JimmyZ Could anyone remove Tag testneeded from rt99362 ?
12:07 moritz why? where is the test for it?
12:08 JimmyZ bad, rosettacode is blocked
12:09 jnthn moritz: It seems that one ticket was used to file multiple bugs.
12:09 jnthn This should not really be done.
12:10 jnthn So one of them is indeed testneeded, the other one is unrelated and really should be a separate ticket.
12:14 MayDaniel joined #perl6
12:15 moritz jnthn: my $?FILE := ... didn't help :(
12:16 moritz erm, needs to be $?FILES maybe
12:16 jnthn moritz: Whatever Actions.pm looks for :)
12:17 jnthn my $file := pir::find_caller_lex__ps('$?FILES');
12:17 JimmyZ nom: say <2/6>.perl # bug ?
12:17 p6eval nom 70d715: OUTPUT«"2/6"␤»
12:19 JimmyZ nom: say 3.14159_26535_89793 # it's  a bug too
12:19 p6eval nom 70d715: OUTPUT«3.14159265358979␤»
12:19 lumi___ jnthn: Sorry I had to go away. It's accurate, but it's suboptimally informative. I don't know which method reify it is
12:21 moritz lumi___: yes, it's not good
12:21 moritz lumi___: FYI it ususally comes from a 'for'-loop, or from a .map()
12:24 lumi___ moritz: So do you think my idea is worthwhile, adding the original source as an annotation?
12:25 dalek rakudo/nom: d2a0960 | moritz++ | src/Perl6/ModuleLoader.pm:
12:25 dalek rakudo/nom: fix file name annotations in "use"d modules
12:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d2a09607bf
12:25 lumi___ moritz: Also, do you know how to make it not blow up?
12:25 moritz jnthn++ for that commit
12:25 moritz lumi___: erm, I don't see how that works (and helps)
12:26 moritz lumi___: the backtrace goes through the call chain, not through the text around the error
12:27 moritz and a for-loop is compiled to something like    sink list(<list here>).map($block)
12:27 lumi___ So you'd have 'in method reify at src/core/GatherIter.pm:23' or so
12:28 moritz lumi___: hm, that would be nice-ish, but I don't know if it's worth the trouble
12:29 moritz nom: Q:PIR {␤.annotate "file", "foo"␤}; die "bar"
12:29 p6eval nom 70d715: OUTPUT«bar␤  in block <anon> at foo:3␤  in <anon> at /tmp/zruEQfmPs8:1␤»
12:29 moritz lumi___: that worked, set the file name to "foo" in that scope
12:29 Moukeddar joined #perl6
12:30 moritz lumi___: but I guess you really need to change to codegen to not re-emit the original file name every other scope
12:30 jnthn I really don't think it's worth the hassle
12:31 jnthn Is it really so hard to open src/gen/CORE.setting and look up the line in question, if you can't guess?
12:32 jnthn It's going to be really tricky to get the line numbers to do the right thing.
12:40 cognominal I am getting caught in an infinit recursion when doing a   say ~$/
12:40 * JimmyZ can't build rakudo on his virtualbox, due to not enough memory
12:40 cognominal Will give the stacktrace with the latest nom branch
12:49 cognominal too bad the stack trace is not printed anymore :(
12:50 jimmy1980 joined #perl6
13:05 moritz it is not?
13:05 agentzh joined #perl6
13:05 * moritz surprised
13:14 araujo joined #perl6
13:23 mikemol bleh
13:23 mikemol He loggd off just a few minutes ago. I wanted to ask what he meant by RC being blocked.
13:24 mikemol Seems odd someone would go to the trouble of blocking it. Even moreso that some proxy filter company might.
13:25 JimmyZ joined #perl6
13:25 mikemol JimmyZ: What do you mean by rosettacode being blocked? What network?
13:25 JimmyZ mikemol: The Great Firewall
13:25 mikemol Again?
13:25 mikemol oi
13:25 jimmy1980 joined #perl6
13:27 JimmyZ again?
13:28 mikemol It's happened before, but been lifted.
13:28 JimmyZ don't know, wordpress is again
13:34 donri joined #perl6
13:46 tadzik jnthn: does this mini-wget (https://gist.github.com/1460691) work for you on windows?
13:54 cognominal Weird, when executing outside the source tree I get the stack trace again. Filed a bug
13:56 cognominal maybe the recursion limit is not big enough?
13:58 cognominal how do I augment the limit?
14:04 moritz nom: nqp::getinterp__P().recursion_limit(10);
14:04 p6eval nom d2a096: OUTPUT«===SORRY!===␤Unrecognized nqp:: opcode 'nqp::getinterp__P' at line 1, near ".recursion"␤»
14:04 moritz nom: pir::getinterp__P().recursion_limit(10);
14:04 p6eval nom d2a096:  ( no output )
14:05 moritz nom: pir::getinterp__P().recursion_limit(10); sub f($x) { $x < 1 ?? 0 !! $x + 1 }; say f(20)
14:05 p6eval nom d2a096: OUTPUT«(signal SEGV)»
14:05 moritz nom:  sub f($x) { $x < 1 ?? 0 !! $x + 1 }; say f(20)
14:05 p6eval nom d2a096: OUTPUT«21␤»
14:07 drbean joined #perl6
14:07 cognominal this is indeed the recursion limit.
14:09 MayDaniel joined #perl6
14:12 jimmy1980 joined #perl6
14:13 sayu joined #perl6
14:42 Radvendii joined #perl6
14:44 jnthn tadzik: yes! :)
14:46 tadzik :)
14:46 tadzik okay, we can ship it as a mini-wget then
14:53 jnthn tadzik: OK. Next problem was that I fixed it up so that it did create a .panda in my home directory and put source files there. But it never created a .perl6 one...it claimed it was fully successful though.
14:54 Chillance joined #perl6
15:02 JimmyZ joined #perl6
15:16 JimmyZ looks like nqp can't build on windows with strawberry perl
15:26 tadzik jnthn: hmm
15:26 tadzik I may know what's going on
15:27 jnthn JimmyZ: With which compiler?
15:27 jnthn JimmyZ: And how does it fail?
15:27 tadzik jnthn: could you try https://gist.github.com/1461126 please?
15:27 JimmyZ strawberry perl with mingw32
15:28 tadzik dunno why it's not an issue on unixes
15:28 JimmyZ jnthn:  something cmd does not support 'sh' and 'BUILD_DIR=.'
15:29 JimmyZ cd 3rdparty\dyncall && BUILD_DIR=. make
15:31 JimmyZ it said BUILD_DIR is not a command
15:31 Psyche^ joined #perl6
15:32 jnthn tadzik: It makes the .perl6 directory now but it ends up empty
15:33 jnthn tadzik: Even though I get a stream of output ending with "==> Succesfully installed panda"
15:33 tadzik pff
15:33 tadzik liar
15:33 tadzik :/
15:34 jnthn tadzik: Yeah. I'd expect it to tell me where it fails...
15:34 tadzik somehow it skips installing, and claims it's ok
15:34 jnthn tadzik: I glanced over the code and it seems you do try to detect a bunch of failures...
15:34 tadzik jnthn: do tests for Panda::Installer pass?
15:35 tadzik I suppose so, just asking
15:36 jnthn ah!
15:36 jnthn loads of test fails
15:36 * jnthn shoulda run those before
15:37 tadzik huh, so how did it even install it?
15:37 tadzik "==> Succesfully installed panda", did it omit tests or what?
15:37 jnthn https://gist.github.com/1461161
15:38 tadzik oh crap
15:38 tadzik 'rm' is not recognized as an internal or external command, for one
15:39 tadzik it also seems that IO.copy does nothing, or so
15:39 tadzik could you try in the REPL? like, "README".IO.copy('readme2'); die unless slurp "README" eq slurp "readme2"
15:40 jnthn > "README".IO.copy('readme2');
15:40 jnthn Bool::True
15:40 jnthn > die unless slurp "README" eq slurp "readme2"
15:40 jnthn Unable to open filehandle from path 'readme2'
15:40 jnthn o.
15:40 jnthn O
15:40 tadzik there we go
15:41 tadzik we have no spectests for that, for it's not spec
15:42 * [Coke] goes to fix the niecza spec tests that sorear pointed out... and make spectest is already no longer green.
15:42 Radvendii does anyone know what niecza is named after?
15:43 tadzik yes
15:43 tadzik I think it comes from Polish "nie czas", which is, hmm, somewhat like "not a right time for that"
15:43 Radvendii haha. that's an odd name for a compiler...
15:44 [Coke] octothorpe--
15:45 jnthn octocat++
15:45 tadzik \/\/O\/\/ -- octopus!
15:45 Radvendii what is this ++ -- business?
15:45 tadzik it's karma
15:45 Radvendii are we incrimenting people?
15:45 Radvendii what's karma?
15:45 tadzik like saying "I agree with him", or "kudos to you"
15:46 Radvendii oh
15:46 tadzik if you get 200 000 of those, whiteknight buys you a donut
15:46 tadzik or I heard so
15:46 Radvendii got it. that's clever.
15:46 Radvendii they are recorded?
15:46 tadzik aye
15:46 tadzik karma tadzik
15:46 aloha tadzik has karma of 846.
15:46 tadzik wow, that's a lot of karma
15:46 tadzik karma Radvendii
15:46 aloha Radvendii has karma of 1.
15:46 [Coke] karma Coke
15:46 aloha Coke has karma of 574.
15:46 [Coke] karma [Coke]
15:46 aloha [Coke] has karma of 0.
15:46 Radvendii hahaha
15:46 tadzik Radvendii++ # for the new road of life ;)
15:46 * [Coke] suspects a reset, somewhere. ah well.
15:47 sjn [Coke]: or, that most of those karma points come from git commits? :)
15:47 Radvendii karma sorear
15:47 aloha sorear has karma of 2040.
15:48 sjn [Coke]++ # For spreading out his karma points among several nicks
15:48 Radvendii woah. :P
15:48 tadzik jnthn: could you investigate at which level the .copy mechanism fails?
15:48 tadzik nom does pir::new__PS('File').copy(nqp::unbox_s(~$.path), nqp::unbox_s(~$dest));
15:50 [Coke] seen purl?
15:50 aloha purl was last seen in  15319 days 15 hours ago .
15:50 [Coke] seen epoch? (aloha--)
15:50 aloha epoch? (aloha--) was last seen in  15319 days 15 hours ago .
15:50 jnthn pir::new__PS('File').copy(nqp::unbox_s('README'), nqp::unbox_s('README2')); 1
15:50 jnthn tadzik: ^^ actually results in a README2
15:50 tadzik eek
15:52 jnthn 'README'.IO.copy('README2') just worked
15:52 jnthn huh
15:52 jnthn how did it fail before
15:52 jnthn oh!
15:52 jnthn duh
15:52 jnthn I did it in a directory without a README file :/
15:52 jnthn jnthn--
15:53 tadzik :P
15:53 tadzik okay, still
15:53 tadzik I suspect indir() now
15:55 tadzik could you try: use Panda::Common; indir 't-or-something', { 'some-file'.IO.copy('other-file') }; ?
15:57 jnthn tadzik: On the REPL that comes back with Nil
15:57 jnthn tadzik: Did you want me to create those files?
15:57 tadzik did it copy the file?
15:57 tadzik jnthn: I want to see if that works
15:58 tadzik you can try it on t/fudge or whatever
15:58 jnthn use Panda::Common; indir 't', { 'stubs.t'.IO.copy('other-file') };
15:58 jnthn I did that
15:58 tadzik did it work?
15:58 jnthn other-file is created
15:58 tadzik okay
15:58 jnthn (and exact same length as the original)
15:59 jnthn (diff says they're the same)
15:59 tadzik jnthn: with https://gist.github.com/1461126#file_installer.pm do you get any insightful output?
16:04 jnthn tadzik: No extra output during bootstrap
16:04 benabik left #perl6
16:04 benabik joined #perl6
16:05 jnthn tadzik: https://gist.github.com/1461290
16:06 tadzik huh
16:06 tadzik ooh
16:06 tadzik $i.IO.copy("$!destdir/{$i.Str.substr(5)}");
16:06 tadzik shouldn't '/' be '\' on windows?
16:07 tadzik creating dir: C:\consulting\perl6\panda/removeme/lib -- looks fishy too
16:07 jnthn I checked whether copy can take care of / on Windows and it seemed to
16:07 tadzik mhm
16:07 tadzik does C:\consulting\perl6\panda/removeme/lib exist?
16:07 jnthn yes
16:07 jnthn REMOVEME\lib does
16:08 jnthn However, the directory is empty
16:09 tadzik could you modify the patch to Installer.pm to also print "$!destdir/{$i.Str.substr(5)}"?
16:09 tadzik maybe that'll give us some clues
16:11 jnthn Changed it to say "copying $i to $!destdir/{$i.Str.substr(5)}"; and I get:
16:11 jnthn creating dir: C:\consulting\perl6\panda/removeme/lib
16:11 jnthn copying blib/lib/foo.pir to C:\consulting\perl6\panda/removeme/lib/foo.pir
16:11 jnthn creating dir: C:\consulting\perl6\panda/removeme/lib
16:11 jnthn copying blib/lib/foo.pm to C:\consulting\perl6\panda/removeme/lib/foo.pm
16:12 tadzik does mkdir and IO.copy cope well with a path with both \'s and /'s?
16:13 jnthn > mkdir('t\bar')
16:13 jnthn Bool::True
16:13 jnthn > mkdir('t\bar/baz')
16:13 jnthn Bool::True
16:13 jnthn And the directories are there
16:13 tadzik okay. How about copy?
16:14 jnthn 't/panda\builder.t'.IO.copy('t/bar\baz')
16:14 jnthn ah
16:14 jnthn that fails to copy the file
16:14 sayu joined #perl6
16:14 jnthn even though it returns true
16:15 jnthn oh
16:15 jnthn 't/panda\builder.t'.IO.copy('t/bar\baz/x.t')
16:15 tadzik gotcha
16:15 jnthn That works
16:15 tadzik ooh
16:15 jnthn that is, provided I explicitly call out the file name
16:15 jnthn If the destination is a directory it fails, it seems.
16:15 tadzik okay, on it
16:16 tadzik or not. Have to leave for 30 or so, I can poke it then or leave it to you, if you want :)
16:17 jnthn tadzik: I'm kinda tied up finishing some $dayjob task, so I'll have to leave it to later you, I'm afraid :)
16:25 [Coke] perl6: say "abc1_2" ~~ m/^ <ident> $/
16:25 p6eval rakudo d2a096: OUTPUT«=> <abc1_2>␤ ident => <abc1_2>␤␤»
16:25 p6eval ..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20111008/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
16:25 p6eval ..niecza v12-11-g20a790d: OUTPUT«Bool::False␤»
16:32 jimmy1980 joined #perl6
16:40 tadzik okay, I'll poke it in a second
16:43 * JimmyZ don't know how to fix 'BUILD_DIR is not a command'
16:44 dalek niecza: 0271e98 | Coke++ | t/spectest.data:
16:44 dalek niecza: Don't run exploding spectest.
16:44 dalek niecza: (Issue #86)
16:44 dalek niecza: review: https://github.com/sorear/niecza/commit/0271e98bcb
16:44 dalek roast: 7787018 | Coke++ | S05-m (2 files):
16:44 dalek roast: niecza: fudge with tickets
16:44 dalek roast: review: https://github.com/perl6/roast/commit/7787018ba9
16:48 [Coke] perl6: say *@INC
16:48 p6eval niecza v12-11-g20a790d: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/KCCg9suY87 line 1:�------> [32msay *[33m�[31m@INC[0m��Parse failed��»
16:48 p6eval ..rakudo d2a096: OUTPUT«===SORRY!===␤Confused at line 1, near "say *@INC"␤»
16:48 p6eval ..pugs b927740: OUTPUT«*** ␤    Unexpected "INC"␤    expecting term postfix, operator, ":" or ","␤    at /tmp/LmTYn3vwR6 line 1, column 7␤»
16:48 [Coke] perl6: say @*INC
16:48 p6eval rakudo d2a096: OUTPUT«lib /home/p6eval/.perl6/lib /home/p6eval/nom-inst1/lib/parrot​/3.10.0-devel/languages/perl6/lib .␤»
16:48 p6eval ..pugs b927740, niecza v12-11-g20a790d: OUTPUT«␤»
16:49 [Coke] niecza: @*INC.push('nodir'); say @*INC;
16:49 p6eval niecza v12-11-g20a790d: OUTPUT«nodir␤»
16:51 mj41 joined #perl6
16:52 [Coke] perl6: eval('CORE::.<&not>')
16:52 p6eval rakudo d2a096: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&CORE' called (line 1)␤»
16:52 p6eval ..pugs b927740, niecza v12-11-g20a790d:  ( no output )
16:53 colomon hey, sorry to (possibly) be a johnny come lately here, but do we have an Advent post lined up for today?
16:54 moritz I don't think so
16:54 moritz I'll try to whip one up later
16:54 jnthn I was gonna do just one post on meta-programming stuff, but I could do two: 1 showing how we can use it to implement stuff inside Rakudo, and then another showing how you can use it in your own modules.
16:55 jnthn And/or I could one on trusts and private methods.
16:55 moritz jnthn: both options would be very welcome
16:56 colomon moritz++
16:57 colomon moritz: I've got a concert today, so I couldn't possibly start working on one until late.  But I will try to get mine for the 17th in okay shape in the next couple of days, so it can run early if needed.
16:57 sayu joined #perl6
16:58 JimmyZ jnthn: +1 to both
17:09 JimmyZ jnthn: hmm, I mean +1 to 'I could do two:' :)
17:10 jimmy1980 joined #perl6
17:12 mkramer joined #perl6
17:15 jnthn JimmyZ: Ah, you're less interested in the one about privates? OK :)
17:22 JimmyZ yeah
17:24 JimmyZ jnthn: Actullay, I am not sure whether I'm interested in the one about  trusts and private methods.
17:25 thou joined #perl6
17:41 itz joined #perl6
17:43 cognominal_ joined #perl6
17:45 drbean joined #perl6
17:46 cognominal___ joined #perl6
18:15 icwiener joined #perl6
18:27 Radvendii b: say (a,b,c)».uc;
18:27 p6eval b 1b7dd1: OUTPUT«Could not find sub &a␤  in main program body at line 22:/tmp/4cwUJW53ly␤»
18:27 Radvendii ..?
18:27 Radvendii oh
18:27 Radvendii b: say <a b c>».uc;
18:27 p6eval b 1b7dd1: OUTPUT«ABC␤»
18:28 Radvendii b: @C=<a b c>; say @c».uc;
18:28 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Symbol '@C' not predeclared in <anonymous> (/tmp/to774sfsAR:22)␤»
18:28 Radvendii b: my @C=<a b c>; say @c».uc;
18:28 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Symbol '@c' not predeclared in <anonymous> (/tmp/M1Wt45F80y:22)␤»
18:28 Radvendii b: my @C=<a b c>; say @C».uc;
18:28 p6eval b 1b7dd1: OUTPUT«ABC␤»
18:29 drbean joined #perl6
18:29 Radvendii so why do i get the error no ICU lib loaded in Cool::uc?
18:31 Radvendii say my @A = [0, <a b c>».uc], [0, <a b c>];
18:31 Radvendii b: say my @A = [0, <a b c>».uc], [0, <a b c>];
18:31 p6eval b 1b7dd1: OUTPUT«0 A B C0 a b c␤»
18:35 Radvendii the line that's giving me trouble is this one: my @word = [0,@C».uc],[0,@C],[1,@V],[0,@C]; it works without the ».uc...
18:37 Radvendii ah!
18:37 Radvendii b: say 'ƶ'.uc
18:37 p6eval b 1b7dd1: OUTPUT«Ƶ␤»
18:41 Radvendii rakudo: say 'ƶ'.uc;
18:41 p6eval rakudo d2a096: OUTPUT«Ƶ␤»
18:41 moritz you might need libicu installed for that to work
18:42 Radvendii what's that? (and how do i install it)
18:42 moritz Radvendii: see http://site.icu-project.org/
18:43 moritz Radvendii: installation is platform dependent
18:46 Radvendii when i say sudo port install icu, it just gives me ---> cleaning icu
18:50 Radvendii if i install icu, do i have to reinstall rakudo?
18:53 moritz yes, you even have to reconfigure and compile parrot
18:58 moritz and if your package manager separates libraries and development packages (including headers), you also need the development package
19:01 simcop2387 joined #perl6
19:03 Radvendii ugh
19:04 Radvendii while i'm at it, what is the --gen-parrot-option="" for where you want it to be installed (prefix?)
19:08 drbean joined #perl6
19:20 Radvendii b: say chomp "abc\n";
19:20 p6eval b 1b7dd1: OUTPUT«abc␤»
19:20 Radvendii yay :D
19:20 Radvendii they changed it so chomp returns the chomped string rather than the return status :D
19:22 benabik nom: my $s = "abc\n"; say chomp $s; say $s
19:22 p6eval nom d2a096: OUTPUT«abc␤abc␤␤»
19:23 Radvendii it doesnt even modify the value :D:D:D
19:23 molaf joined #perl6
19:23 Radvendii (im a fan of the functional-like aspect of perl in case you hadnt noticed)
19:36 sorear good * #perl6
19:40 jnthn hi sorear
19:46 drbean joined #perl6
19:50 fsergot joined #perl6
19:51 sayu_ joined #perl6
19:57 moritz I'm sorry, I won't get around to writing an advent post today :(
19:58 moritz I can do one tomorrow though
20:00 sorear o/ jnthn
20:05 fsergot karma moritz
20:05 aloha moritz has karma of 2850.
20:30 MayDaniel joined #perl6
20:38 localhost joined #perl6
20:41 drbean joined #perl6
20:47 mj41 joined #perl6
21:28 jnthn argh POS wordpress screwing up my preformatted stuff :/
21:30 cognominal___ joined #perl6
21:32 jnthn There. WE have an advent post for today.
21:32 jnthn http://perl6advent.wordpress.c​om/2011/12/11/privacy-and-oop/
21:33 japhb jnthn++
21:37 jnthn Done in a rush, but hopefully fine :)
21:40 japhb Yep.  The one thing it lacked is an explanation of $! and $. attributes.  You mention declaring attributes with !, but don't explain why you didn't do that in 'my class Item'
21:41 japhb Hmmm, maybe a topic for another day, along with an explanation of 'Item.new(:$name, :$price)' which might give readers a double take.
21:44 jnthn Well, a few things in there might :)
21:44 jnthn I used multiple meta-operators too :)
21:46 * jnthn finds himself writing such things pretty effortlessly these days
21:47 * japhb chuckles
21:48 japhb I looked at !compute_subtotal and thought "Ahhh, how short and sweet" and it didn't even occur to me that it wasn't obvious.
21:48 japhb At least not consciously
21:48 jnthn Even more so than Perl 5, Perl 6 often seems to give me relatively little overhead in translating thoughts about what I want to achieve into code.
21:49 japhb Agreed.  Enough now that the if ladder in !compute_discount seems out of place, a remnant of an earlier age.
21:50 jnthn I don't immediately hit upon something that woulda been much clearer.
21:50 jnthn I coulda done it with a ?? !! ladder
21:53 japhb Hmmm ... a given/when gets kinda ugly ...
21:53 jnthn yeah
21:53 jnthn That makes things worse here.
21:53 japhb Oh, BTW, you have a bug ... the if branches need to be evaluated in 1000, 100, default order
21:54 jnthn oh
21:54 jnthn fail :)
21:54 jnthn Fixed, thanks
21:54 lichtkind joined #perl6
21:54 japhb np
21:56 jlaire if $sum >= 100 ... elsif $sum >= 1000
21:56 jlaire that second branch is never taken?
21:56 * japhb trying various combinations of syntax to replace that if ladder.
21:56 japhb jlaire, already fixed.  :-)
21:56 jlaire oh
21:56 jlaire darn :P
21:56 japhb Close though, you only missed it by 3 minutes.  ;-)
21:57 japhb Man, this now makes me want some sort of .range-classify builtin ....
21:58 japhb Excellent for implementing wide trees.  :-)
22:06 skangas joined #perl6
22:09 drbean joined #perl6
22:18 * sorear wonders whether it might be better to steal data from ICU
22:18 frettled joined #perl6
22:21 y3llow_ joined #perl6
22:21 HarryS joined #perl6
22:21 mikemol joined #perl6
22:21 jasonmay joined #perl6
22:21 mls_ joined #perl6
22:21 yath joined #perl6
22:21 77CAAAN36 joined #perl6
22:21 aloha joined #perl6
22:21 buubot_backup joined #perl6
22:21 mathw joined #perl6
22:21 Vlavv joined #perl6
22:21 awwaiid joined #perl6
22:21 felher joined #perl6
22:21 Sarten-X joined #perl6
22:21 molaf joined #perl6
22:21 kcwu joined #perl6
22:21 SHODAN joined #perl6
22:21 avar joined #perl6
22:21 rafl joined #perl6
22:21 dudulz joined #perl6
22:21 xinming_ joined #perl6
22:21 worr joined #perl6
22:21 arnsholt joined #perl6
22:21 TiMBuS joined #perl6
22:21 pnu joined #perl6
22:21 mattp_ joined #perl6
22:21 Exodist joined #perl6
22:21 fhelmberger joined #perl6
22:21 sorear joined #perl6
22:21 kthakore joined #perl6
22:21 LoRe joined #perl6
22:21 cxreg joined #perl6
22:21 three18ti joined #perl6
22:21 PacoLinux joined #perl6
22:21 Lothar joined #perl6
22:21 huf joined #perl6
22:21 gfldex joined #perl6
22:21 hillu joined #perl6
22:21 PZt joined #perl6
22:21 athomason joined #perl6
22:21 nsh_ joined #perl6
22:21 phenny joined #perl6
22:21 dju joined #perl6
22:21 jrockway joined #perl6
22:21 robinsmidsrod joined #perl6
22:21 baest joined #perl6
22:21 betterworld joined #perl6
22:21 apejens joined #perl6
22:21 domidumont joined #perl6
22:21 japhb joined #perl6
22:21 jlaire joined #perl6
22:21 fridim_ joined #perl6
22:21 donri joined #perl6
22:21 integral joined #perl6
22:21 TimToady joined #perl6
22:21 p6eval joined #perl6
22:21 `patch` joined #perl6
22:21 pjcj joined #perl6
22:21 cotto joined #perl6
22:21 prammer joined #perl6
22:21 plobsing joined #perl6
22:21 dalek joined #perl6
22:21 zamolxes joined #perl6
22:21 daemon joined #perl6
22:21 Ingis joined #perl6
22:21 wolverian joined #perl6
22:21 ilogger2 joined #perl6
22:21 Lorn joined #perl6
22:21 ggoebel joined #perl6
22:21 aindilis joined #perl6
22:21 jaldhar joined #perl6
22:21 syslq joined #perl6
22:21 preflex joined #perl6
22:21 Guest11301 joined #perl6
22:21 icwiener joined #perl6
22:21 krakan joined #perl6
22:21 bbkr joined #perl6
22:21 cosimo joined #perl6
22:21 sivoais_ joined #perl6
22:21 twinshadow joined #perl6
22:21 jfried joined #perl6
22:21 yves joined #perl6
22:21 jtpalmer joined #perl6
22:21 ashleydev joined #perl6
22:21 ruoso joined #perl6
22:21 ingyfoo joined #perl6
22:21 shachaf joined #perl6
22:21 szabgab joined #perl6
22:21 zb joined #perl6
22:21 szbalint joined #perl6
22:21 drbean joined #perl6
22:21 cognominal___ joined #perl6
22:21 localhost joined #perl6
22:21 itz joined #perl6
22:21 Patterner joined #perl6
22:21 Chillance joined #perl6
22:21 araujo joined #perl6
22:21 Trashlord joined #perl6
22:21 colomon joined #perl6
22:21 orafu joined #perl6
22:21 geekosaur joined #perl6
22:21 Helios joined #perl6
22:21 jjore joined #perl6
22:21 BooK joined #perl6
22:21 og01 joined #perl6
22:21 overrosy joined #perl6
22:21 mux joined #perl6
22:21 odoacre joined #perl6
22:21 alvis joined #perl6
22:21 REPLeffect joined #perl6
22:21 cooper joined #perl6
22:21 pochi joined #perl6
22:21 renormalist joined #perl6
22:21 _sri joined #perl6
22:21 Gothmog_ joined #perl6
22:21 jnthn joined #perl6
22:21 djanatyn joined #perl6
22:21 kst joined #perl6
22:21 flussence joined #perl6
22:21 slavik1 joined #perl6
22:21 stepnem joined #perl6
22:21 lestrrat joined #perl6
22:21 meraxes joined #perl6
22:21 [particle] joined #perl6
22:21 clkao joined #perl6
22:21 Woodi joined #perl6
22:21 revdiablo joined #perl6
22:21 zostay joined #perl6
22:21 amkrankruleuen joined #perl6
22:21 Juerd joined #perl6
22:21 silug joined #perl6
22:21 Khisanth joined #perl6
22:21 risou_awy joined #perl6
22:21 tadzik joined #perl6
22:21 lumi___ joined #perl6
22:21 rhr joined #perl6
22:21 jimmy1980 joined #perl6
22:21 * sorear wonders whether it might be better to steal data from ICU
22:21 charsbar__ joined #perl6
22:21 sftp joined #perl6
22:21 yeltzooo joined #perl6
22:21 Maddingue joined #perl6
22:21 Yappoko___ joined #perl6
22:21 ascent_ joined #perl6
22:21 sunnavy joined #perl6
22:21 spacebat_ joined #perl6
22:21 sorear the ICU folks are quite distrustful of the XML UCD
22:21 japhb That it contains bogus data?
22:22 simcop2387 joined #perl6
22:22 simcop2387 joined #perl6
22:25 Tene joined #perl6
22:25 Tene joined #perl6
22:25 BinGOs joined #perl6
22:25 Util joined #perl6
22:25 masak joined #perl6
22:25 moritz joined #perl6
22:25 pomysl joined #perl6
22:25 pomysl joined #perl6
22:25 sorear http://site.icu-project.org/design/props/ppucd
22:25 broquaint joined #perl6
22:25 sorear japhb: read that
22:25 abercrombie joined #perl6
22:25 pothos joined #perl6
22:25 tty234 joined #perl6
22:25 ksi joined #perl6
22:25 jerome__ joined #perl6
22:26 japhb sorear, OK, will do.
22:26 * japhb is finishing up http://www.research.ibm.com​/people/h/hind/ACACES06.pdf first
22:27 imarcusthis joined #perl6
22:28 DarthGandalf joined #perl6
22:28 drbean joined #perl6
22:30 ranguard joined #perl6
22:30 eiro joined #perl6
22:31 sivoais joined #perl6
22:32 skangas joined #perl6
22:33 jimmy1980 joined #perl6
22:40 icwiener joined #perl6
22:41 thou joined #perl6
22:42 sorear oooh, I just noticed the preparseucd.py on the ICU site
22:44 arlinius joined #perl6
22:47 integral joined #perl6
23:32 Trashlord joined #perl6
23:54 shinobicl_ joined #perl6
23:59 pomysl_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo