Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-10-30

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:03 svnbot6 r14546 | fglock++ | v6 - implemented prefix:<\> (t/var/autoref.t)
00:03 svnbot6 r14546 | fglock++ | - autoref.t passes 34/57 (mostly because "Pair" not finished yet)
00:30 AzureBOT joined perl6
00:43 xerox- joined perl6
00:44 avarab joined perl6
00:45 avarab is now known as avar
00:58 xie joined perl6
00:59 xie joined perl6
01:02 buubot joined perl6
01:03 eviltwin_b mrf.  command line test DTRT, t/operators/filetest.t does something weird
01:07 xerox- left perl6
01:12 marmic joined perl6
01:15 f0rth joined perl6
01:17 lisppaste3 joined perl6
01:19 dmq joined perl6
01:20 cmeyer joined perl6
01:25 buubot joined perl6
01:31 buubot joined perl6
01:39 buubot joined perl6
01:43 buubot joined perl6
01:46 mdiep joined perl6
01:58 buubot joined perl6
02:16 weinig is now known as weinig|zZz
02:28 * eviltwin_b finally understands... and doesn't
02:28 mjk joined perl6
02:28 eviltwin_b $*BASETIME got written to the prelude, and is overriding me
02:28 eviltwin_b which I don't quite understand since it's a constant
02:39 eviltwin_b nor why command line works but the test script's $*BASETIME is overridden
02:41 Lorn_ joined perl6
02:42 Lorn_ audreyt: hi
02:42 audreyt Lorn_: greetings
02:42 audreyt I'm about to sleep again :) thanks for picking me up from airport, btw :)
02:43 Lorn_ audreyt: hehe, you are welcome, its all ok in hotel?
02:44 audreyt all is fine
02:44 audreyt though jetlag sucks :)
02:45 Achilles14 joined perl6
02:45 Lorn_ audreyt: jetlag? the internet is slow?
02:46 Achilles14 hi audreyt
02:46 Achilles14 do you still have the "cpanmods" ppt?
02:46 audreyt Lorn_: no, internet is just fine
02:47 audreyt time zone difference
02:47 Lorn_ audreyt: oh, ok, i understand now :) do you know, the sun adjust you time zone, automaticaly ?
02:48 audreyt Achilles14: 'fraid I lost it
02:48 audreyt Lorn_: I do
02:52 Lorn_ audreyt: its everything ok, im going to sleep now, bye
02:53 audreyt cool. yup. g'nite!
02:55 Lorn_ audreyt: g'nite too
02:59 audreyt eviltwin_b: the IO::Dir puzzle is solved
02:59 audreyt 1. IO::Dir::close was declared "is export" where it shouldn't be
02:59 audreyt or maybe it should. hm. but at least IO::close and Socket::close should, too
02:59 audreyt 2. the Prim.hs parser was parsing the type of IO::Dir as simply IO
03:00 audreyt anyway, both fixed
03:00 audreyt committing
03:08 svnbot6 r14547 | audreyt++ | * Pugs.Prim: Also export IO::close and Socket::close so that
03:08 svnbot6 r14547 | audreyt++ |     close $fh;
03:08 svnbot6 r14547 | audreyt++ |     close $dh;
03:08 svnbot6 r14547 | audreyt++ |     close $sh;
03:08 svnbot6 r14547 | audreyt++ |   all DWIM.
03:08 svnbot6 r14547 | audreyt++ | * Also fix the parser error that mistook "(IO::Dir:)" in the
03:08 svnbot6 r14547 | audreyt++ |   Prim.hs decl table as "(IO : Dir)".
03:09 eviltwin_b yay
03:09 eviltwin_b now I have to work out my own little issue (now I know why, need to figure out fixing it)
03:09 eviltwin_b ...but I thought you were going to bed :)
03:10 audreyt oh right.
03:10 * audreyt vanishes in a puff of logick
03:11 svnbot6 r14548 | audreyt++ | * span.t and set-infinite.t: Disable infinite looping tests till tomorrow
03:13 mako132_ joined perl6
03:18 ashleyb joined perl6
03:24 AzureBOT joined perl6
03:32 mako132_ joined perl6
03:38 eviltwin_b yep, know what's wrong, have no idea how to fix.  oh well.  :/
03:48 diotalevi joined perl6
03:48 Achilles14 left perl6
03:50 lisppaste3 joined perl6
04:13 nicodaemos joined perl6
04:16 buubot joined perl6
05:54 xie joined perl6
06:01 cmeyer joined perl6
06:47 marmic joined perl6
07:01 drrho joined perl6
07:05 DHGE joined perl6
07:06 cjeris left perl6
07:13 gaal @tell integral yes, Pugs.Val is the new stuff. See also Pugs.Val.Base and Pugs.Val.Code and for new AST, Pugs.Exp
07:14 lambdabot Consider it noted.
07:36 lumi_ is now known as lumi
07:46 integral thanks gaal.
07:46 lambdabot integral: You have 1 new message. '/msg lambdabot @messages' to read it.
08:03 elmex joined perl6
08:27 kane-xs joined perl6
09:22 ank joined perl6
09:23 mr_ank joined perl6
09:24 ank is now known as mr_ank
09:25 kensanata joined perl6
09:35 buetow joined perl6
09:54 bonsai joined perl6
09:55 andara_ joined perl6
10:11 nusgnaf joined perl6
10:18 chris2 joined perl6
10:20 skew joined perl6
10:23 skew Hi, I was wondering when audreyt is usually around.
11:02 audreyt skew: from this hour to ~15hr+
11:02 audreyt for the next week or so
11:08 * Debolaz ponders just using YAML for data storage.
11:11 kanru joined perl6
11:13 ruoso joined perl6
11:14 skew audreyt: I was wondering if you had looked at that gradual typing stuff. I was just reminded by some mail from Jeremy Siek about it.
11:14 audreyt I had, but that was a while ago. I'm also wondering between strictly local inference vs program wide HM inferencing
11:15 audreyt seems strictly local has the advantage of least surprise
11:15 audreyt at the expense of maybe marking more typeslots unknown
11:17 skew One problem is that I haven't really used dynamically typed languages that much for a while, so I don't really know how I'd like type inference and dynamics to fit together
11:17 audreyt I think the idea is if there's no annotation we don't infer anything
11:18 audreyt even if we know builtin function's signatures
11:18 audreyt we can arguably have two modes
11:18 audreyt under -O, where you can't augment to add new overloaded methods at runtime and classes are closed, we can perform nonlocal inference
11:18 audreyt as your prototype does
11:18 audreyt but normally, we only infer locally
11:19 audreyt the design space is large though.
11:19 skew by locally you mean inside a function?
11:19 audreyt I mean lexically, yes
11:21 skew The area where I don't have enough intuition is what to do with annotations that say "please infer some concrete type"
11:21 audreyt ah.
11:22 audreyt you can always take all the constraints and create a concrete union type...
11:22 skew specifically, where dynamics can come up in the inferred type.
11:23 audreyt in that case, infer as dynamic (defeating user's request) and throw a warning
11:23 audreyt sounds correct to me
11:25 Debolaz I don't suppose anybody has tried POE to see if that specific module works with pugs?
11:26 audreyt no, not yet
11:26 audreyt happy to see more t/perl5/
11:26 audreyt t/perl5/POE/moose.t
11:26 fglock joined perl6
11:27 skew audreyt: it's not quite that simple. Say you give some argument x a "figure out the type" annotation, use it a few places as int, and once as a dynamic
11:28 audreyt sub f ($x is inferred) { for 1..$x { say $x.moose } }
11:28 audreyt # concrete example
11:29 audreyt in the 1..$x case we know from signature of infix:<..> that $x is int
11:29 audreyt but .moose is a dynamic method invocation
11:29 audreyt something like that?
11:29 skew probably you want inference to decide x is an int, and insert one cast where it's used as a dynamic
11:30 audreyt but in this case suppose there's no Int.moose method
11:30 audreyt then the cast is arguably better in the ..$x position
11:30 audreyt and leave $x as dynamic with a warning
11:31 audreyt and if the user has misspelled the method name
11:31 audreyt they actually mean .abs but misspelled as .moose
11:31 audreyt then the warning will be sufficient to recover
11:32 b_jonas joined perl6
11:32 audreyt the neccessary info the fix the typo
11:32 audreyt I think. not terribly sure
11:33 skew oh, casting between types is different - the gradual typing stuff just thinks of concrete and a Dynamic wrapper, rather than stuff like casting around in a class hierarchy, or converting record types.
11:33 skew hmm, I don't know about that at all
11:33 audreyt I talked with Wadler a bit on this
11:33 audreyt with the author of gradual typing paper nearby
11:34 Debolaz audreyt: When perl 5 modules can be used for inheritance, what is the prospect of Catalyst working? :)
11:34 audreyt the consensus seems to be the infer-everything regime, with or without Dynamic, falls down in the face of "duck" record subtyping
11:35 audreyt and restricting the inference to be either soft (as in warning/advice only), or local (as in punt to Dynamic without lexical annotation info), seems to be prudent
11:35 audreyt Debolaz: write tests and we'll know :)
11:35 skew how is that different from type inference for extensible records, which seems to work pretty well in e.g. PolyR?
11:36 audreyt runtime augmentation?
11:36 audreyt can you reopen classes in PolyR at runtime?
11:36 skew ah, mutable values would make things interesting
11:37 Debolaz audreyt: Buzz me when p5 inheritance works then. :)
11:37 audreyt Debolaz: have you written p5 inheritance tests?
11:37 audreyt please do so so I can buzz you :)
11:38 fglock audreyt: welcome to Brasil :)
11:38 Debolaz Only under perl 5. :-/
11:38 audreyt fglock: heya. you coming over today?
11:38 audreyt Debolaz: please write a t/perl5/inheritance.t
11:38 Debolaz audreyt: Expect requests for review of it.
11:39 fglock audreyt: unfortunately no - $work until tomorrow, I'll get there on wednesday
11:39 audreyt Debolaz: sure :)
11:39 audreyt fglock: okie
11:41 audreyt skew: I wonder if we can find an encoding of MLPolyR into ATs
11:41 svnbot6 r14549 | fglock++ | v6 - implemented Pair autoref
11:41 audreyt the web-based MLPR evaluator is borken
11:41 skew audreyt: I think the HList stuff already includes a record system
11:41 audreyt and there's no code that I can find, hmm.
11:41 audreyt skew: oh they do (and even infinite records)
11:41 skew and it seems pretty hard to get nice inference for anything built out of type classes
11:42 audreyt ATs are supposed to make this more tractable
11:42 audreyt but I confess I have ~0 experience with them
11:42 skew last I heard, the problem with ATs is figuring out how to do type inference if you allow them
11:43 skew at least for associated type synonyms
11:44 audreyt have you seen sulzmann's ATFunDep paper?
11:45 audreyt "Associated Functional Dependencies"
11:45 skew is it new?
11:45 audreyt '06 I think
11:46 skew I haven't seen that one. Do you know where to find it?
11:46 audreyt http://www.comp.nus.edu.sg/~​sulzmann/manuscript/afds.ps
11:46 lambdabot http://tinyurl.com/y82cru
11:47 audreyt the unified inferrence in particular sounds promising to me.
11:48 audreyt (which is why I had this vague hope of embedding MLPolyR)
11:50 skew I think maybe it will make more sense after I learn more Perl.
11:50 audreyt or JavaScript with Prototype.js
11:50 audreyt or IO, but yeah :)
12:08 svnbot6 r14550 | fglock++ | v6 - start autoref'ing lists
12:09 elmex joined perl6
12:11 cmarcelo joined perl6
12:12 cmarcelo hello
12:12 audreyt cmarcelo: greetings lambdacamel
12:14 cmarcelo audreyt: hey. already adapted to .br timezone?
12:15 fglock left perl6
12:15 audreyt hopefully, yeah
12:15 audreyt where are you in meatspace?
12:16 cmarcelo "meatspace" meaning Earth?
12:17 audreyt meaning not cyberspace
12:17 audreyt yeah
12:18 cmarcelo heh. i'm in Campinas, a city near Sao Paulo. Probably  Wed I'll be in my parents house in SP... but no network there, though :(
12:20 cmarcelo also looking for a friend here to lend me a notebook for yapc hacking sessions..
12:27 audreyt that will be very helpful...
12:30 audreyt bbiab
12:40 cmarcelo audreyt: should I keep "porting" MO->MOH the way(s) I was or new ideas are coming up?
12:50 audreyt basic.hs looks about right.
12:51 Psyche^ joined perl6
13:02 Limbic_Region joined perl6
13:02 Psyche^ is now known as Patterner
13:16 Ken joined perl6
13:40 fglock joined perl6
13:45 Limbic_Region audreyt ping
14:05 polettix joined perl6
14:15 the_dormant joined perl6
14:20 TimToady joined perl6
14:22 cmarcelo bbl &
14:26 buu joined perl6
14:30 svnbot6 r14551 | fglock++ | v6 - fixed autoref of list, anon-array; t/var/autoref.t passes 50/57
14:30 zdeq1 joined perl6
14:30 zdeq1 is now known as zdeqb
14:39 svnbot6 r14552 | fglock++ | v6 - fixed autoref of anon-hash; t/var/autoref.t passes 52/57;
14:39 svnbot6 r14552 | fglock++ | the remaining tests depend on porting the old runtime
14:43 fglock is t/var/autoderef.t obsolete? this looks strange 'ok  tied($y).isa("Ref"),   "tied with 'fake refs' (2)";'
14:45 Limbic_Region fglock - is it smartlinked?
14:46 fglock Limbic_Region: where should I look?
14:47 fglock anyway, it is marked as "more-discussion-needed", so not a problem
14:48 penk joined perl6
14:48 Limbic_Region fglock - there should be special POD above the test if it is smartlinked
14:48 Limbic_Region are you not aware of http://spec.pugscode.org/ ?
14:49 lambdabot Title: Official Perl 6 Documentation
14:49 Limbic_Region hrm - that doesn't appear to be what I thought it was
14:50 fglock Limbic_Region: I've been using a local copy of t/, so I didn't notice smartlinks
14:50 Limbic_Region ah
14:51 Limbic_Region anyway - if it was smartlinked to an S, you could have checked that what it was linked to is still valid
14:51 Limbic_Region in any case, I can't seem to locate where the smartlink stuff is ATM
14:53 [particle] smoke.
14:54 [particle] pugscode.org (slipped)
14:54 vel joined perl6
14:56 cjeris joined perl6
14:59 svnbot6 r14553 | fglock++ | v6 - t/var/autoderef.t passes 20/22
14:59 fglock forget it - that test was commented out, but v6.pm misparsed the comment
15:02 fglock a '=begin' without an '=end' should be marked '=begin END', right?
15:05 rlb3 joined perl6
15:12 svnbot6 r14554 | fglock++ | v6 - t/var/autoderef.t passes 21/22
15:12 timbunce joined perl6
15:14 fglock lunch &
15:14 fglock left perl6
15:24 lisppaste3 joined perl6
15:39 timbunce joined perl6
15:41 gene9 joined perl6
15:45 weinig|zZz is now known as weinig
15:57 jferrero joined perl6
16:02 weinig_ joined perl6
16:04 fglock joined perl6
16:05 ofer1 joined perl6
16:12 svnbot6 r14555 | rnhainsworth++ | test to check that perl5 evals access lexical pad
16:14 penk joined perl6
16:25 ashleyb joined perl6
16:26 Pomin joined perl6
16:42 weinig_ is now known as weinig|bbl
16:46 penk left perl6
16:51 thepler joined perl6
16:59 esammer joined perl6
17:01 Gothmog_ joined perl6
17:07 badalex joined perl6
17:12 timbunce joined perl6
17:16 rblackwe left perl6
17:21 fglock joined perl6
17:23 justatheory joined perl6
17:34 kanru joined perl6
17:44 elmex joined perl6
17:45 bernhard joined perl6
17:45 elmex joined perl6
18:03 hexmode joined perl6
18:10 svnbot6 r14556 | fglock++ | v6/emitter - more array/hash fixes
18:11 Gothmog_ joined perl6
18:24 Odin- joined perl6
18:25 b_jonas joined perl6
18:26 Limbic_Region b_jonas = ambrus ?
18:27 * Limbic_Region 's memory isn't what it should be
18:31 b_jonas L_R: yes
18:32 Limbic_Region thought so - I haven't played with your code but is it only intended to rank combinations of a uniform size or the entire powerset?
18:33 b_jonas yes
18:33 b_jonas if you want to rank all combinations
18:33 b_jonas that would be much simpler:
18:33 Limbic_Region b_jonas - that's why I gave you the example in /msg I did
18:34 b_jonas in that case, you just have to use binary numbers
18:34 Limbic_Region for my $subset ( powerset(1..4) ) { # rank $subset } # where you don't have to worry about powerset()
18:34 * Limbic_Region notes that we should take this to /msg land
18:34 b_jonas ok
18:46 buubot joined perl6
18:49 foo\ joined perl6
18:54 SubStack joined perl6
18:56 Eimi joined perl6
18:59 elmex joined perl6
19:03 buetow joined perl6
19:06 SubStack joined perl6
19:13 elmex_ joined perl6
19:13 chris2 joined perl6
19:14 timbunce joined perl6
19:28 elmex joined perl6
19:45 hexmode joined perl6
19:49 stevan anyone know the location of the MOH code?
19:50 audreyt http://perlcabal.org/~cmarcelo/moh/
19:50 lambdabot Title: Index of /~cmarcelo/moh
19:50 stevan cool
19:50 stevan audreyt: I finally got around to reading Algorithms
19:50 audreyt will merge into src/ this week
19:50 audreyt ooh! how do you like it? :)
19:50 stevan I like it
19:51 stevan Haskell is like all the other functional languages I have read about, but totally different at the same time
19:51 stevan I am finally starting to grok the syntax, which was always the part I had the most trouble with
19:51 audreyt it's quite ergonomic
19:51 audreyt in a strange way
19:51 stevan yes
19:51 Limbic_Region audreyt - the hiveminder items you recently closed - WRT the web server ones hanging - did you close because you couldn't reproduce or because you fixed something?
19:52 stevan audreyt: but I thought I would test my new found understanding by reading the MOH stuff :)
19:52 audreyt Limbic_Region: yes, r14544
19:52 audreyt stevan: oh. uhm, not extracly sure it'sbest idea
19:52 audreyt MOH uses audreyt-style records :)
19:52 eviltwin_b I still haven't quite grokked the fullness of do expressions --- I understand in general but still misapply it in specific and it takes a few revisions before I get it right
19:52 audreyt and some quite advanced Haskell syntax
19:53 Limbic_Region ok, going to smoke without deleting those tests
19:53 stevan audreyt: I been looking at your Haskell code for over a year now, I am probably more used to your style then the canonical
19:53 audreyt true, but all the feature MOH uses is GHC 6.6 only...
19:53 audreyt which means it's all new :)
19:53 stevan ah
19:53 audreyt harrorth may make more sense, actually.
19:54 stevan nah,..i read that a while ago,.. it made sense then
19:54 stevan nothingmuch's explinations helped of course
19:54 stevan audreyt: I will just skim and ask questions when I have them
19:55 audreyt sure
19:59 audreyt stevan: if you pull, "make" will actually compile now :)
19:59 stevan nice
19:59 Aankhen`` joined perl6
20:00 stevan nothingmuch and were talking about bringing the "transformations" from MO over to Class::MOP
20:00 stevan as a new way to do the immutable
20:00 audreyt oh, MO/C3.hs is nicely self-contained that will test your Algorithms-fu
20:00 stevan which will avoid the need for making custom immutable classes for each custom metaclass actually
20:00 Limbic_Region stevan - for immutable you just need to use Matrix;
20:00 Limbic_Region </bad_joke>
20:00 stevan yeah I waas reading C3.hs actually :)
20:15 [particle] joined perl6
20:19 fglock I merged back some parts of v6/emitter(2) to v6.pm - so many array/hash/scalar annoyances are now fixed
20:20 audreyt fglock++
20:22 fglock in order to support types we need to fix the references problem in Data::Bind
20:22 audreyt *nod*
20:23 fglock or change to pure-perl5 binding
20:23 audreyt how would that work? I mean pure p5 binding
20:23 fglock one sec - looking for link
20:25 dduncan joined perl6
20:25 fglock http://svn.openfoundry.org/pugs/misc/pX/Commo​n/Pugs-Emitter-Perl6-Perl5-2/type-example.pl
20:25 lambdabot http://tinyurl.com/y858bf
20:26 audreyt oh the x= thing
20:26 fglock yes, implemented in v6/emitter(2)
20:26 audreyt that's a fair plan
20:26 audreyt but then that means access is always $$
20:26 audreyt never $
20:26 audreyt right?
20:27 fglock yes, and @$ and %$ - depends on the container type, and whether you want raw access or typed
20:28 fglock I also did some experiments with coro and multis on this directory
20:28 audreyt but that means interop with normal p5 code
20:28 fglock we'd need a bridge
20:28 audreyt is um, not very flexible
20:28 audreyt nod. better to design this in person with pen and paper
20:28 audreyt this Wednesday you say? :)
20:29 fglock pen and paper would be nice - not sure if I'll get a notebook
20:30 fglock wednesday about 10:00 in the hotel
20:30 audreyt you can get a wireless notebook with optical fiber display
20:30 audreyt made from pure natural organic material
20:30 audreyt in a local bookstore :)
20:34 kolibrie those kind cost less than lunch
20:36 fglock interesting how paper is better for high-level things
20:42 audreyt *nod*
20:52 fglock home &
20:53 fglock left perl6
21:09 ofer0 joined perl6
21:16 cmarcelo joined perl6
21:16 weinig|bbl is now known as weinig
21:24 Limbic_Region audreyt - the web hanging fixed worked like a champ
21:24 audreyt good, as expected
21:25 Limbic_Region smokes take an awfully long time though
21:25 Limbic_Region > 60 minutes on a machine that normally doesn't take > 40
21:25 lambdabot Not in scope: `doesn't'
21:26 audreyt hrm.
21:27 Limbic_Region I can't say for sure when this started happening because since you have been traveling commits have dropped off to nothing
21:28 Limbic_Region and I haven't smoked twice a day as a result
21:29 audreyt *nod*
21:29 audreyt I'll see what I can do
21:29 TimToady I lost 20-30% about the time the hyper and junction parallelizations went in, I think, though it might not have been those.
21:29 audreyt that is plausible
21:29 audreyt maybe we should probe for RTS=1
21:29 audreyt and then not try to parallelize
21:30 Limbic_Region oh, I have intentionally not tried to take advantage of any of the neat new doodads available
21:30 Limbic_Region or rather - when I do that I don't upload the smoke
21:30 audreyt k
21:30 Limbic_Region that way I have a "control" on the smokeserver
21:30 audreyt TimToady: I think it is exactly those
21:30 audreyt but that seems too drastic
21:30 audreyt 20% that is
21:31 audreyt since we don't use either that much
21:31 audreyt in Test.pm certainly not
21:31 * audreyt ponders
21:31 nothingmuch to clarify: esteban-san talked about hypothetical transformations
21:31 nothingmuch i've only thought of them
21:31 Limbic_Region in any case - I am heading homewards and I doubt I will be logging in later since we carve pumpkings tonight - er pumpkins that is
21:31 nothingmuch not impl
21:32 TimToady well, I used to average about 30 minutes, and now it's 36-38
21:34 Narcisse joined perl6
21:43 mauke joined perl6
21:43 jferrero joined perl6
21:45 buubot joined perl6
21:55 audreyt dinner at Figueira, bbl :)
21:57 cmarcelo nothingmuch: ping ?
22:13 nothingmuch cmarcelo: pong
22:20 cmarcelo nothingmuch: little question about MO, lib/MO/Run/ResponderInterface/MethodTable.pm expects its methods to have a $body, ie. to be like Method::Simple::Compiled folks?
22:27 elmex_ joined perl6
22:29 cmarcelo nothingmuch: and... MO::Compile::Method role requires a compile function, this compile should return a MO::C::Method::Compiled object?
22:38 nothingmuch yes
22:38 nothingmuch it expect a Method::*::Compiled
22:38 nothingmuch precisely
22:39 nothingmuch ->compile gives the method "raw" method enough info (if needed) to be smart about the entire class hierarchy it's applying to
22:39 nothingmuch a method definition happens once per object model
22:39 nothingmuch but it gets ->compiled call for every class which consumes/inherits it
23:05 AzureBOT joined perl6
23:05 AzureBOT joined perl6
23:42 gnuvince joined perl6
23:46 gnuvince Will Perl 6 have docstrings?
23:49 Juerd gnuvince: Do you know Perl 5, and POD?
23:50 gnuvince Juerd: yes

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

Perl 6 | Reference Documentation | Rakudo