Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-06-02

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 muixirt2 joined #perl6
00:09 DanielC Does the Perl 6 spec actually say that you can insert Parrot (ie. PIR) inside Perl 6 code?
00:09 DanielC Isn't that equivalent to saying that all Perl 6 implementations must support Parrot?
00:13 jnthn no, no
00:13 jnthn fuck I hate git sometimes
00:13 DanielC switch to darcs :-)
00:15 jnthn Sometimes I wish we'd stayed with svn *sigh*
00:19 DanielC jnthn: If the spec doesn't say that you can embed parrot in Perl 6, how does Rakudo get away with embedding Parrot in Perl?
00:21 jnthn DanielC: We'll probably requite a use directive for it.
00:21 jnthn Rather than having it available by default.
00:21 DanielC ok
00:21 jnthn But anyone, the spec does say that quoting constructs are extensible.
00:21 jnthn And we just use one of those.
00:22 DanielC ok
00:22 jnthn So it fits well. Just shouldn't be allowed by default.
00:23 DanielC Ok. So it's just part of the language being very malleable.
00:23 DanielC A different program might have embedded C.
00:23 jnthn Yes.
00:23 jnthn OK, who knows how to tell git that I can commit because I *have* resolved the conflicts?
00:23 jnthn Now it won't let me, claiming they're unresolved.
00:23 DanielC dunno
00:24 jnthn oh, hmm
00:24 jnthn got it to do something, who knows what...
00:24 DanielC That doesn't sound very encouraging... ("git did something, don't know what")
00:25 jnthn well, I pushed it
00:25 jnthn we'll find out if anybody screams.
00:25 dalek rakudo: 3f839b2 | jnthn++ | src/pmc/perl6multisub.pmc:
00:25 dalek rakudo: Improve Perl6MultiSub's caching. The main performance win is that we can cache multi-method dispatch requests as well as multi-sub dispatch ones. We also lazily create the MMD caches so we don't allocate them at all for multis that never get invoked (was cheap anyway so a very minor win). Finally, we cache a little later, so that if we get down to one candidate through an C<is default> then sometimes we cna cache that result too.
00:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3f839b2806b7e9f57e5b772a952593fbb7eb8b87
00:25 dalek rakudo: 24460c8 | jnthn++ | :
00:25 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
00:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/24460c8df76860a9b65499bf264adf4fe180d944
00:25 bacek joined #perl6
00:26 jnthn OK, after half an hour of fucking around with git, I can go to bed. *sigh*
00:26 jnthn Night all.
00:26 DanielC night
00:26 jnthn <- unimpressed
00:27 DanielC Is any character allowed in the module name? Can the module be called Foo::B$a*r ?
00:31 dalek rakudo: d396ab4 | jnthn++ | src/pmc/perl6multisub.pmc:
00:31 dalek rakudo: One for change that git decdied it'd rather forget about. *sigh*
00:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d396ab4231107f37dcf0a5d9ecdebce602a454a6
00:38 amoc^ joined #perl6
00:46 agentzh joined #perl6
00:54 meppl good night
01:20 nbrown joined #perl6
01:26 presh joined #perl6
01:26 TimToady joined #perl6
01:26 omega joined #perl6
01:26 nsh joined #perl6
01:26 ashizawa joined #perl6
01:26 lambdabot joined #perl6
01:26 kolibrie joined #perl6
01:26 tarbo2 joined #perl6
01:26 pnu joined #perl6
01:26 pugs_svn joined #perl6
01:26 clkao joined #perl6
01:26 antiphase joined #perl6
01:26 patmat joined #perl6
01:26 Caelum joined #perl6
01:26 jiing joined #perl6
01:26 zev joined #perl6
01:26 bacek joined #perl6
01:26 cotto joined #perl6
01:26 drbean joined #perl6
01:26 JDlugosz joined #perl6
01:26 BinGOs joined #perl6
01:26 betterworld joined #perl6
01:26 breinbaas joined #perl6
01:26 frettled joined #perl6
01:26 buubot joined #perl6
01:26 lumi joined #perl6
01:26 shachaf joined #perl6
01:26 Matt-W joined #perl6
01:26 agentzh joined #perl6
01:26 andreasg_ joined #perl6
01:26 szabgab joined #perl6
01:26 cognominal joined #perl6
01:26 Tene joined #perl6
01:26 krakan joined #perl6
01:26 frew|wor1 joined #perl6
01:26 sri_kraih joined #perl6
01:27 literal_ joined #perl6
01:27 kane__ joined #perl6
01:27 Patterner joined #perl6
01:27 nnunley joined #perl6
01:27 meteorjay joined #perl6
01:27 pastorn joined #perl6
01:29 rhr_ joined #perl6
01:41 japhb joined #perl6
02:13 amoc^ joined #perl6
02:40 snarkyboojum joined #perl6
02:47 pasteling "japhb" at 76.191.190.8 pasted "Perl 6 routine to pull Linux 2.6 memory usage info (used for quickly measuring total memory leakage from within the process)" (13 lines, 414B) at http://sial.org/pbot/36967
02:49 japhb Thought that might be useful, though of course measuring a leak from within a leaking process risks finding itself ....
02:57 alester joined #perl6
03:03 justatheory joined #perl6
03:09 charsbar joined #perl6
03:18 araujo joined #perl6
03:20 donaldh joined #perl6
03:29 dukeleto joined #perl6
03:30 dukeleto_ joined #perl6
03:54 Sark joined #perl6
03:58 JDlugosz hello all.
04:00 Sark hi, is perl5 != perl6 or why is #perl6 seperated with #perl ?
04:00 JDlugosz Perl 6 is very different.
04:01 JDlugosz We're also very elitist.
04:01 araujo #perl are perl6 phobic
04:01 Sark ahh ok :)
04:01 araujo except for TimToady ... he is the only one with no ego here
04:05 dukeleto joined #perl6
04:11 TimToady that's because everything is always my fault
04:16 FurnaceBoy joined #perl6
04:19 felipe joined #perl6
04:21 araujo :D
04:25 viirya joined #perl6
04:25 jrockway_ joined #perl6
04:31 rewtv6 joined #perl6
04:31 cotto blame San Andreas.
04:32 windsok joined #perl6
04:32 dalek joined #perl6
04:32 TimToady that's only my most obvious fault
04:32 * FurnaceBoy groans
04:33 FurnaceBoy you flawed me
04:33 Maddingue joined #perl6
04:33 charsbar joined #perl6
04:35 jnthn joined #perl6
04:35 jiing_ joined #perl6
04:35 buu joined #perl6
04:35 cotto There's no point in getting shaken up over it.
04:35 bloonix joined #perl6
04:37 dukeleto joined #perl6
04:37 araujo joined #perl6
04:37 snarkyboojum joined #perl6
04:37 rewt joined #perl6
04:37 phenny joined #perl6
04:37 yahooooo joined #perl6
04:39 yahooooo joined #perl6
04:39 araujo joined #perl6
04:44 jrockway joined #perl6
05:14 snarkyboojum left #perl6
05:15 snarkyboojum joined #perl6
05:21 finanalyst1 joined #perl6
05:32 amoc joined #perl6
05:38 dukeleto joined #perl6
05:46 justatheory joined #perl6
05:53 kimtaro joined #perl6
05:55 awarefish joined #perl6
06:09 eMaX joined #perl6
06:50 DemoFreak joined #perl6
07:09 frew|work joined #perl6
07:09 eMaX joined #perl6
07:11 iblechbot joined #perl6
07:20 donaldh joined #perl6
07:33 Matt-W Good morning
07:33 araujo morning
07:36 barney joined #perl6
07:44 agentzh joined #perl6
07:48 flexibeast left #perl6
07:52 Muixirt joined #perl6
08:02 sparc joined #perl6
08:14 bloonix morning
08:29 tarskial joined #perl6
08:44 kimtaro_ joined #perl6
08:46 DanielC joined #perl6
08:52 tarskial left #perl6
08:54 barney joined #perl6
08:54 phenny joined #perl6
09:11 tulcod joined #perl6
09:12 kimtaro joined #perl6
09:16 eMaX_ joined #perl6
09:38 flexibeast joined #perl6
09:40 zamolxes joined #perl6
09:43 DanielC Will Perl 6 have the equivalent of XS to allow people to use C in a module? (e.g. all the database related modules need C).
09:44 Matt-W there will be a way to call C libraries, yes
09:44 DanielC k
09:44 Matt-W currently you can do it via Parrot, but there'll be a way directly from Perl 6 at some point
09:44 Matt-W AFAIK
09:45 jnthn o/
09:45 DanielC Ok, so if someone wanted to, they could start doing that already via parrot.
09:45 Matt-W hi jnthn
09:45 DanielC o/ jnthn
09:45 Matt-W to a certain extent, yes
09:45 Matt-W parrot's foreign function calling interface seems a little limited, but I've only glanced at it
09:45 DanielC ok
09:45 Matt-W there are opengl bindings and things for parrot floating around
09:46 DanielC I was thinking that in the not too distant future someone will have to write a package manager for Perl 6 packages, and that package manager probably wants to use a database to track dependencies.
09:47 Matt-W there has been much discussion on such subjects
09:47 DanielC Much of it here, in this very channel :-)
09:47 Matt-W yes
09:48 Matt-W but I'd say that's the less obvious requirement for a DBI
09:48 Matt-W web apps!
09:48 Matt-W one of perl's traditional strengths
09:48 DanielC Less obvious, but more near-term.
09:49 DanielC Package management will have to be dealt with relatively early on.
09:49 DanielC jnthn: You are not an op anymore?
09:49 jnthn DanielC: Seems there was some kind of network issue and I dropped off the channel.
10:01 viklund joined #perl6
10:06 rewt joined #perl6
10:06 Muixirt is there some low level stuff like getting the address of a variable?
10:07 jnthn .WHICH
10:07 jnthn erm
10:07 jnthn .WHERE sorry
10:08 Muixirt rakudo: my Buf buffer='Test'; say buffer.WHERE
10:08 p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf buffer"␤in Main (src/gen_setting.pm:0)␤»
10:09 Muixirt rakudo: my Buf buffer; say buffer.WHERE;
10:09 p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf buffer"␤in Main (src/gen_setting.pm:0)␤»
10:10 * Muixirt looks in the docs
10:11 payload rakudo: my Buf $buffer='Test'; say buffer.WHERE
10:11 p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf $buffe"␤in Main (src/gen_setting.pm:0)␤»
10:12 payload near  $buffe   without   r? :-\
10:13 Muixirt oh sigils
10:14 Muixirt rakudo: my Buf @buffer; say buffer.WHERE;
10:14 p6eval rakudo d396ab: OUTPUT«Malformed declaration at line 2, near "Buf @buffe"␤in Main (src/gen_setting.pm:0)␤»
10:14 payload why is the  _r_  gone in the error message?!
10:15 payload rakudo: my $a = 'bla'; say $a.WHERE
10:15 p6eval rakudo d396ab: OUTPUT«-1229246280␤»
10:15 payload rakudo: my $a = 'bla'; say $a.WHERE
10:15 p6eval rakudo d396ab: OUTPUT«-1229578056␤»
10:17 Muixirt ok payload
10:18 * Muixirt still wonders what sigil is necessary for a Buf var
10:18 jnthn buf not yet implemented
10:18 payload rakudo: say Buf
10:18 p6eval rakudo d396ab: OUTPUT«Could not find non-existent sub Buf␤»
10:19 Muixirt buf and Buf?
10:21 pmurias joined #perl6
10:25 jnthn Muixirt: right.
10:27 Muixirt jnthn, assume that i have to call a C-function via nci, and that func requires the address and length of a chunk of already allocated memory
10:28 Muixirt jnthn, what is the right way doing this?
10:28 pmurias ruoso: hi
10:29 ruoso hi pmurias
10:29 Matt-W that'd be a buf, I believe
10:29 jnthn Muixirt: At the Perl 6 level, probably something involving buf. Not sure that the foreign library stuff is spec'd much yet.
10:30 pmurias ruoso: i should start a blog for gsoc?
10:30 ruoso pmurias, it certainly would be interesting...
10:31 ruoso and actually, dukeleto kinda asked that
10:31 riffraff joined #perl6
10:35 flexibeast joined #perl6
10:51 sjohnson joined #perl6
10:55 * ruoso commute &
10:55 iblechbot joined #perl6
10:55 masak joined #perl6
10:57 masak greetings, versioned camels.
10:59 sjohnson joined #perl6
11:00 viklund masak: what was it you wrote to Juerd?
11:00 masak viklund: that this has been a problem for quite some time.
11:00 viklund what?
11:01 masak viklund: the out-of-memory thing.
11:01 masak during Rakudo build.
11:01 viklund oki
11:01 viklund the main problem is compiling the old pm files though...
11:02 masak :/
11:02 viklund but hey, at least lichtkind has an account now ;)
11:03 masak indeed. viklund++
11:04 DemoFreak joined #perl6
11:05 viklund idea for lightning talk: clone proto, install parrot/rakudo/web, write a weblog.
11:05 viklund end with "Start develop in perl6 today!"
11:06 masak sounds wonderful.
11:06 masak viklund: you sure you're not coming to Lisbon?
11:07 viklund me and travel... I don't know, sounds scary. Besides, it's on average 30 degrees Celsisu in Lisbon in August...
11:07 masak hm, that actually hasn't crossed my mind. :)
11:07 masak interesting.
11:08 viklund have you checked the cost for travel and hotel?
11:08 masak not yet, no.
11:09 masak guess I should RSN.
11:09 viklund RSN??
11:09 viklund reallly soon now?
11:09 masak aye.
11:13 pmurias viklund: 30 degrees isn't that bad :)
11:14 viklund pmichaud: pfft, 15 is perfect.
11:15 viklund pmurias i meant...
11:16 tlb joined #perl6
11:16 masak viklund: welcome to the Tab Completion Fail Club here on #perl6. :)
11:17 viklund masak: thx
11:17 tlb joined #perl6
11:20 * viklund cleans up daughter after lunch...
11:20 donaldh joined #perl6
11:29 sjn joined #perl6
11:29 DanielC joined #perl6
11:33 pmurias meal&
11:35 masak literal: ping
11:35 buubot joined #perl6
11:38 Muixirt rakudo: my $str="TEST"; say $str.bytes
11:38 p6eval rakudo d396ab: OUTPUT«ResizableStringArray: Can't shift from an empty array!␤in method Any::bytes (src/gen_setting.pm:242)␤called from Main (/tmp/3DrPPC3bDf:2)␤»
11:38 Muixirt rakudo: my $str="TEST"; say $str.lc
11:38 p6eval rakudo d396ab: OUTPUT«test␤»
11:39 masak oops.
11:39 * masak submits rakudobug
11:39 masak I wrote that code. :/
11:40 jnthn masak: Heh, you can't let having a masakbug filed against your code hurt your pride too much. ;-)
11:40 masak jnthn: guess not. :)
11:40 literal masak: pong
11:40 masak jnthn: at least I get to submit another ticket. :)
11:41 masak literal: hello, you wrote a few days ago that we should discuss u4x storage decisions a bit more. I agree.
11:41 literal yeah
11:41 masak I suggest we go for the simplest thing we can conceive of, whatever that is.
11:41 literal would be good to settle on some initial structure
11:42 masak let's list some requirements:
11:42 masak we want it to find the sub 'map' when we type 'grok map'.
11:42 masak ditto class names and operators.
11:43 masak ditto keywords, and special variables.
11:43 masak now, we _could_ put everything in One Big File, but it feels like we can do slightly better...
11:44 literal maybe do something like perldoc -q does when it extracts relevant sections from a Pod file
11:44 masak hm, but that's the retreival part. I'm not too worried about that.
11:45 masak the -q flag is simply a grep over the FAQs, isn't it?
11:45 literal yeah
11:45 masak I think we can do much better than that, by (no pun intended) grokking the syntax of the thing asked for.
11:45 masak see metaop examples in u4x/README.
11:48 icwiener joined #perl6
11:52 masak literal: but you're right, we need to do some searching, practically of all files in the documentation/ directory.
11:52 masak literal: perhaps we can narrow the search if the user types '+' and we have one file with all the operators.
11:53 masak but moritz_ suggested that it would be a mistake to single out operators like this, when they are in effect ordinary subs in Perl 6.
11:53 masak I'm still of two minds about this.
11:56 masak literal: I think I'll focus on finishing up P2T1A today. also, I think we both would do best to thin about the following very simple question: how will the grok tool know where to look, based on what the user asks for?
11:59 masak also, actual code trumps even the most detailed design idea.
12:01 DanielC masak: Does that mean that if I want (say) a package manager for Rakudo, I can just write something myself and people will actually use it?
12:01 DanielC masak: I would think that you'd need to get some consensus, otherwise nobody will use it.
12:01 masak hm, actually... this is the simplest I can think of right now: search through the =headN directives of all files. collect all direct matches. do something nifty with operators, since they look like infix:<+> etc.
12:02 masak DanielC: consensus is very important. specifically, one gains nothing from alienating people by disagreeing.
12:02 masak DanielC: but yes, I wrote a package manager for Rakudo, and people actually seem to use it. :)
12:03 DanielC masak: That's what I was thinking. Writing something on your own goes against consensus.
12:03 masak DanielC: not in itself, no.
12:03 DanielC masak: You already have a finished package manager for Rakudo? I thought Rakudo didn't even support packages...
12:04 jnthn DanielC: Writing something and suggesting it as something others might like to use or help with is fine. It's just like building a proof of concept. :-)
12:04 jnthn I figure natural selection by the community at large will probably decdie what lives and what doesn't.
12:04 masak DanielC: it's a broad term. the 'proto' manager knows about all public Perl 6 projects, and can install them, and the projects they depend on.
12:04 masak DanielC: it doesn't do the fancy thing with versions and auths, and it likely never will.
12:05 DanielC masak: If I'm interested in the topic of a package manager, should I start by looking at your work?
12:05 masak DanielC: that might be a good idea.
12:06 DanielC Does proto understand metadata, dependencies and the like?
12:06 masak DanielC: yes.
12:06 masak that's all it does.
12:06 masak really.
12:06 DanielC Ok, so it looks like the right place to start. Got a link?
12:06 masak https://github.com/masak/proto
12:06 masak start with the README.
12:07 DanielC You also must have designed a package format for Perl 6 packages.
12:07 masak no.
12:07 * DanielC reads the README
12:08 DanielC How does it install Perl 6 modules?
12:08 masak via git or svn.
12:09 DanielC hm
12:09 DanielC ok
12:09 DanielC Sounds like a good solution, actually.
12:09 DanielC Ok, I'm not a fan of svn.
12:10 masak it's not built to be a long-term solution, just to solve the immediate pain of dependencies that we started to feel when we started splitting things up in the November project into different projects.
12:10 DanielC So it just makes a directory for each module and runs 'git clone' on it?
12:11 masak DanielC: I don't know about the mkdir part, but yes.
12:11 DanielC ok
12:11 masak it does 'git clone' on projects from github.
12:12 DanielC ok
12:12 DanielC Where does it get the list of available modules?
12:13 masak locally, in its own repo. projects.list.
12:13 DanielC ok
12:13 DanielC So you update that list manually from time to time, yes?
12:13 masak every time someone announces a new project.
12:13 masak or when a project changes location or author.
12:14 masak it doesn't happen too often (yet), so it's not that much work.
12:14 DanielC How does a module list dependencies?
12:14 masak by means of a deps.proto file in its top directory.
12:14 DanielC ok
12:14 masak the file format is described in the PIONEER file.
12:15 * DanielC will read PINEER next
12:16 DanielC mberends is involved in proto? I see his name next to PIONEER
12:16 masak DanielC: he has the pumpkin a lot, yes.
12:16 masak sometimes viklund has it, too.
12:22 DanielC Is Configure.pl a standard file format like Makefile.PL?
12:26 pasteling "muixirt" at 91.47.92.163 pasted "Str.bytes" (14 lines, 232B) at http://sial.org/pbot/36976
12:26 Muixirt masak, would that be a solution to Str.bytes problem?
12:30 masak Muixirt: it looks too good to be true, but I'll try it. :)
12:31 masak DanielC: is Makefile.PL a standard file format?
12:31 DanielC masak: I thought it was... I haven't written one of those in a long time, but I thought there was a library and you were supposed to put things in certain places and all.
12:32 Muixirt masak, the problem is i really don't understand our Int multi method bytes() in src/setting/Any-str.pm
12:32 masak DanielC: I'm not sure what is and what isn't a standard. proto basically assumes a couple of things that are the same in the Perl 5 world, such as lib/ and t/ directories.
12:33 masak DanielC: thing is, it goes to great lengths not to get disappointed if its assumptions are not met.
12:33 DanielC Ok. Is the lib/ directory the standard place where Perl 5 modules put their code?
12:33 masak Muixirt: I think I understand it, after having written it and then reading it several times. but it seems not to be working any more...
12:33 masak DanielC: aye.
12:33 DanielC ok
12:34 masak DanielC: each CPAN package has a lib/ directory, at least if it carries code.
12:34 * DanielC updates his wiki page to rename "src" to "lib".
12:34 masak "src" is from the Java tradition, methinks. "lib" is the Perl name for that dir.
12:35 DanielC masak: I wouldn't know that, I don't even know Java.
12:35 DanielC But in GNU/Linux "src" is very popular.
12:35 DanielC That was my inspiration.
12:36 DanielC ./configure; make; make install ...
12:36 masak DanielC: what CPAN does is take the files in lib/ and copy them over to a location listed in @INC. Perl 6 package managers could do the same, if not for the fact that we want to handle versions and auths.
12:36 masak DanielC: that's what interests me about the problem.
12:37 DanielC cp -r lib/  /<perl6>/<path>/lib/Foo/Bar-v1.2.0--0
12:38 DanielC Something like that?
12:38 DanielC Where Foo::Bar is the package name.
12:38 masak DanielC: seems like it could work.
12:38 cognominal joined #perl6
12:38 masak but the direct relation between @INC and the module name is lost. I guess that's inevitable.
12:39 DanielC Yesterday mberends and I were talking about a counter in the directory name (--0) instead of using hashes.
12:39 masak that could work.
12:40 masak it would mean searching becomes linear on the number of installed modules with the same name, no?
12:40 masak unless there's an index somewhere.
12:40 DanielC Yes. But 99.999% of the time there should be only copy of each module+version.
12:40 masak indeed.
12:40 DanielC Same name *and* version
12:41 masak right.
12:41 masak so the counters are only there to distinguish auths.
12:41 DanielC Yeah.
12:42 DanielC mberends was concerned that if we use a hash there is still a chance of collisions. I think he worries too much, but no matter, the counter is a neat solution to the problem.
12:42 masak the counter is a much smaller solution. I like it better.
12:42 masak no need to bring out elaborate solutions to small problems.
12:43 DanielC Good point.
12:43 DanielC Btw, if a user writes 'use Foo::Bar', the search will be linear in the number of versions of Foo::Bar that are installed.
12:44 DanielC But that's not the fault of the storage method.
12:44 masak Muixirt: I think the string "你好" contains 6 bytes. but your .bytes implementation gives 12 as the answer.
12:45 DanielC rakudo: say @INC.perl
12:45 p6eval rakudo d396ab: OUTPUT«Symbol '@INC' not predeclared in <anonymous> (/tmp/TFnwgSOrwN:2)␤in Main (src/gen_setting.pm:3180)␤»
12:45 masak DanielC: you're right. but that search might be as simple as doing an `ls` and picking the last item.
12:45 DanielC Has @INC been renamed? Maybe @*INC?
12:45 masak DanielC: it's @*INC in Perl 6.
12:45 DanielC thanks
12:45 masak DanielC: that's a general rule. globals have the * twigil.
12:45 DanielC masak: Yes, the search is easy.
12:45 DanielC rakudo: say @*INC.perl
12:45 p6eval rakudo d396ab: OUTPUT«["lib", "."]␤»
12:47 _eMaX_ joined #perl6
12:48 Muixirt masak,  encoding? and did your approach took encoding into account?
12:51 masak Muixirt: mine assumed utf-8, which pulled down some TimToady wrath on me...
12:52 masak Muixirt: I'm tempted to patch in your solution, because it's much shorter and it works.
12:52 masak and we'll deal with the encoding and other issues eventually.
12:53 eMaX joined #perl6
12:53 masak I'll wait until I've talked to pmichaud, though.
12:53 * Muixirt has no clues about rakudos notion of strings and parrots respectivly
12:58 ruoso joined #perl6
12:58 snarkyboojum joined #perl6
12:59 * ruoso back
13:01 DanielC wayland76: ping?
13:02 DanielC @seen wayland76
13:02 lambdabot I saw wayland76 leaving #perl6 2d 23h 48m 15s ago, and .
13:02 DanielC hm
13:18 payload joined #perl6
13:24 unitxt joined #perl6
13:28 cmarcelo joined #perl6
13:32 exodist joined #perl6
13:32 lambdabot joined #perl6
13:34 FurnaceBoy joined #perl6
13:34 decasm joined #perl6
13:37 pmurias ruoso: i'm labeling both re-mildew and re-smop with a [re-smop] tag as the most commits affect both
13:38 Util joined #perl6
13:38 ruoso pmurias, ok...
13:39 pugs_svn r26984 | pmurias++ | [re-smop] sketched a non-sorting Multi - dispatches on only on the number of params atm
13:39 pugs_svn r26984 | pmurias++ | added t/if_bug.t which exposes an if bug
13:40 hanekomu joined #perl6
13:40 Util masak: ping
13:40 sri_kraih joined #perl6
13:46 mizioumt joined #perl6
13:46 DanielC Where can I find the arguments to a Perl 6 program? Is it @ARGV or @ARGS or something like that?
13:46 pugs_svn r26985 | pmurias++ | [re-smop] fix bug in LOST
13:46 jnthn @*ARGS
13:46 lambdabot Unknown command, try @list
13:47 DanielC thanks
13:51 pmichaud good morning #perl6
13:52 jnthn hi pmichaud
13:54 Matt-W hi pmichaud
13:54 pmurias ruoso: do you think it would make sense for the .eval method on continuation not to return a value, but forcing the continuation to always .goto to something
13:54 Util hi pmichaud
13:55 ruoso pmurias, hmm.... not sure... "return false to stop" seems like a good idea
14:04 pugs_svn r26986 | pmurias++ | [re-smop]
14:04 pugs_svn r26986 | pmurias++ | fix bug in LOST
14:04 pugs_svn r26986 | pmurias++ | fix test count in t/signature.t
14:04 viklund @list
14:04 lambdabot http://code.haskell.org/lambdabot/COMMANDS
14:04 viklund ahh
14:05 pmurias ruoso: it used to be return false to stop the current continuation but nowdays it's return false (not return true actually) to stop the whole interpreter
14:05 ruoso stopping the current continuation means stopping the interpreter
14:05 ruoso and it always meant that
14:08 ruoso pmurias, btw... the progress with Multi is impressive
14:08 ruoso I thought it would be much harder to get where you are now...
14:08 alester joined #perl6
14:11 eMaX joined #perl6
14:13 DanielC rakudo: `ls`
14:13 p6eval rakudo d396ab: OUTPUT«Syntax error at line 2, near "`ls`"␤in Main (src/gen_setting.pm:0)␤»
14:13 DanielC :-(
14:14 DanielC Help. How do I run a shell command from Perl 6?
14:14 jnthn run
14:14 DanielC rakudo: run "ls"
14:14 p6eval rakudo d396ab: OUTPUT«operation not permitted in safe mode␤in Main (lib/Safe.pm:25)␤»
14:14 * viklund runs
14:14 DanielC :-P
14:15 DanielC But it works in my local machine...
14:15 jnthn yay
14:15 jnthn Note if you want to capture output use qx
14:16 DanielC How do you change directory? Do I have to do:  run "cd .."   ??
14:16 meppl joined #perl6
14:16 jnthn Not sure about that, sorry.
14:16 DanielC I'll use run for now...
14:16 pmichaud we still want/need a chdir() function
14:17 DanielC Yeah, chdir was my first guess but it didn't work.
14:17 pmichaud note that   run "cd .."   won't change the directory of the currently running script.
14:17 DanielC I wasn't sure if it was gone from the spec, or just not implemented.
14:17 pmurias ruoso: how do i check if one type is narrower than the other?
14:17 DanielC pmichaud: :-(
14:17 pmichaud DanielC: I'm not sure where it is in the spec.
14:17 ruoso pmurias, in abstract... you do a cross-check
14:18 jnthn pmurias: In Rakudo, we're hanging the whole comparsion of ACCEPTS, which has worked out well.
14:18 jnthn pmurias: You need to do it in both directions, as ruoso said.
14:18 jnthn pmurias: Take a look at src/pmc/perl6multisub.pmc and grep for is_narrower
14:18 ruoso pmurias, basically if A.ACCEPTS(B) is true but B.ACCAPTS(A) is not, then you know A is narrower than B
14:18 jnthn It's not a lot of code.
14:18 pmichaud looks like it's in S32
14:19 jnthn ruoso: Right.
14:20 viklund DanielC: in proto we chdir for caommands by doing run("cd $dir; $command")...
14:21 DanielC viklung: Yeah, that's what I just did in my script. Thanks.
14:21 ruoso pmurias, but I think you will only be able to implement type check in the signatures after the ClassHOW bootstrap
14:21 ruoso pmurias, you probably need to support slurpies before you need type check
14:22 DanielC rakudo: if -e "foobar" {say "y"} else {say "n"}
14:22 p6eval rakudo d396ab: OUTPUT«y␤»
14:22 DanielC rakudo: if -e "dfhweufsdf" {say "y"} else {say "n"}
14:22 p6eval rakudo d396ab: OUTPUT«y␤»
14:22 ruoso pmurias, except for native types, native check is something you're going to need
14:22 viklund DanielC: to test for file existence smartmatch against :e
14:22 DanielC ah, thanks
14:22 pmichaud rakudo:   if "foobar" ~~ :e { say 'y' } else { say 'n' }
14:22 p6eval rakudo d396ab: OUTPUT«n␤»
14:22 DanielC thanks
14:23 pmichaud rakudo:   if "perl6" ~~ :e { say 'y' } else { say 'n' }
14:23 p6eval rakudo d396ab: OUTPUT«y␤»
14:23 DanielC pmichaud: Shouldn't Rakudo given an error if you use it wrong?
14:24 pmichaud DanielC: Rakudo should've complained about two terms in a row, yes.
14:24 sri_kraih_ joined #perl6
14:24 pmichaud At the moment Rakudo treated   -e "foobar"  as the same as  -e("foobar")
14:24 pmichaud which was the same as - e("foobar")
14:24 pmichaud that's on my list of things to fix (possibly this morning, now)
14:25 DanielC k
14:26 DanielC rakudo: "fwfie2" ~~ :e or die "No such file directory"
14:26 p6eval rakudo d396ab: OUTPUT«No such file directory␤in Main (/tmp/49KnsDhZ1U:2)␤»
14:26 DanielC Oops... did I just kill rakudo?
14:26 DanielC ah...
14:29 DemoPhreak joined #perl6
14:30 [particle]1 joined #perl6
14:30 masak joined #perl6
14:32 masak Util: pong.
14:33 viklund masak: maybe someone should implement the functionality described in PIONEER?
14:33 masak viklund: aye, I saw that too...
14:33 Util masak: please see message from me 1h15min ago in #parrot
14:34 * masak looks
14:34 masak viklund: seem Util can build Rakudo on feather.
14:35 masak Util: when we build Rakudo, we get an out-of-memory error.
14:35 Util when? how recently?
14:35 masak today.
14:36 * masak ssh:s and tries again
14:36 viklund masak: I'm doing the dishes currently, but I'll watch the conversation and jump in if needed
14:36 masak viklund: thank you.
14:36 Util fresh checkouts with `git clone` and `perl Configure.pl --gen-parrot`?
14:36 viklund yes
14:37 viklund Util: yes
14:37 Util viklund: at what point does the error occur? Is it during the `pbc_to_exe` on perl6.pbc?
14:38 viklund yes
14:38 viklund pasting...
14:39 viklund http://gist.github.com/122263
14:40 Util from the rakudo directory, what is your output from running `(cd parrot && svnversion)` ?
14:41 masak 39308
14:41 barney joined #perl6
14:41 viklund 38955
14:41 masak I haven't failed yet, still building.
14:42 Util mine is 39308
14:42 viklund what does it mean
14:42 masak it's the Parrot revision.
14:42 masak viklund: yours is probably from the Stockholm release.
14:42 masak hey, look at that. it built.
14:43 masak Util++
14:43 justatheory joined #perl6
14:44 masak viklund: so, the solution might be to run November on bleeding this month.
14:44 viklund ok, i'm retrying
14:46 icwiener_ joined #perl6
14:47 jferrero joined #perl6
14:51 payload joined #perl6
15:02 nihiliad joined #perl6
15:06 PacoLinux joined #perl6
15:06 viklund Util, masak: it worked
15:07 Util excellent!
15:08 masak does that mean that Parrot has a smaller memory footprint now than it did in r38955?
15:08 Util I am still working on the Win32/MSVC part of that patch (maybe today?) but it should be fixed for all GCC.
15:09 Util masak: only during the build.
15:09 Util same footprint when running perl6
15:09 masak Util: ok.
15:09 masak still good news.
15:13 DanielC masak: Problem with the 'cp -r lib ...' idea. Some modules also create object files (e.g. .so) that must be installed too.
15:13 DanielC Would it be reasonable to require that 'make' put all module files (.pm, .so, etc) in a 'build' directory so that we can run 'cp -r build /perl/path/Foo/Bar-v1.2.0--2'
15:14 DanielC Or alternatively, require that all object files be placed in "lib/" so we can just "cp -r lib/ ...".
15:16 masak DanielC: I'm not certain about the consequences, but both sound reasonable. I envisaged something like that anyway.
15:16 DanielC I'm not sure about the consequences either...
15:20 donaldh joined #perl6
15:20 viklund DanielC, masak: Compare the directory tree before and after compile and copy the new files? ;)
15:22 DanielC viklund: That would copy temporary files, and the Makefile.
15:22 viklund yes, I know, it wasn't a serious suggestion...
15:22 * masak scowls
15:22 DanielC :-)
15:23 pmurias ruoso, jnthn: thanks for the pointer to ACCEPT
15:23 viklund but it would be cool if it just did the right thing without requiring alot
15:23 DanielC viklund: yeah
15:23 masak viklund: yeah, let's do it that way.
15:23 DanielC :-)
15:23 DanielC I'm working on a toy script, to experiment with the basic idea.
15:23 masak that's kinda the motto for proto as well.
15:23 masak DanielC++
15:24 masak "doing the right thing without asking for much structure"
15:24 viklund what is it you're trying to do?
15:24 masak also known as Postels Law, I think.
15:24 DanielC I'm finding that writing the scripts helps me find potential issues, which I then bring up here.
15:24 DanielC s/scripts/script/
15:25 * Muixirt is away: bbl
15:25 FurnaceBoy pmichaud, i played a little building parrot 1.2.0 on ppc64; hit this: http://www.nntp.perl.org/group/perl.perl6.internals/2008/04/msg45155.html
15:25 FurnaceBoy pmichaud, there is a workaround. be nice to have a real fix :)
15:26 DanielC viklund: http://wiki.github.com/perl6/misc/cpan-and-package-format   <-- scan this page first. I'm writing a first (toy) implementation of the "par" command described here.
15:26 dalek rakudo: d03217d | pmichaud++ | docs/spectest-progress.csv:
15:26 dalek rakudo: spectest-progress.csv update: 395 files, 11346 passing, 2 failing
15:26 dalek rakudo: Failure summary:
15:26 dalek rakudo:     S02-lexical-conventions/unicode.rakudo aborted 2 test(s)
15:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d03217d71d60e9038360bc2d8930fca70acb60a1
15:27 masak I still think we should rename that directory 'modules' or 'module-experiments' or some such, before it's too late. :)
15:27 masak everything is misc!
15:27 DanielC :-)
15:28 pmichaud I'm open for a rename.
15:28 DanielC Maybe we can call it "stuff"
15:28 masak it's like calling a script 'code.pl' or a variable '$information'.
15:28 pmichaud yes, sooner would be better than later.  At the time I didn't have a lot of spare cycles available to come up with a more appropriate name.
15:28 pmichaud also, at the time, we were just looking for an alternative to the perl6 wiki
15:29 pmichaud i.e., something other than socialtext
15:29 masak pmichaud: 'module-thinking', perhaps?
15:29 pmichaud so the repo wasn't intended to just be about modules, per se
15:29 masak ok.
15:29 pmichaud if we need a separate repo for modules, I'm totally happy with creating one.
15:29 DanielC I like calling my variables $data :-)
15:29 masak DanielC: do you call your pets 'Cat' and 'Dog' too? :)
15:30 DanielC heh
15:30 PerlJam masak: gedanken-modules
15:30 pmichaud 'Mammal'
15:30 masak PerlJam: I like. :)
15:30 pmichaud 'Cat' and 'Dog' are too specific.
15:30 masak pmichaud: either way, they're type objects, thus probably undefined.
15:31 masak they bark and meow, but they don't have a specific number of legs, for example.
15:32 masak rakudo: class Dog {}; say Dog.defined; Dog .= new; say Dog.defined
15:32 p6eval rakudo d396ab: OUTPUT«0␤1␤»
15:32 masak o_O
15:32 masak you can instantiate type objects!
15:32 pmichaud well, technically a type object is already instantiated, it's just not defined.
15:32 pmichaud you told the type object to build itself, so it did :-P
15:32 masak it's consistent, I guess...
15:33 pmichaud I think I definitely want to do our readonly refactor soon, though.
15:33 masak oh, that would solve that?
15:33 pmichaud yes.
15:33 pmichaud currently we mark which objects are readonly, and refuse to write to those.  I'd like to reverse that, so that we mark the objects that are rw, and refuse to write to anything that isn't so marked
15:33 masak so I don't need to submit something for this?
15:34 * masak grins
15:34 pmichaud you can submit it if you like -- I don't know the timeline for that refactor yet.
15:34 PerlJam masak: just patches ;)
15:34 * masak submits
15:34 masak pmichaud: oh, and did you backlog the thing about .bytes from earlier today?
15:34 pmichaud yes.  muixirt's patch is more along the lines of what I was thinking/expecting.
15:35 masak yes.
15:35 pmichaud if the purpose is to simply return the number of bytes :-)
15:35 masak but I think it gives the wrong answer sometimes.
15:36 pmichaud example?
15:36 pmichaud (keeping in mind that TimToady claims .bytes on Str is wrong anyway :-)
15:36 hanekomu joined #perl6
15:36 masak yes, I know.
15:36 pmichaud pugs:  say Str ~~ Buf
15:36 p6eval pugs: OUTPUT«*** No such subroutine: "&Buf"␤    at /tmp/4D1CTfyrA0 line 1, column 5 - line 2, column 1␤»
15:37 masak it reports "你好".bytes as 12. I think it's 6.
15:37 pmichaud checking
15:37 masak pmichaud: anyway, I saved the patch in a branch, so I can easily merge it to master.
15:37 pmichaud I agree, that looks like it should be 6.
15:37 baest_ joined #perl6
15:38 pmichaud checking more...
15:38 masak also, I thought I enabled spectests for .bytes, but now when I looked, I didn't see anything that indicated that I did. so maybe I thought about doing it but forgot.
15:41 pmichaud http://gist.github.com/122311  # looks right to me
15:42 masak oh, well then I'll commit and push.
15:43 masak er, I mean cherry-pick and push.
15:44 dalek rakudo: 63cc77c | masak++ | src/setting/Any-str.pm:
15:44 dalek rakudo: [src/setting/Any-str.pm] a new, shorter .bytes implementation
15:44 dalek rakudo: Patch submitted by Klaus Bruessel (Muixirt++).
15:44 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/63cc77c5dd0949d5281798db4e14c3d7aa3c917a
15:44 masak git++
15:44 DanielC masak: What are your thoughts on requiring PGP signatures like Debian does?
15:45 DanielC I can't decide whether to make PGP recommended or mandatory.
15:45 pmichaud does PGP exist on all platforms we might want to target?
15:46 masak DanielC: that's exactly one of those decisions that I don't feel in a position to make. :)
15:46 DanielC ok :-)
15:46 masak DanielC: as I said, I like to make minimal solutions, and that wouldn't include PGP unless there was a really compelling reason to have it.
15:47 pmichaud DanielC: keep in mind that whatever is done here also has to work on Windows and other operating systems
15:47 DanielC ok
15:47 TimToady I'd say, just make sure you know where it will fit in the design when it becomes mandatory :)
15:47 pmichaud Exactly.
15:47 * masak does a double take on pmichaud's gist and sees 'orange rakudo cat'
15:48 masak :)
15:48 pmichaud Have a strategy/plan for the larger system, but start with simple implementations where possible.
15:48 DanielC Although simple solutions are nice, we don't want to be stuck with an inflexible solution that can't be extended to meet future needs.
15:48 pmichaud "Plan to throw one away."  :-)
15:48 PerlJam or two or three
15:48 * FurnaceBoy plans to throw six away
15:49 masak DanielC: I agree. it's just that I consider that issue smaller than the current "no solution/massive bikeshedding" issue.
15:49 DanielC If everyone starts making unsigned modules, it will be more difficult to introduce signatures later.
15:49 PerlJam DanielC: prove it :)
15:49 masak DanielC: there needs to be a compelling reason to sign modules, not just that a packager demands it.
15:49 PerlJam unless you really mean, "it will be more difficult to make signatures required later"
15:49 DanielC masak: I totally see your point about bikeshedding.
15:50 DanielC PerlJam: That's what I mean.
15:50 pmichaud more to the point, we don't want to limit the design to a specific signature technique.
15:50 pmichaud "require a signature" is different from "require a PGP signature"
15:50 DanielC ok...
15:51 mizioumt joined #perl6
15:52 PerlJam DanielC: a solution is to not make signatures required you know.
15:52 DanielC pmichaud: Do you know any significant alternatives to PGP? I don't expect to see people using SSL certificates from a CA and the like.
15:53 pmichaud DanielC: just because there are no significant alternatives to PGP today doesn't mean there won't be in the future
15:53 pmichaud We're trying to design for decades.
15:53 DanielC true
15:53 PerlJam yeah, perl 6 is a 100-year language :)
15:53 pmichaud PerlJam: oh, I hope we'll have it released before that.  :-P
15:53 TimToady design is just the first 100 years
15:53 PerlJam heh
15:53 DanielC pmichaud: The package format includes a 'version' parameter. That gives us a lot of room to make significant changes later.
15:54 DanielC pmichaud: version == package format version
15:54 pmichaud please can we use the same identifiers for the same concepts?
15:54 pmichaud S11 has 'ver'
15:55 DanielC pmichaud: What word would you use to refer to the version, not of a Perl module, but of the package format?
15:55 pmichaud DanielC: is there an important reason it should not be 'ver'?
15:56 PerlJam DanielC: you know how the existing CPAN has ratings, and reviews and such and they are just additional metrics as to the "goodness" of the modules?  Maybe the signature could be the same sort of thing.  Don't require it, but provide for optional signing of modules.   Let reputation and trust do the reest.
15:56 PerlJam s/ee/e/
15:56 DanielC pmichaud: As long as you know what I mean when I say "ver"...
15:57 pmichaud I don't mind if we use 'version' as the name and 'ver' as a shortcut, however (much like we do with quoting adverbs)
15:57 tulcod joined #perl6
15:58 pmichaud it's just helpful to make sure that we don't end up with lots of different-and-sometimes-incompatible ways of talking about things that are essentially the same
15:58 TimToady there's potentially yet another version floating around, which is the version of the language we're importing a foreign module from
15:58 TimToady can probably be considered part of the language name, from within Perl
15:58 TimToady :from<Python-2.5>
15:59 DanielC :from<Python-2.5> looks good.
15:59 TimToady or whatever it's supposed to be
16:00 PerlJam :from<python3000>  :from<Python-3000>  :from<python-3>  :from<Python>   ... er, which is it?  :)
16:00 TimToady :from<Python:ver<2.5>> is more extensible though, in a fractally way
16:02 pmichaud we already have the notion of  :<1.3.4 cpan:JRANDOM>, so it seems like   :from<Python :ver<2.5>>   or  :from<Python 2.5>    isn't too far of a stretch.
16:02 TimToady at some point, all questions of identity must be delegated
16:03 TimToady just as a url lets the server figure out what the end of it means
16:05 mizioumt1 joined #perl6
16:06 TimToady which, in our case, means Perl just sees "use Module:from<Python-3.0 pydentification>"
16:07 TimToady and doesn't care what's in the pydentification
16:08 TimToady what do you think of ignorance and apathy?
16:08 TimToady "I don't know, and I don't care"
16:12 iblechbot joined #perl6
16:13 DanielC Does anyone know how to make 'zip' give you a list of files in a zip archive?  (my current script uses a lot of Unix commands, as a temporary measure).
16:13 DanielC Looking at the man page, I can't find the option, but it should exist.
16:14 PerlJam ~zip -t
16:14 PerlJam er, without the tilde
16:14 DanielC -t  ->  "Do not operate on files modified prior to the specified date"
16:15 dukeleto good localtime()
16:15 pmichaud normally "unzip" would give the list of files, yes?
16:15 pmichaud "zip" is for building the archive.
16:16 * DanielC does man unzip
16:16 pmichaud yes,  "unzip -l"
16:16 DanielC thanks
16:16 DanielC In my mind, getting a list of files was not "unzip".
16:17 pmichaud in general, "unzip" is "extract information from archive"
16:17 pmichaud whereas "zip" is "put stuff in archive"
16:19 pmichaud afk, lunch
16:25 FurnaceBoy unzip -t on my systems for file list.
16:26 FurnaceBoy hm, i see -l works too ('short format')
16:34 estrabd joined #perl6
16:36 Psyche^ joined #perl6
16:55 hudnix joined #perl6
17:04 mizioumt joined #perl6
17:12 pmurias joined #perl6
17:15 ben_m joined #perl6
17:20 REPLeffect joined #perl6
17:21 pugs_svn r26987 | pmurias++ | [re-smop] add t/dollar_bang.t and t/grep.t
17:21 pugs_svn r26987 | pmurias++ | fix typo in Failure
17:31 pugs_svn r26988 | pmurias++ | [re-smop] calling fail makes the caller return a failure
17:35 M_o_C joined #perl6
17:38 Chillance joined #perl6
18:03 pmichaud std:  class A { has $.x;  method foo() { $.x: 'arg' } }
18:03 p6eval std 26988: OUTPUT«##### PARSE FAILED #####␤Illegal use of colon as invocant marker at /tmp/HeCLPPTRoj line 1:␤------> [32mclass A { has $.x;  method foo() { $.x:[31m 'arg' } }[0m␤    expecting signature␤FAILED 00:02 36m␤»
18:04 eMaX joined #perl6
18:10 mberends joined #perl6
18:16 viklund hmm, previously I could do like this: my $m = "CGI"; use $m; my $c = $m.new();
18:16 viklund now "use $m" doesn
18:16 viklund doesn't work*
18:16 pmichaud "use" is a compile-time directive.
18:17 viklund ok, is there someway to dynamically use?
18:17 viklund eval?
18:17 pmichaud if you just want to load the library and don't need any symbols imported (which you probably don't here), there's still 'require'
18:18 pmichaud But I very much doubt that  "CGI".new()  will work.
18:18 viklund hmm
18:18 pmichaud my $m = 'CGI';  require $m;   # this much is okay, loads the CGI module
18:19 viklund oh well, probably will have to refactor the dynamically used templating system for November then...
18:19 pmichaud I'm a bit surprised that   my $c = $m.new() would ever work if $m is a Str
18:19 viklund sry, markup system
18:20 viklund it worked a few months ago
18:20 pmichaud well, I can believe it would compile, butI would get it would return a Str
18:20 pmichaud and not the type that is in $m
18:21 pmichaud rakudo:   my $m = "CGI";  my $c = $m.new();   say $c.WHAT;
18:21 p6eval rakudo 63cc77: OUTPUT«Null PMC access in get_string()␤in Main (/tmp/941m3iXUDP:2)␤»
18:21 pmichaud hmmpf.
18:22 viklund ahh, so November has been dependent on a bug ;)
18:24 cj joined #perl6
18:25 jhorwitz joined #perl6
18:34 lichtkind joined #perl6
18:35 ejs0 joined #perl6
18:38 DanielC rakudo: say $$
18:38 p6eval rakudo 63cc77: OUTPUT«say requires an argument at line 2, near " $$"␤in Main (src/gen_setting.pm:2395)␤»
18:38 DanielC :-(
18:39 jnthn $$?
18:39 DanielC How do I get the process PID in Perl 6?
18:39 DanielC I want to make a temp file.
18:39 jnthn oh, I'd forgotten that's what I did in Perl 5... ;-)
18:39 jnthn rakudo: say $*PID; # I think
18:39 DanielC :-)
18:39 p6eval rakudo 63cc77: OUTPUT«Use of uninitialized value␤␤»
18:39 [particle]1 rakudo: say $*PID
18:39 p6eval rakudo 63cc77: OUTPUT«Use of uninitialized value␤␤»
18:39 jnthn hmm
18:39 [particle]1 jnthn++ beat me to it
18:39 jnthn I thought we had some tests that used that...
18:39 jnthn Maybe not though.
18:40 DanielC rakudo: say random()
18:40 p6eval rakudo 63cc77: OUTPUT«Could not find non-existent sub random␤»
18:40 DanielC rakudo: say rand()
18:40 p6eval rakudo 63cc77: OUTPUT«0.567430558222444␤»
18:40 DanielC I'll take that until $*PID starts working.
18:41 mizioumt joined #perl6
18:42 ZuLuuuuuu joined #perl6
18:43 DanielC rakudo: sub foo($param=3) { say $param }
18:43 p6eval rakudo 63cc77:  ( no output )
18:43 DanielC rakudo: sub foo($param=3) { say $param }; foo()
18:43 p6eval rakudo 63cc77: OUTPUT«3␤»
18:43 DanielC :-)
18:45 [particle]1 rakudo: say $?PID
18:45 p6eval rakudo 63cc77: OUTPUT«Symbol '$?PID' not predeclared in <anonymous> (/tmp/WRuEaJXaIM:2)␤in Main (src/gen_setting.pm:3180)␤»
18:45 [particle]1 phew.
18:56 jnthn Heh. "What wsa the process ID of the compiler?" :-)
18:58 jferrero joined #perl6
19:04 synth joined #perl6
19:04 japhb joined #perl6
19:05 fridim_ joined #perl6
19:07 perlmongo joined #perl6
19:12 pugs_svn r26989 | lwall++ | [STD] disallow rand() form to enforce termness at compile time
19:17 pochi rakudo: say :2[11]
19:17 p6eval rakudo 63cc77: OUTPUT«1953␤»
19:18 viklund dang, found another bug in proto
19:18 pochi strange I get 3908 locally
19:20 sri_kraih joined #perl6
19:20 donaldh joined #perl6
19:22 TimToady rakudo: say :2[1,1]
19:22 p6eval rakudo 63cc77: OUTPUT«1953␤»
19:22 TimToady looks quite borken
19:23 pochi aye
19:23 TimToady perl6: say :2[1,1]
19:23 p6eval pugs: OUTPUT«3␤»
19:23 p6eval ..elf 26989: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
19:23 p6eval ..rakudo 63cc77: OUTPUT«1953␤»
19:23 TimToady pugs++
19:23 TimToady perl6: say :2[11]
19:23 p6eval pugs: OUTPUT«11␤»
19:23 p6eval ..elf 26989: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
19:23 p6eval ..rakudo 63cc77: OUTPUT«1953␤»
19:23 TimToady well, arguably that should fail
19:24 pochi :)
19:28 pugs_svn r26990 | lwall++ | [S02] require failure when digits exceed radix
19:28 pochi rakudo: say :2<1_______1>
19:28 p6eval rakudo 63cc77: OUTPUT«3␤»
19:28 cj joined #perl6
19:28 pochi rakudo: say 0b1______1
19:28 p6eval rakudo 63cc77: OUTPUT«Syntax error at line 2, near "say 0b1___"␤in Main (src/gen_setting.pm:0)␤»
19:29 TimToady std: say 0b1______1
19:29 p6eval std 26989: OUTPUT«##### PARSE FAILED #####␤Whitespace is required between alphanumeric tokens at /tmp/PhrIiS2yHb line 1:␤------> [32msay 0b1[31m______1[0m␤    expecting any of:␤   POST␤   postfix␤   postfix_prefix_meta_operator␤      standard stopper␤ terminator␤     whitespace␤FAILED 00:02
19:29 p6eval ..35m␤»
19:30 pochi then it should fail with :2<1__1> as well?
19:31 pmichaud I'm thinking that Rakudo's number converter doesn't do parse validation of the strings it gets
19:31 pmichaud rakudo:  say :2("1____1")
19:31 p6eval rakudo 63cc77: OUTPUT«3␤»
19:31 pmichaud okay, now I'm not sure what's going on there.
19:32 pochi the grammar says $<intpart>=[<[0..9 a..z A..Z _]>]+
19:32 pmichaud Anyway, should   :2("1____1")   return 1 or fail?
19:32 pmichaud pochi: string-to-number conversion doesn't use the grammar at present.
19:32 pmichaud but you're correct that $<intpart> is wrong.
19:32 * pmichaud says "huh?" to himself again.
19:32 pochi huh? :)
19:33 pmichaud Did an earlier version of STD use that $<intpart>=[...] ?
19:34 DemoFreak joined #perl6
19:36 TimToady I don't recall that STD ever mixed _ into the character class
19:37 TimToady if it did, it was *very* early
19:37 iblechbot joined #perl6
19:38 lichtkind TimToady: thanks again tutorial is now ready :)
19:39 pmichaud ahhhhh, looks like lathos put that particular rule into the grammar
19:39 [particle]1 heh, i was just going to own up to it
19:39 [particle]1 glad it's not me :)
19:39 pmichaud well, he may have just modified your change :-)
19:39 TimToady wait, I thought everything was my fault here...
19:40 pmichaud I'm still blaming that Andreas guy who keeps shaking everything up.
19:40 [particle]- it's @Larry's fault, for certain
19:40 TimToady he thinks he's king or something
19:40 [particle]- that's just his cnn name
19:41 pmichaud [particle]-: you're off the hook, it was lathos who stuck the underscores in there :-)
19:41 viklund lichtkind: you now have an account on november-wiki.org (finally)
19:41 [particle]- whee!
19:41 lichtkind viklund: great i got mail?
19:41 [particle]- lathos++ # excellent particle immitation
19:41 viklund if masak sent one
19:41 lichtkind viklund: you heard what i want to add?
19:42 viklund lichtkind: no
19:42 lichtkind viklund: cant you? its lichtkind@cpan
19:43 viklund sent
19:44 viklund what was it you wanted to add?
19:44 lichtkind viklund: not that much just a newbee intro into perl 6 with a lot of pointer
19:44 viklund great ;)
19:44 lichtkind because there is already a perl 6 wiki
19:44 viklund sorry for taking so long in creating the account
19:45 lichtkind viklund: it was perfect up to now i wrote my other perl 6 tutorial :)
19:45 * [particle]- wonders about :*<42>
19:45 lichtkind viklund: i finighed puting it online 30 min ago :)
19:45 viklund I just updated the server to the latest november as well, if something misbehaves just let me now...
19:46 * [particle]- wonders about :*<*>
19:46 lichtkind viklund: great i already have an feature wish :)
19:46 viklund ;)
19:46 viklund what?
19:46 [particle]- (line noise)++
19:49 masak joined #perl6
19:51 lichtkind [particle] no problem we discuss that in november channel
19:51 viklund masak, I'm implementing the test behavior for proto as per the spec (the PIONEER file)
19:51 cj_ joined #perl6
19:51 * masak looks
19:51 [particle]- lichtkind: no, i meant that :*<*> looks like perl 6 line noise
19:51 masak have to remind myself...
19:51 [particle]- ...i don't mind your chatting here...
19:52 masak viklund: excellent.
19:52 masak viklund: maybe I should implement the final sentence of PIONEER, then.
19:55 viklund masak, would be nice
19:55 * masak does that
19:56 masak viklund: let me know when you're done with the pumpkin.
19:56 viklund masak: sure thing
19:56 TimToady std: :*<*>
19:56 p6eval std 26990: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/Ne7vIwT3Ac line 1:␤------> [32m[31m:*<*>[0m␤    expecting any of:␤        prefix or noun␤   statement end␤    statement list␤   whitespace␤FAILED 00:02 35m␤»
19:56 TimToady STD thinks it's epic linenoise
19:57 masak well, isn't it? :)
19:57 TimToady most epics are longer than that
19:57 * masak rolls eyes
19:57 TimToady but perhaps it can qualify as epicurian linenoise
19:57 viklund masak: What do you say about automatically compiling all pm files to pir files if no Makefile exists?
19:58 * viklund wonders why he test the test functionality with november...
19:58 masak viklund: that kind of goes against the (only now formulated) principle that proto shouldn't do stuff that wouldn't happen if it weren't there.
19:59 * viklund smiles
19:59 [particle]- std: :10<*>
19:59 p6eval std 26990: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/moBO9DOPm9 line 1:␤------> [32m[31m:10<*>[0m␤    expecting any of:␤       noun␤   number␤   number__S_205complex␤       numish␤ prefix or noun␤     statement end␤  statement list␤   value␤
19:59 p6eval ..whitespace␤FAILED 00:04 38m␤»
20:00 [particle]- std: :*<10>
20:00 p6eval std 26990:  ( no output )
20:00 [particle]- ok, well, one edge case discovered.  what does :*<10> mean?
20:01 [particle]- silly me, forgetting we had a parser around here.
20:05 TimToady it means that std is being recompiled at the top of the hour
20:05 TimToady std isn't gonna like anything that starts :*
20:05 [particle]- joy
20:06 [particle]- but, fewer kisses
20:06 viklund masak: html-template is yours right?
20:06 hercynium joined #perl6
20:06 viklund it makes (false) assumptions about where rakudos Test.pm is
20:07 TimToady rakudo: say *:
20:07 p6eval rakudo 63cc77: OUTPUT«Statement not terminated properly at line 2, near ":"␤in Main (src/gen_setting.pm:0)␤»
20:07 viklund I can fix it if you give me a commitbit
20:07 TimToady std: say *:
20:07 p6eval std 26990: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/87DxDd25OE line 1:␤------> [32m[31m[0m␤    expecting null term␤FAILED 00:02 36m␤»
20:07 masak viklund: interesting. that might explain a few strange behaviours I've observed in it.
20:07 masak viklund: it's mine in the sense that it's on my github account.
20:07 TimToady std: say *: 42
20:07 p6eval std 26990: OUTPUT«ok 00:02 36m␤»
20:07 masak viklund: but several people worked on it.
20:07 viklund masak: that's what I meant
20:09 masak viklund: is it fixable? the Test.pm thing, I mean.
20:10 viklund yes, and extremely simply so too
20:10 viklund compare line 48 to 52 in Makefile.PL
20:10 viklund github is slow...
20:11 [particle]- whatever invocant?  means no invocant, i guess.
20:12 masak [particle]-: no, it means a block around the method call.
20:12 masak [particle]-: *.uc translates to { .uc }
20:12 ben_m left #perl6
20:13 [particle]- *: uc translates to { .uc } ?
20:13 masak not that I know of, no.
20:13 jnthn Don't think so.
20:13 [particle]- i'm not interested in *.uc.
20:13 [particle]- im' looking at "*: 42"
20:14 [particle]- std: say *: 42
20:14 jnthn std parses it though. So hmm. :-)
20:14 masak [particle]-: where in that one do you see an invocant?
20:14 p6eval std 26990: OUTPUT«ok 00:02 36m␤»
20:15 [particle]- sorry, it's "say *: 42"
20:15 [particle]- without say, *: is prolly a label
20:15 jnthn is "say *: 42" meant to compile down to the same thing as *.say(42) ?
20:15 jnthn If so, it'll end up making the closure.
20:15 [particle]- i don't have a compiler handly locally
20:15 jnthn rakudo: say (say *: 42).WHAT # not sure Rakudo groks this
20:15 [particle]- jnthn: it parses.  i'm wondering what it's meant to do :)
20:15 p6eval rakudo 63cc77: OUTPUT«Statement not terminated properly at line 2, near ": 42).WHAT"␤in Main (src/gen_setting.pm:0)␤»
20:16 pmichaud rakudo doesn't know the indirect object syntax yet.
20:16 jnthn Is say $*IN: 42 equivalent to $*IN.say(42) ?
20:16 pmichaud (or whatever it's called)
20:16 [particle]- i've been playing with edge cases involving * in an int position
20:16 [particle]- :*<42>
20:17 pmichaud To call an ordinary method with ordinary method-dispatch semantics,
20:17 pmichaud use either the dot notation or indirect object notation:
20:17 pmichaud $obj.doit(1,2,3) doit $obj: 1,2,3
20:17 jnthn OK.
20:17 pmichaud (those last two should be on different lines)
20:17 jnthn so say *: 42 is going to make a closure.
20:17 [particle]- yeah, right, thats why i figured "say *: 42" would be calling .say(42)
20:17 pmichaud does .say() take any arguments...?
20:17 pmichaud I guess it does on filehandles
20:18 jnthn Aye, it may blow up if you pass something inappropriate in when invoking the closure.
20:18 jnthn But that goes for any use of the syntax.
20:18 jnthn rakudo: $*IN.say(42)
20:18 p6eval rakudo 63cc77:  ( no output )
20:19 jnthn huh?
20:19 jnthn oh
20:19 jnthn rakudo: $*OUT.say(42)
20:19 p6eval rakudo 63cc77: OUTPUT«42␤»
20:19 jnthn duh. :-)
20:19 sjohnson Q:  will Perl 6 have a isint method / function that tests whether a string or integer is an integer? ie, "200", 200 => pass, "2004y" => fail
20:19 pmichaud sjohnson:     $foo ~~ <STD::integer>    # probably
20:20 pmichaud er
20:20 pmichaud sjohnson:     $foo ~~ /<STD::integer>/    # probably
20:20 pmichaud might need anchors there.
20:20 sjohnson it would be very nice for sure
20:20 sjohnson instead of always writing /^\s*\d+\s*$/
20:20 pmichaud rakudo:  say ?("123" ~~ /^<Perl6::Grammar::integer>$/)
20:21 p6eval rakudo 63cc77: OUTPUT«1␤»
20:21 pmichaud rakudo:  say ?("123y" ~~ /^<Perl6::Grammar::integer>$/)
20:21 p6eval rakudo 63cc77: OUTPUT«0␤»
20:21 pmichaud ....but note:
20:21 pmichaud rakudo:  say ?("0x1fd" ~~ /^<Perl6::Grammar::integer>$/)
20:22 p6eval rakudo 63cc77: OUTPUT«1␤»
20:22 sjohnson that is great
20:22 pmichaud rakudo:  say ?("12_34_56" ~~ /^<Perl6::Grammar::integer>$/)
20:22 masak Perl 6 is great.
20:22 p6eval rakudo 63cc77: OUTPUT«1␤»
20:22 sjohnson though, it is a bit wordy
20:22 masak I didn't know that worked already.
20:22 sjohnson but i suppose i could write it on a cheatsheet text file
20:22 masak sjohnson: you could always rebind that rule.
20:23 pmichaud well, <STD::integer>  is a bit less wordy
20:23 pmichaud rakudo: my &intrx := &Perl6::Grammar::integer;   say ?("0x1fd" ~~ /^<intrx>$/);
20:23 p6eval rakudo 63cc77: OUTPUT«Unable to find regex 'intrx'␤Null PMC access in invoke()␤in regex PGE::Grammar::_block51 (/tmp/K3lEhRkiwE:1)␤called from Main (/tmp/K3lEhRkiwE:2)␤»
20:24 pmichaud hmmmm.
20:24 pmichaud rakudo: my &intrx := &Perl6::Grammar::integer;   say ?("0x1fd" ~~ &intrx);
20:24 p6eval rakudo 63cc77: OUTPUT«1␤»
20:24 masak rakudo: token I { ^ <Perl6::Grammar::integer> $ }; say ?("12_34_56" ~~ /<I>/)
20:24 p6eval rakudo 63cc77: OUTPUT«1␤»
20:24 pmichaud that works :-)
20:25 pmichaud rakudo: token I { ^ <Perl6::Grammar::integer> $ };   say ?("12_34_56" ~~ &I);   # checking
20:25 p6eval rakudo 63cc77: OUTPUT«1␤»
20:25 pmichaud sjohnson: anyway, answer to your question is "yes, one can get at the grammar's rules"
20:25 pmichaud sjohnson: the other answer is that one could always do something like      use CommonRegexes;    to import some well-known regexes
20:26 pmichaud and then CommonRegexes becomes a CPAN module or something like that.
20:33 jnthn +3 tests in a week? Ouch!
20:42 mkfort joined #perl6
20:42 pmichaud we mostly worked on refactors and speed improvements
20:42 pmichaud so yes, we only pass three more tests, but we pass the quite about twice-as-fast as we did a week ago :-)
20:43 pmichaud s/quite/suite/
20:43 cmarcelo joined #perl6
20:43 pugs_svn r26991 | jnthn++ | [t/spec] Correct a test that was confused over .+/.* and callsame's interaction, and unfudge it.
20:43 jnthn pmichaud: Yes, I know. It just feels unusual. :-)
20:43 jnthn Well, there's two more. :-)
20:44 masak (twice-as-fast)++
20:44 * Muixirt is back (gone 05:19:43)
20:45 masak Muixirt: you might want to turn off those automatic away/back messages.
20:45 [particle]- ...before masak turns them off for you...
20:45 masak Muixirt: on MSN, they're ok. on IRC, they can be considered noise.
20:45 Muixirt masak, ok
20:45 pmurias joined #perl6
20:49 eternaleye joined #perl6
20:51 masak when should one use 'submethod' versus 'my method'?
20:52 pmichaud iiuc, submethods are still public, they just aren't inherited.
20:52 pmichaud 'my' methods are private
20:52 masak pmichaud: right.
20:52 viklund and inherited?
20:53 pmichaud well, 'my' methods are available to trusted callers -- I'm not sure how it plays with inheritance.
20:56 TimToady my/our is orthogonal, only determines where a sub alias is installed
20:56 masak heh, I just got the idea to make a forwards-compatible qq-interpolating sub, one that understands things like "%hash<key><key>('param')". it could even turn into a no-op automatically once Rakudo gets real variable interpolation, by checking in the beginning if it works.
20:56 cj joined #perl6
20:56 masak maybe a job for a small exporting module...
20:57 dalek rakudo: fc01cda | jnthn++ | tools/benchmark.pl:
20:57 dalek rakudo: Add postfix:<++> test to the set of benchmarks.
20:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/fc01cdaea0ad648a5390bcedf78ce02f9930b5a6
20:58 sjohnson pmichaud: common regexes sounds exactly like something i am looking for
20:58 sjohnson many thanks
20:58 masak sjohnson: it's a CPAN module for Perl 5, too.
20:58 [particle]- but we don't spell it the perl 5 way
21:00 sjohnson use Shortcuts::RegexForPresident;
21:01 masak use More::Acme::ToThePeople;
21:03 mberends Temporal.pm does not hang the Stage 1 compiler any more, and ./perl6 passes all 14 current Temporal tests :)
21:03 masak did we ever arrive at a future-compatible way to use 'index' for checking whether $a has $b as a substring?
21:03 sjohnson has anyone talked to the Pugs creator here?
21:03 masak sjohnson: you mean, recently?
21:04 [particle]- audreyt?
21:04 [particle]- not for a few months
21:04 sjohnson at all
21:05 masak sjohnson: in that case, yes.
21:05 sjohnson she sounds very intelligent
21:05 sjohnson she is my age
21:05 masak she's a very sympathetic programmer.
21:05 sjohnson please elaborate
21:05 masak sjohnson: well, she started the Pugs effort, for one thing.
21:05 masak sjohnson: and people sort of just fell in behind her and started helping.
21:06 masak sjohnson: and it wasn't just because there was a vacuum for that kind of thing.
21:06 jnthn mberends: Ooh, nice! :-)
21:06 viklund any++
21:06 sjohnson yeah i was pretty impressed reading her wikipedia page
21:06 viklund perl6 is very nice ;)
21:06 [particle]1 joined #perl6
21:06 viklund any(map {"$_/prove" }, %*ENV<PATH>.split(":")) ~~ :e
21:07 masak sjohnson: the way she approached people really contributed to making 2005-2006 the Golden Age of this channel.
21:07 masak sjohnson: oh, and she writes frighteningly smart code, too.
21:07 masak viklund: nice!
21:08 masak viklund: and, coincidentally, just what I needed for my patch. :)
21:08 sjohnson she must like perl too :)
21:08 viklund for what? ;)
21:08 masak viklund: I'm implementing the last sentence of PIONEER.
21:08 viklund ahh
21:09 masak which also means mucking around in %*ENV.
21:10 pugs_svn r26992 | jnthn++ | Correct and fudge defer next. Plan to expand it plenty also, we should test the non-multi derefal too.
21:12 masak viklund: if not all(map { "{%!config-info{'Proto projects directory'}}/$_/lib" }, @projects) eq any(%*ENV<PERL6LIB>.split(':')) { ... }
21:13 viklund fantastic
21:13 sjohnson $_ should be known as the "get 'er done" variable
21:14 viklund masak: the pumpkin is yours
21:14 masak viklund: grazie.
21:15 viklund but I did my work in the bleeding branch
21:15 viklund haven't cherry-pick'd it back to master
21:16 masak viklund: what were you doing with the pumpkin so long, then? :P
21:16 viklund ...
21:16 masak viklund: it even says "master", right there on the side.
21:17 viklund ???
21:18 masak viklund: hm, what should I say to make you spout the third kind...? I need to make you irritated somehow. :)
21:18 viklund !!!
21:18 masak there we have it.
21:19 masak anyway, thanks for the pumpkin.
21:19 masak I'll use it in a bit, and then head to bed.
21:24 cj_ joined #perl6
21:30 viklund no, I think now is the time to read a Tintin comic book and then sleep
21:30 viklund good night all
21:30 masak viklund: 'night.
21:36 unitxt left #perl6
21:37 Limbic_Region joined #perl6
21:39 pugs_svn r26993 | jnthn++ | Rename defer_call.t to defer-call.t, correct a mistake and fudge it for Rakudo.
21:42 justatheory joined #perl6
21:50 Whiteknight joined #perl6
22:06 Whiteknight how do I update rakudo with git?
22:06 DanielC git pull
22:06 Whiteknight I tried a git pull, but it says it doesn't know what branch to pull from
22:07 justatheory joined #perl6
22:07 DanielC dunno
22:07 Whiteknight yeah, I can't seem to figure out the correct incantation to do this
22:08 unitxt joined #perl6
22:19 dalek rakudo: 50f15ae | pmichaud++ | src/parser/ (2 files):
22:19 dalek rakudo: Clean up handling of self-accessors and parameters.  Fixes RT #61988.
22:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/50f15ae96c37ccfa42beee5effbadca0aaa0f715
22:19 dalek rakudo: c907d37 | pmichaud++ | :
22:19 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
22:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c907d37ddd8007006f5570f237f07875d43d5b8b
22:37 hudnix joined #perl6
22:37 Patterner joined #perl6
22:37 avar joined #perl6
22:39 hercynium joined #perl6
22:49 hanekomu joined #perl6
22:52 decasm left #perl6
22:52 pugs_svn r26994 | mberends++ | [Temporal.t] all 15 tests pass with r39308
22:53 jnthn mberends: Has that gotten into Rakudo now?
22:54 mberends jnthn: pasting revised Temporal.pm now...
22:55 jnthn mberends: OK. I'm a bit tired now and need sleep soon - shaking off a cold virus still. :-/
22:55 jnthn But I can get it in tomorrow.
22:55 mberends jnthn: get better!
22:55 jnthn mberends: Well, I'm working on it.
22:55 pasteling "mberends" at 83.161.42.49 pasted "revised Temporal.pm" (190 lines, 6.2K) at http://sial.org/pbot/36997
22:55 jnthn I'm better now than at the weekend. :-)
22:56 jnthn But still not 100% again yet.
22:56 mberends good night!
23:09 snarkyboojum joined #perl6
23:16 sri_kraih joined #perl6
23:20 synthEEEE joined #perl6
23:20 donaldh joined #perl6
23:31 cj_ joined #perl6
23:35 jferrero joined #perl6
23:38 synth joined #perl6
23:52 sri_kraih joined #perl6
23:54 skids joined #perl6
23:58 synthEEEE joined #perl6

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

Perl 6 | Reference Documentation | Rakudo