Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-07-22

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 timbunce joined #perl6
00:34 justatheory joined #perl6
00:34 ruoso joined #perl6
00:35 ruoso pmurias, hi
00:46 meppl good night
00:46 ruoso meppl, good night
00:48 meppl ;)
00:53 ruoso pmurias, I'm not sure how you're going to be able to differentiate public methods from private attributes
01:00 ruoso pmurias, but just a sanity check...
01:01 ruoso you're thinking about a special "metadata" key in the storage hash that would contain isa, does, method definitions, attribute definitions?
01:01 ruoso or are you planning on doing a simple class-based implementation?
01:02 ruoso pmurias, I think I understand how you mean to implement it
01:04 ruoso pugs: say Int.HOW
01:04 p6eval pugs: OUTPUT[<obj:Class>␤]
01:08 ruoso pugs: say 1.HOW
01:08 p6eval pugs: OUTPUT[^Int␤]
01:08 ruoso sa 1.WHAT
01:09 ruoso pugs: say 1.WHAT
01:09 p6eval pugs: OUTPUT[Int␤]
01:09 ruoso say Int.WHAT
01:09 ruoso pugs: say Int.WHAT
01:09 p6eval pugs: OUTPUT[Int␤]
01:10 ruoso pmurias, I've been thinking too much prototype-oriented in the last few months...
01:13 ruoso pmurias, but one way or another, it seems you also need to have a "$.what" in the p6opaque structure
01:15 ruoso pmurias, actually... I can't really think how you can eliminate any of the items in http://www.perlfoundation.org/perl6/index.cgi?smop_p6opaque_implementation (besides the optimal_* stuff)
01:15 lambdabot Title: SMOP p6opaque Implementation / Perl 6, http://tinyurl.com/2z5spt
01:15 simcop2387 joined #perl6
01:28 Alias_ joined #perl6
01:34 Schwern joined #perl6
01:44 ruoso pmurias, I've updated the p6opaque wiki description... take a look at http://www.perlfoundation.org/perl6/index.cgi?smop_p6opaque_implementation
01:44 lambdabot Title: SMOP p6opaque Implementation / Perl 6, http://tinyurl.com/2z5spt
01:49 nixfu joined #perl6
02:20 alester joined #perl6
02:27 BinGOs_ joined #perl6
02:49 kanru joined #perl6
02:57 Psyche^ joined #perl6
03:03 pmurias ruoso: hi
03:04 pmurias i suppose i should get to sleep now though as it's 5 in the morning and i have been watching movies all night
03:38 pbuetow_ joined #perl6
04:33 alester joined #perl6
04:38 timbunce joined #perl6
04:48 justatheory joined #perl6
05:05 ashizawa joined #perl6
05:15 Psyche^ joined #perl6
05:41 timbunce joined #perl6
06:10 timbunce joined #perl6
06:21 timbunce joined #perl6
06:40 armagad joined #perl6
06:55 barney joined #perl6
07:01 masak joined #perl6
08:29 mj41 joined #perl6
08:38 iblechbot joined #perl6
08:42 Jedai joined #perl6
09:15 meppl joined #perl6
09:17 chris2 joined #perl6
09:20 xinming joined #perl6
09:22 smtms joined #perl6
09:37 donaldh joined #perl6
09:55 elmex joined #perl6
10:01 ashizawa_ joined #perl6
10:01 wknight8111 joined #perl6
10:14 pmurias joined #perl6
10:16 penk joined #perl6
10:20 barney joined #perl6
10:56 jferrero joined #perl6
11:08 pugs_svn r21435 | fglock++ | [PCR] added unicode property 'isLr'
11:18 ruoso joined #perl6
11:29 wknight8111 joined #perl6
11:55 pugs_svn r21436 | fglock++ | [PCR] better error message
12:00 ruoso joined #perl6
12:14 jferrero joined #perl6
12:15 jferrero joined #perl6
12:22 pmurias ruoso: hi
12:23 pmurias what are the  proto_storage keys?
12:27 pmurias should it be a scalar instead of a hash
12:42 schmalbe joined #perl6
12:52 barney joined #perl6
13:05 cmarcelo joined #perl6
13:05 penk left #perl6
13:10 pbuetow joined #perl6
13:58 ruoso pmurias, yes... a scalar... sorry
13:59 fullermd joined #perl6
14:05 ruoso pmurias, the point is that all of the elements in proto_storage are actually required by Perl 6 features
14:18 pmurias ruoso: and what is the difference between isa and does?
14:18 ruoso role composition is different from class composition
14:19 pmurias soup&
14:19 ruoso pmurias, remember that the proto_storage has no caching at all
14:20 ruoso so every information needed for a rebuilding the composition need to be available
14:34 pmurias i wouldn't bother about caching and other optimalisations now
14:37 pmurias does only deals with runtime role composition?
14:44 mofino joined #perl6
14:50 pugs_svn r21437 | fglock++ | [PCR] fixed character-class name rule
14:51 hercynium joined #perl6
14:54 Exodist joined #perl6
14:54 pugs_svn r21438 | fglock++ | [PCR] grammar tweak
14:54 Exodist joined #perl6
15:21 TJCRI joined #perl6
15:25 pmurias japhb: got my copy of OpenGL Superbible today ;)
15:28 pugs_svn r21439 | fglock++ | [PCR] some unicode fixes
15:28 pmurias @seen fglock
15:28 lambdabot I haven't seen fglock.
15:28 moritz_ perlbot, seen fglock
15:31 araujo joined #perl6
15:34 japhb pmurias: good!
15:35 japhb pmurias: let me know if you have questions, there's a chance I might be able to answer ...
15:36 timbunce joined #perl6
15:37 _timbunce joined #perl6
15:58 PZt joined #perl6
16:06 timbunce joined #perl6
16:17 iblechbot joined #perl6
16:20 armagad joined #perl6
16:21 meppl joined #perl6
16:23 alester joined #perl6
16:42 [particle] moritz_: it's likely that TimToady, pmichaud, and i won't be available for perl6-soc this week due to oscon
16:42 [particle] tomorrow at about that time has a whole bunch of perl 6 talks going on
16:43 moritz_ [particle]: ok, I'll bore Auzon++ on my own then ;-)
16:43 [particle] ):
16:43 [particle] :) even
16:43 * Auzon .oO(oh no!)
16:44 moritz_ Auzon: or, if you have no questions yet, we might drop it
16:45 moritz_ (assuming you write a report for week 8)
16:46 Auzon Yeah, I'll do that real soon now. Last week was pretty bad :-;
16:46 Auzon :-/
16:46 mj41 joined #perl6
16:47 moritz_ happens from time to time
16:50 moritz_ Auzon: so do we meet tomorrow?
16:51 Auzon No, I don't see a need
16:51 Auzon you'll be here for questions, right?
16:51 * moritz_ wrote Perl6::Str over the weekend, other than that no time/motivation for hacking
16:51 moritz_ Auzon: ok, and yes
16:51 Auzon Sounds good :)
16:51 [particle] Auzon: i have a paper that may help you... sorry i didn't think of it earlier
16:51 [particle] http://www.benderrbt.com/Ambiguityprocess.pdf
16:51 lambdabot Title: The Ambiguity Review Process
16:52 [particle] it's a great reference for writing spec-based tests
16:52 pugs_svn r21440 | lwall++ | [STD] now does reduce tokens correctly; we now use a variable length
16:52 pugs_svn r21440 | lwall++ | string as pattern cache key to parse zillions of reduce operator
16:52 pugs_svn r21440 | lwall++ | tokens without blowing up TRE
16:52 pugs_svn r21440 | lwall++ | [t/spec] various bugs found by STD.  We now parse >80% of t/spec.
16:52 Auzon Thanks [particle] :)
16:53 [particle] TimToady++ # nice progress!
16:56 Jamtech joined #perl6
17:01 timbunce joined #perl6
17:04 moritz_ TimToady: it seems that STD can't parse 'my @array[10]'
17:05 [particle] does that create an array of size 10?
17:05 moritz_ yes
17:14 moritz_ current version of trystd fails after use v6; in most test files
17:18 justatheory joined #perl6
17:19 ruoso joined #perl6
17:20 ruoso pmurias, yes... does is only about runtime role composition (which other type there is?)...
17:20 Schwern joined #perl6
17:21 moritz_ class Foo does Num { ... }?
17:21 moritz_ from a language level POV
17:21 cognominal_ joined #perl6
17:24 ruoso moritz_, yes... but in the end it translates as a runtime composition...
17:26 ruoso moritz_, unless the class composition happens at compile time (which I doubt)
17:27 moritz_ ruoso: why not? in clas {...} the ... is executed at compile-time as the body of a method of the meta class
17:27 moritz_ and class foo does bar {...} is the same as class foo { does bar; ... }
17:27 ruoso moritz_, "compile-time"? are you sure? doesn't it require a BEGIN to be executed at compile-time?
17:28 moritz_ http://perlcabal.org/syn/S12.html In either case, the code represented by ... executes at compile time as the body of a method of the metaclass, ...
17:28 lambdabot Title: S12
17:30 ruoso moritz_, that's unexpected
17:30 ruoso how does that relate with bytecode?
17:33 pmurias class Foo does Bar {} must be done at compile times, as classes can be closed at compiletime
17:34 moritz_ oh, but compile time is also just run-time of a BEGIN-block
17:34 ruoso anyway... in the end that translates as runtime operations...
17:35 ruoso in fact... that's one point I'm not sure on how you're goin to be able to actually split compile-time/run-time
17:35 ruoso meaning...
17:35 ruoso a perl module in bytecode will have limited functionality
17:36 ruoso a Perl 6 module that can use any feature can only be stored in some "bytecode" format, as long as this bytecode format is actually a freeze of the machine state
17:37 pmurias bytecode meaning a storage format in general in this case
17:38 ruoso unless you consider you have a multi-pass compiler and your bytecode is just a first stage of the compilation
17:38 pmurias i think freezing the vm state is a good option
17:38 ruoso pmurias, it's not a good option for modules in general
17:38 ruoso it is only usefull as to freezing an entire application
17:39 pmurias we can only freeze a part of the vm state
17:41 ruoso can we?
17:41 ruoso is it possible to guarantee a consistent state?
17:41 meppl joined #perl6
17:41 pmurias consistent state - explain please
17:42 ruoso pmurias, dependencies and stuff
17:43 pmurias i'm assuming the freezing of the state is done in a relatively smart way, not just dumping the memory
17:44 pmurias it shouldn't be significatly more complex than a normal compile
17:46 pmurias and likely easier than the way kp6 collected side effects from BEGIN blocks
17:48 pmurias ruoso: dependencies - you are refering to the other modules used by the one we are compiling, we can look where the things which are part of the vm state come from and emit code to load them
17:49 ruoso pmurias, and the way we can't really know what modules do in terms of side-effects
17:50 pmurias ruoso: they can either export stuff, or do thing in BEGIN {...} blocks
17:50 pmurias * things
17:50 ruoso which means that the module can do absolutely anything
17:51 ruoso and that this side-effects might be part of the state required after the compile-phase
17:51 moritz_ ruoso: they can do very much. Like exporting grammar rules ;-)
17:51 ruoso yes...
17:51 moritz_ ruoso: but the general perl 6 design favors pre-compiled modules, iirc
17:52 ruoso yes... but it doesn't explain how to make the compilation state mergeable with other compilation states
17:52 pmurias ruoso: my carefull coding ;)
17:52 pmurias * by
17:52 ruoso I'm not sure that is possible...
17:52 ruoso it's the same reason perlcc doesn't work very well
17:52 pmurias side affects like io happen at compile time
17:53 ruoso pmurias, side effects like changing the namespace
17:53 pmurias we can serialise this
17:53 pmurias one
17:55 pmurias i could start a mockup compiler to shake out the issues
17:56 alester joined #perl6
17:57 pmurias and if other will be willing to help it might grow into a real one (as at least i need a vaguely decent perl6->perl5 one)
17:58 timbunce joined #perl6
18:00 ruoso pmurias, it would be even more interesting to see how that relates with the SMOP runtime
18:01 mod_cure joined #perl6
18:03 pmurias ruoso: i think it would be mostly runtime independent, as after the parsing the namespace and the lexical scope will be traversed and everything found will be serialised by the emitter
18:03 ruoso pmurias, I don't really see how it won't be specific for the runtime where the compiler is running on
18:04 moritz_ do you have an example of how a module can change the namespace (I think that example popped up earlier)
18:05 pmurias the things to be serialised are perl6 objects
18:07 alester joined #perl6
18:08 moritz_ rakudo: say (1, 2, 3).perl
18:08 p6eval rakudo 29681: OUTPUT[[1, 2, 3]␤]
18:10 ruoso pmurias, I'm not sure if all .perl serializations are possible as implementation-independent
18:10 ruoso perl6: class Foo { has $!a; has $.b; has %.c }; say Foo.perl;
18:10 p6eval elf 21440: OUTPUT[Parse error in: /tmp/npf6EZ3mui␤panic at line 1 column 12 (pos 12): Missing right brace␤WHERE: class Foo { has $!a; has $.b; has %.c }; s␤WHERE:            /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:255:in `_block_rest'␤  STD_red/std.rb:242:in `block in
18:10 p6eval ..block'...
18:10 p6eval ..pugs: OUTPUT[::Foo␤]
18:10 p6eval ..rakudo 29681: OUTPUT[Method 'perl' not found for invocant of class ''␤current instr.: '_block11' pc 24 (EVAL_13:15)␤]
18:10 ruoso perl6: class Foo { has $!a; has $.b; has %.c; }; say Foo.perl;
18:11 Alias_ joined #perl6
18:11 p6eval elf 21440: OUTPUT[Parse error in: /tmp/kDQ4jXyKxY␤panic at line 1 column 12 (pos 12): Missing right brace␤WHERE: class Foo { has $!a; has $.b; has %.c; }; ␤WHERE:            /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:255:in `_block_rest'␤  STD_red/std.rb:242:in `block in
18:11 p6eval ..block'...
18:11 p6eval ..pugs: OUTPUT[::Foo␤]
18:11 p6eval ..rakudo 29681: OUTPUT[Method 'perl' not found for invocant of class ''␤current instr.: '_block11' pc 24 (EVAL_12:15)␤]
18:11 moritz_ ruoso: the class name holds the proto-object, not the class definition
18:11 moritz_ ruoso: I don't know if that's accessible at all
18:12 ruoso it's even worse than, how that relates with prototype-based and class-based support
18:14 pmurias ruoso: yes, some object might require a bit more reflection that it's currently speced but none major smop redesignes would be nessesary
18:14 ruoso anyway... that's one reason I'm not really concerned about splitting compilation and runtime
18:15 peeps[work] joined #perl6
18:15 ruoso I think specific compiler options would allow forbidding any side effect at compile time to allow a splitted compile-time
18:16 timbunce joined #perl6
18:17 pmurias it's best to push as much as possible to compile-time
18:19 ruoso I think we would need a "shared object" compilation
18:20 pmurias like in c shared object files
18:20 pugs_svn r21441 | moritz++ | [spec] one more test for @list.perl
18:20 ruoso and to compile a "shared object" some restriction are set
18:21 ruoso no-side-effects might be one of them
18:23 pmurias modules are noops withought side effects
18:25 Schwern joined #perl6
18:31 ruoso pmurias, no side-effects at compile-time I mean, not at run-time
18:32 pmurias ruoso: modules have to export stuff at compile-time as they change extend the lexical pad
18:33 ruoso pmurias, this specific compiler option could process the "export" as something specific to be executed at "use" time
18:43 JoshuaP0x joined #perl6
18:44 Chillance joined #perl6
18:47 PZt joined #perl6
18:54 timbunce joined #perl6
19:02 Schwern joined #perl6
19:24 _timbunce joined #perl6
19:25 justatheory joined #perl6
19:26 JoshuaP0x left #perl6
19:39 masak joined #perl6
19:40 masak pugs: class A is B {}; class B is A {}
19:40 p6eval pugs: RESULT[undef]
19:41 masak I guess there should at least be a warning for that...
19:42 moritz_ unless the implementation deals properly with it
19:42 masak moritz_: you mean it is allowed in Perl 6?
19:42 moritz_ masak: dunno
19:42 masak moritz_: I wouldn't allow it, if I were in charge :)
19:44 ruoso moritz_, class A is B {}; is a statement that requires "B" to exist...
19:44 masak moritz_: well, it does exist... later in the code
19:44 moritz_ ruoso: that's what forward declarations can be used for
19:45 moritz_ class A {...}; class B is A {}; class B {};
19:45 alester joined #perl6
19:45 masak ruoso: what are forward declarations?
19:45 Schwern joined #perl6
19:45 masak ruoso: oops
19:45 ruoso Perl 6 doesn't really have forward declarations
19:45 masak moritz_: but do I have to forward declare?
19:45 ruoso it has declaration and "is also" declaration
19:46 ruoso class A {...}; class B is A {...}; Class A is also {...};
19:46 moritz_ class A is also { is B; }
19:47 masak moritz_: it seems to me that the compiler would just have an 'overview' over the whole file, and that I could declare classes in any old order
19:48 moritz_ masak: I think for some cases the compiler needs to know if an identifier is a sub name or a type name
19:49 masak moritz_: ah. then a bug report of mine for rakudo the other day was wrong
19:49 ruoso moritz_, that's again a point where compile-time × runtime gets really confusing...
19:49 moritz_ masak: I'm not sure, though
19:49 masak I reported that `class A is B {}; class B {}` didn't work
19:49 moritz_ yes, I remeber
19:49 ruoso the runtime is the one that can emit a warning about a circular class hierarchy
19:50 masak lambdabot: ask TimToady is `class A is B {}; class B {}` allowed in Perl 6?
19:50 moritz_ ruoso: but again, from a language POV, inheritance is done mostly at compile time
19:50 masak @ask TimToady is `class A is B {}; class B {}` allowed in Perl 6?
19:50 lambdabot Consider it noted.
19:50 masak @thanks
19:50 lambdabot you are welcome
19:51 ruoso moritz_, but what is the language without the runtime?
19:51 ruoso the AST?
19:53 moritz_ ruoso: I don't understand your question. The backend is free to do whatever it wants, as long as user visible the runtime/compiletime distinction looks as specced
19:54 ruoso moritz_, I mean, how can the compiler check wtf is B without the runtime?
19:54 moritz_ ruoso: well, class declarations happens at compile time
19:54 moritz_ ruoso: so it knows at compile that B is actually a class
19:55 moritz_ ruoso: and 'class A is B' also happens at compile time
19:55 ruoso so B must be *loaded* and not only *compiled*
19:56 ruoso which makes the difference between runtime and compile-time very hard
19:56 moritz_ why? loading happens with 'use', and 'use' happens at compile-time again
19:58 ruoso but you need to be able to introspect B when compiling A... which means that you're in runtime already for a long time, and just compiling/loading more modules
19:58 ruoso just like p5
19:59 moritz_ so the compiler needs access to the runtime libs
19:59 moritz_ that can be done, I think
19:59 moritz_ and needed anyway for BEGIN blocks
20:01 ruoso so we end up with a confuse distinction of compile-time × run-time
20:02 ruoso just as we have in p5
20:02 moritz_ not confused, mixed ;-)
20:02 pmurias the compile-time is the compilers run-time
20:02 moritz_ bascially use and BEGIN promote run-time to compile-time, and eval() does it the other way round
20:03 pmurias moritz_: eval is still run-time
20:03 justatheory joined #perl6
20:03 pmurias or a different compile time if you view it from a different perspective
20:04 moritz_ pmurias: yes, but you have a compile-time phase in an eval()ed string
20:04 ruoso just like p5
20:05 moritz_ aye
20:05 pmurias eval is not nice
20:05 ruoso evil eval
20:05 * zamanfou is now away: In the rain my tears are forever lost.
20:06 ruoso zamanfou, can you please remove this f* away notice?
20:07 ruoso I have a strong feeling that Perl 6 will require a very p5-like approach to modules initialization...
20:07 masak ruoso: in what sense?
20:08 ruoso masak, in the sense that it will be very very hard (if not impossible) to compartimentalize each module's initialization... you'll have a complete state of your interpreter, and that's very hard to serialize or to generate a bytecode of some form...
20:08 moritz_ except that Perl 6 allows modules to be compiled only once (as opposed to perl 5)
20:08 moritz_ I don't say it's easy to do, though
20:09 ruoso the only possibility I see ATM to support that is a strict "shared object" compilation mode which denies any side effect at compile-time and defers "exports" to be run at "use time"
20:09 moritz_ the rakudo folks are working on that now (pre-compiling modules)
20:11 moritz_ ruoso: it's just specced that side effects like IO from modules can be ignored by the compiler
20:11 moritz_ so a BEGIN { say "hi" } in a module that is used in script might have no effect at all if you compile and run your script
20:12 ruoso moritz_, the problem is all the state-building that can be done at compile-time
20:12 ruoso ad-hoc modifications of the namespace
20:12 ruoso intialization of native libraries
20:13 masak ruoso: could you give a concrete example?
20:13 ruoso class CSVGtkTreeModel does GtkTreeModel {...}
20:14 masak how is that a problem?
20:15 ruoso masak, for that to be evaluated it needs a GtkInit call
20:15 pmurias GtkTreeModel is a C class
20:15 masak aha
20:16 luqui joined #perl6
20:17 pmurias native classes need a custom hook
20:18 * ruoso reads custom hook as XS
20:18 * ruoso hides
20:18 Alias_ joined #perl6
20:20 ruoso and you always have the modules that change the grammar globally (including for the eval'ed strings)
20:21 moritz_ I don't think you can change the grammar globally (ie not for modules in different files)
20:22 ruoso anyway... even then there are a lot of side effects...
20:22 pmurias you can only change it lexicaly (unless you beat the compiler to a pulp with unspecced evils)
20:23 ruoso pmurias, that doesn't seem very unlikely
20:24 pmurias shower&
20:36 justatheory joined #perl6
20:39 Ara4n joined #perl6
20:39 pmurias ruoso: re custom hooks, i meant the future XS replacement will have to make sure native libraries get appropriatly serialized
20:43 ruoso pmurias, which basically means they will not be initialized at compile time or that they will be intialize twice, or else we have something like p5
20:44 ruoso (the other option is still to have the special "shared object" compilation option)
20:45 moritz_ I think in the general case it needs to be initialized twice, and perhaps uninitialized once
20:46 ruoso moritz_, and then the question is... how do you guarantee that at the second time you have the exact same state you had at the other time?
20:46 moritz_ ruoso: I don't think you can
20:46 pmurias ruoso: i guess the will be initalized twice
20:46 pmurias * they
20:47 moritz_ ruoso: if your runtime looks up class definitions in a database, and the database changes between compile time and run time, you're basically screwed
20:48 ruoso moritz_, the changes can be more subtle than that
20:48 pmurias but it's your fault
20:48 ruoso you would have something as sensible as c binary dependency
20:48 wknight8111 joined #perl6
20:49 pmurias you mean sensitive?
20:49 ruoso yeah yeah...
20:49 ruoso that one ;) ;)
20:50 pmurias those are tricky issues, but the p5 way is unacceptable
20:50 ruoso I think the "shared object compilation with no compile-time side effects" might be a solution
20:51 pmurias compile-time side effects are unclear
20:51 jan__ joined #perl6
20:51 pmurias their definition is
20:52 pmurias the C(++) compilation model is extremely bad, so being simpilar to it is likely a warnings sing
20:52 pmurias * warning
20:54 pmurias i'm opposed to having a seperatly and non-seperatly compiled modules
21:05 Arathorn joined #perl6
21:09 pugs_svn r21442 | fglock++ | [PCR] unicode fixes
21:21 jferrero joined #perl6
21:30 k3153y joined #Perl6
21:34 jferrero joined #perl6
21:34 * ruoso home &
21:48 explorer__ joined #perl6
22:21 jferrero joined #perl6
22:33 justatheory joined #perl6
22:34 alester joined #perl6
22:41 Limbic_Region joined #perl6
22:52 k3153y joined #Perl6
23:08 Auzon joined #perl6
23:11 mod_cure joined #perl6
23:17 Limbic_Region joined #perl6
23:17 alester joined #perl6
23:17 justatheory joined #perl6
23:17 wknight8111 joined #perl6
23:17 Chillance joined #perl6
23:17 araujo joined #perl6
23:17 smtms joined #perl6
23:17 jiing joined #perl6
23:17 awwaiid joined #perl6
23:17 apeiron joined #perl6
23:17 audreyt joined #perl6
23:17 nnunley joined #perl6
23:17 lumi joined #perl6
23:17 rhr joined #perl6
23:17 r0bby joined #perl6
23:17 silug joined #perl6
23:17 pjcj joined #perl6
23:17 rlb3 joined #perl6
23:17 integral joined #perl6
23:17 thepler joined #perl6
23:17 TreyHarris joined #perl6
23:17 spinclad joined #perl6

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

Perl 6 | Reference Documentation | Rakudo