Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-05-19

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:00 agentz1 joined #perl6
00:03 cj anything new here?
00:03 ari joined #perl6
00:03 ari @bot
00:03 rahaskella joined #perl6
00:04 geezusfreeek @bot
00:04 rahaskella :)
00:04 geezusfreeek left #perl6
00:07 luqui @tell clkao mncharity asks: How goes Data::Bind?  I'm looking for something to implement Signature/Capture binding for subs in elf.  Thoughts?
00:07 rahaskella Consider it noted.
00:07 pugs_svnbot r20453 | putter++ | [elf] main -> Main.  Other elf_d compatibility artifacts also removed.
00:08 mncharity :)
00:08 mncharity luqui++
00:16 bsb joined #perl6
00:19 aindilis joined #perl6
00:32 mncharity Hmm.  Looks like STD.pm doesn't accept 'sub *f(){}'.  eh,,,
00:59 lisppaste3 joined #perl6
01:08 do_aki joined #perl6
01:17 pugs_svnbot r20454 | putter++ | [elf] Param slurpiness is no longer ignored.  \\ in strings works better.  say() moved to PrimitivesP5.pm.
05:53 mncharity say() should perhaps be reimplemented in p6 and placed in Prelude.pm, with whatever, more minimal, primitives are needed left in PrimitivesP5.pm and EmitSimpleP5.pm.
05:53 Ched- joined #perl6
05:53 * mncharity wonders what to do next...
05:53 vixey hi mncharity
05:53 mncharity hi vixey :)
05:53 mncharity how goes
05:53 mncharity ?
05:53 mncharity been pondering backends lately.  javascript and as3 and CommonLisp or scheme, oh my.  basically to help keep the bootstrap honest, and push things towards p6 and away from language-specific runtimes.
05:53 pugs_svnbot r20455 | putter++ | [elf] Improved parsing of closures.  Pair IR from AST improved, but it's a kludge.
05:53 pugs_svnbot r20455 | putter++ | [STD_red] list infix ops with no right arg, now parse more correctly - the op is no longer ignored.  eg, \(2:) != \(2).
05:53 mncharity pmurias: ^^^ we should now have closure literals.  or some approximation thereof.  just let me know if you hit difficulties.
05:53 mncharity any other requests? ;)
05:53 mncharity so much of the prelude should be multi subs... but need a brief on Data::Bind to know how to proceed there... or look at the code...
05:53 mncharity could start an autobox hack which differentiates strings from numbers...
05:53 vixey mncharity: I'm not sure what to do eiter
05:53 mncharity email off to chocolate.boy (of autobox) offering patch.  autobox appear to be under very active development, so it would save a fork and the effort to maintain.
05:53 Lorn joined #perl6
05:53 mncharity vixey: elf_f_faster is so fast, with little overhead, that I'm tempted by having run-tests or some other tool, when a test file is a parse or runtime error, try commenting out top level statements to see if it can get other parts of the file to run.  thus getting access to more tests.
05:53 mncharity re backends... so far the elf_f implementation requires relatively little of its backend.  anything with real scoping (not python, js) should be easy.  even faking scoping should be straight forward.  so the question is... what would be a "nifty" hack.
05:53 Auzon mncharity: Is elf_f_faster fast enough to wrap for evalbot? I'd be willing to give some tuits to looking into that.
05:53 mncharity js/spidermonkey is getting faster than it was, so could be a "real" backend.  flash/as3 too.  bigloo scheme has a nice regex-like parsing story, making it an attractive "implement bigloo on p6" target, and thus it might be nice to do a backend first.
05:53 mncharity elf_f_faster runs the entire t/ in <10 min.
05:53 mncharity sub-second startup.
05:53 mncharity it would be neat to have an evalbot :)
05:53 mncharity there's currently no knowledge of safe-ness.
05:53 Auzon What unsafe operations are there?
05:53 mncharity even elf_f only has a ~1.5 sec startup overhead when on 5.10 (3 s on 5.8.8).
05:53 mncharity eval_perl5 :)
05:53 * Auzon takes a look into elf's code
05:53 mncharity hmm.  I wonder it could just be put in a box, rather than trying to encode safety.  there's little io support now, but that could change rsn, and it would be nice not to have to worry or deal.
05:53 Auzon Without knowing the infrastructure for evalbot or elf, would you be opposed to a command line switch for safemode?
05:53 mncharity no worried about a switch, but question is impact of trying to support it.
05:53 mncharity does p5 have a "be safe" argument?  then the only issue would be making sure elf itself still works with that arg set.
05:53 lisppaste3 joined #perl6
05:53 Auzon there's Safe.pm
05:53 Eevee I don't think so, you have to use Safe;
05:53 * mncharity looks...
05:53 Auzon http://search.cpan.org/~rgarcia/Safe-2.16/Safe.pm
05:53 * mncharity tries wrapping elf_f in a Safe...
05:53 diakopter moritz_: irclog is asleep
05:53 * mncharity tries to work around Safe not liking 'use strict;' because that involves a require()...
05:53 mncharity hmm... XSLoader needs -f and seems likely to then do something with files... so maybe wrapping all of elf in Safe is the wrong approach.  maybe just Safe the eval... hmm, but that's not how Safe works.
05:53 mncharity I suspect I'm losing here, but let's see...
05:53 mncharity with $compartment->permit('require','caller','entereval',':filesys_read','tied');  there are no more operator mask trap messages, but "Attempt to reload DynaLoader.pm aborted.", and require XSLoader.pm fails (along with other things).  hmm...
05:53 mncharity the :filesys_read is potentially non-minimal, but the others were each needed.
05:53 mncharity basically I just put "use Safe; my $compartment = new Safe; $compartment->permit('require','caller','entereval',':filesys_read','tied'); $compartment->reval(<<'END_FILE'); die $@ if $@;" at the top of elf_f, and END_FILE at the bottom.
05:53 mncharity s/basically//
05:53 mncharity http://search.cpan.org/~rgarcia/perl-5.10.0/ext/Opcode/Opcode.pm#Predefined_Opcode_Tags
05:53 mncharity oh, ->deny_only() still fails with "Can't load module IO, dynamic loading not available in this perl.", so it seems Safe can't reval elf, regardless of opcode restrictions.  :/
05:53 Auzon Have you tried just the eval routine in elf?
05:53 mncharity curious.
05:53 mncharity you mean wrap the elf code in a bare eval rather than Safe's reval?  hmm...
05:53 Auzon No, I meant the eval call in elf. Wrap _that_ in reval or similar
05:53 mncharity oh, well, the bare eval() works.
05:53 mncharity re wrapping that, it seems Safe is a compile time restriction on specific bits of code, combined with limiting it's access to the rest of the program.  so my fuzzy understanding is
05:53 mncharity one would have to tell Safe about... just about everything... at which point things most likely wouldn't be safe anymore.
05:53 mncharity s/about/permit access to/
05:53 mncharity ie, it doesn't seem to be taint like.  more, lets assure that a bit of code doesn't use particular opcodes.  but says nothing about what is done by other code which that bit calls.
05:53 mncharity so I think were back to having an external box, or trying to teach elf internals to care about safety.
05:53 mncharity unless... is taint enough for this?
05:53 Auzon Nope.
05:53 Auzon I don't think so at least
05:53 mncharity :(
05:53 Auzon Cause they can untaint in the eval. Or mess with stuff in pure Perl
05:53 mncharity ah, ok
05:53 mncharity the safe/unsafe tagging in pugs long bugged me... :/
05:53 mncharity does safe buy anything but a box-less evalbot?
05:53 Auzon The only thing I can think of is evalbot-style things. e.g. elf in your browser.
05:53 mncharity here in the future, feather is running virtual machines, so an evalbot could conceivably have its own.  or only be able to mess with other evalbots.  or something.
05:53 mncharity re browser, oh interesting... hmm... not sure we really want to care at this point.
05:53 Auzon Yeah. It's cool, but requires tuits :)
05:53 mncharity indeed
05:53 mncharity how restricted are the feather vm's?  ie, could a black evalbot spam the world?  or only break itself?  or...?
05:53 Auzon I imagine it could spam the world, but I'm not certain how much we need to worry about
05:53 Auzon IRC messages are only something like 256 characters maximum
05:53 Auzon 510.
05:53 luqui that's racist
05:53 mncharity ?
05:53 mncharity oh, s/black/black hat/
05:53 luqui :-)
05:53 diakopter oh, I thought it was black [box] evalbot
05:53 mncharity rakudo: system("ls")
05:53 exp_evalbot OUTPUT[Could not invoke non-existent sub system␤current instr.: '_block11' pc 25 (EVAL_9:15)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 785 (src/PCT/HLLCompiler.pir:458)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1067 (src/PCT/HLLCompiler.pir:587)␤called from Sub
05:53 exp_evalbot ..'parrot;PCT::HLLCompiler;command_line' pc 1246 (src/PCT/HLLCompi...
05:53 mncharity re box, :)
05:53 mncharity hmm, both interpretations work.
05:53 diakopter hatbox
05:53 mncharity if we were off STD_red, and elf was all just a p5 file, then I'd wonder if an evalbot was a priority, running it yourself being so easy.  but for the moment... it could be nice.
05:53 * mncharity wonders if someone has an evalbot.com, where you get a jail vm which can only do text io with the world.
05:53 Auzon An interesting idea...
05:53 Auzon hm. My which(1) seems to be wrong.
05:53 mncharity so... closure... an elf evalbot would be neat.  near term, it seems any security would have to be external to elf, eg from a restricted feather vm.  or non-feather vm, if someone has a real or emulated machine they would be happy running it on.
05:53 Auzon I'm interested in this, so I'll continue to investigate. Do you know where evalbot's code is or who maintains it?
05:53 mncharity My fuzzy recollection is the SLAVES file mentions...
05:53 Auzon oh, I'll just check SLAVES
05:53 mncharity diakopter.  and moritz? (i'm not sure what exp_evalbot is)
05:53 Auzon pugs: say "hi"
05:53 exp_evalbot OUTPUT[hi␤]
05:53 Auzon Looks like exp_evalbot is the one we want.
05:53 Auzon And I've never seen anything from just an "evalbot" in my logs
05:53 mncharity yes, and moritz, and ... others... looking at svn log for misc/evalbot/ ... but the svn server seems to have just become unhappy.
05:53 mncharity back... and rhr.
05:53 snooper joined #perl6
05:53 Auzon rhr?
05:53 Auzon Looks like we want pugs/misc/evalbot, not pugs/examples/network/evalbot
05:53 mncharity re rhr, dunno, let's see...  Ryan "rhr" Richter  (from AUTHORS)
05:53 mncharity and here. :)
05:53 Alias_ joined #perl6
05:53 Auzon mncharity: What all ways does elf have of executing Perl 5 code?
05:53 mncharity hmm...
05:53 mncharity it is p5; eval in p5; eval_perl5 in p6; indirectly through p6 eval(); sub f() is p5{'this is p5'}; ...
05:53 mncharity the parser response is eval()ed, so if it were broken for some reason...
05:53 * mncharity grep eval ../elf_f
05:53 Auzon Well, I meant from code running under elf
05:53 Auzon I'll check it out when I get ruby 1.9.0 compiled
05:53 mncharity broken code emitting giving "not what you expected" p5
05:53 Auzon Well, thanks for your help mncharity++
05:53 mncharity regex's currently get eval()ed...
05:53 mncharity so very np.  glad to help.  thanks for working on it. :)
05:53 * mncharity talks on #moose@somewhere with clkao about Data::Bind et al...
05:53 mncharity moose irc.perl.org
05:53 Psyche^ joined #perl6
05:53 mncharity end of day for me.  good night all &
05:53 armagad joined #perl6
05:53 armagad left #perl6
05:53 smtms joined #perl6
05:53 Southen joined #perl6
05:53 schmalbe joined #perl6
05:53 ilbot2 joined #perl6
05:53 Topic for #perl6is now http://pugscode.org/ | nopaste: http://sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: http://irc.pugscode.org/
06:03 meppl joined #perl6
06:11 Auzon moritz_: ping re exp_evalbot and elf
06:26 smtms joined #perl6
06:33 mediogre joined #perl6
06:38 Alias_ joined #perl6
06:45 moritz_ Auzon: pong
06:45 Auzon Hi moritz_
06:45 Auzon You maintain exp_evalbot, right?
06:45 moritz_ right
06:46 Auzon Are you interested in adding another language to it? I think I have a patch for enabling elf's faster variant
06:46 Auzon I'm currently seeing if elf can be made safe enough without making it too ugly
06:47 moritz_ Auzon: I'm interested, but I've not yet set up ruby 1.9 on the server
06:48 moritz_ Auzon: it's Debian stable, which doesn't have a sufficiently recent version
06:48 moritz_ Auzon: but go right ahead and patch it, then I'll feel more motivated to get things done
06:48 Auzon moritz_:  I'm thinking about requesting a feather login so I don't have to fight with Pugs locally. I could compile it for you if you'd like
06:49 Auzon it being ruby 1.9
06:51 moritz_ Auzon: you can request a feather login, and/or I can give you access to the server that currently runs evalbot
06:52 Auzon Oh. I thought evalbot ran on feather.
06:52 moritz_ exp_evalbot doesn't
06:53 Auzon Alright. Well, let me know if you want me to take a look at getting ruby on your server this week after I commit my patches to SVN.
06:57 Auzon pugs: map {"$_ $_"} <one two>
06:57 exp_evalbot OUTPUT[*** ␤    Unexpected end of input␤    at /tmp/6iD2rTsLla line 2, column 1␤]
06:57 Auzon pugs: map {"$_ $_"} <one two>;
06:57 exp_evalbot OUTPUT[*** ␤    Unexpected end of input␤    at /tmp/yuBaTMzZTY line 1, column 25␤]
06:57 Auzon pugs: say map {"$_ $_"} <one two>;
06:57 exp_evalbot OUTPUT[*** ␤    Unexpected end of input␤    at /tmp/SxM3Yz7uCs line 1, column 29␤]
06:57 moritz_ pugs: say map {"$_ $_"}, <one two>
06:57 exp_evalbot OUTPUT[one onetwo two␤]
06:57 Auzon oh
06:58 moritz_ Auzon: Perl 6 needs a comma after the block
06:58 moritz_ because it usually discourages two terms in a row
06:58 Auzon Makes sense.
06:59 Eevee rakudo: say map { $_ + 1 }, <1 2>
06:59 exp_evalbot OUTPUT[Could not invoke non-existent sub map␤current instr.: '_block11' pc 47 (EVAL_11:19)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 785 (src/PCT/HLLCompiler.pir:458)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1067 (src/PCT/HLLCompiler.pir:587)␤called from Sub
06:59 exp_evalbot ..'parrot;PCT::HLLCompiler;command_line' pc 1246 (src/PCT/HLLCompile...
06:59 Eevee rakudo: say <1 2>.map({ $_ + 1 })
06:59 exp_evalbot OUTPUT[Method 'map' not found for invocant of class 'List'␤current instr.: '_block11' pc 50 (EVAL_11:19)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 785 (src/PCT/HLLCompiler.pir:458)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1067 (src/PCT/HLLCompiler.pir:587)␤called from Sub
06:59 exp_evalbot ..'parrot;PCT::HLLCompiler;command_line' pc 1246 (src/...
06:59 Eevee :(
06:59 Eevee rakudo: say <1 2 3>.reduce({ $^a + $^b })
06:59 exp_evalbot OUTPUT[6␤]
07:05 Auzon no wonder. elf doesn't seem to support map yet. :-/
07:07 Eevee we need a table of what supports what
07:07 Auzon The test cases are somewhat like that
07:07 Auzon At least, the nice HTML smoke reports
07:09 Eevee ah, forgot about those
07:12 Auzon Hm. I need some sleep. night all &
07:13 Eevee night
07:13 moritz_ good night
07:19 iblechbot joined #perl6
07:41 avar joined #perl6
07:49 kst joined #perl6
07:54 IllvilJa joined #perl6
08:20 elmex joined #perl6
08:28 timbunce joined #perl6
08:41 Juerd moritz_: Do you want root access on feather2? feather2 is meant for evalbots.
08:41 Juerd If you're comfortable with hosting it yourself, nevermind :)
08:46 moritz_ Juerd: currently I'm comfortable. If that should change I'll contact you
08:48 Juerd ok!
08:54 timbunce joined #perl6
08:54 Patterner joined #perl6
08:54 thepler joined #perl6
09:00 bbkr_ joined #perl6
09:04 Lorn joined #perl6
09:12 timbunce joined #perl6
09:12 Patterner joined #perl6
09:12 thepler joined #perl6
09:21 syle2 joined #perl6
09:22 syle2 what kewl data structures we got in perl6? perl dominated with hashes originally, whats next?
09:24 Patterner bytecode as hash-key. it's OOP 2.0.
09:24 moritz_ objects
09:24 moritz_ roles
09:24 moritz_ grammars
09:24 Patterner taitors
09:24 moritz_ junctions
09:33 ruoso joined #perl6
09:35 meppl joined #perl6
09:45 FurnaceBoy joined #perl6
09:54 ruoso joined #perl6
09:54 Patterner joined #perl6
09:54 thepler joined #perl6
09:58 ruoso joined #perl6
09:58 Patterner joined #perl6
09:58 thepler joined #perl6
10:16 ruoso joined #perl6
10:16 Patterner joined #perl6
10:16 thepler joined #perl6
10:41 Juerd syle2: Pairs.
10:41 Juerd syle2: Pairs really are used quite a lot in Perl 6. More than hashes I think, even if you discount those that are used to build hashes.
11:43 prefiks joined #perl6
11:43 prefiks left #perl6
12:34 mj41 joined #perl6
12:53 cmarcelo joined #perl6
12:58 ari left #perl6
13:00 jhorwitz joined #perl6
13:00 cmarcelo joined #perl6
13:02 iblechbot_ joined #perl6
13:09 pmurias joined #perl6
13:11 pmurias Auzon: kp6 is in the evalbot and it's safety mode dosn't work
13:31 TJCRI joined #perl6
13:40 pmurias Juerd: what's that important about pairs?
13:42 Juerd pmurias: Pair syntax is used for passing arguments by name, for base-N integers, for aliasing in signatures, and probably even more.
13:42 Juerd It's a very simple concept, but very flexible and broadly applicable.
13:43 Juerd To me, pairs are certainly the hot new datastructure for Perl 6, not because the structure itself is so very useful, but because its syntax is nice and used in many ways that feel intuitive.
13:43 pmurias i see
13:44 Juerd Junctions are a neat idea too of course, but most of the times your junction will the the .value of a pair ;)
13:44 Juerd Maybe I'm wrong :)
13:44 drbean_ /sb start
13:44 drbean_ /sb begin
13:45 Juerd drbean_: No space in front.
13:45 drbean_ /sb home
13:45 drbean_ /sb home
13:45 Juerd Now without the whitespace
13:45 Juerd You can do it!
13:46 drbean_ I did it!
13:52 alester joined #perl6
13:53 Juerd drbean_: Good for you. Here's a cookie.
13:59 sscaffidi joined #perl6
14:01 Psyche^ joined #perl6
14:02 ting joined #perl6
14:03 agentzh joined #perl6
14:23 sail0r joined #perl6
15:10 bbkr_ am i right that "has 'foo' => ('isa' => 'Some::Package, 'default' => sub {return Some::Package->new()})" can be replaced by shorter "has 'foo' => ('isa' => 'Some::Package, 'builder' => 'new')" ?
15:10 bbkr_ even if Some::Package is not MOP class?
15:11 bbkr_ wrong... should be #moose :)
15:11 moritz_ thought so ;)
15:13 sail0r joined #perl6
15:16 lesner2 joined #perl6
15:22 ting_ joined #perl6
15:30 moritz_ I think we should have a method of a flagging files in spectest as "rakudo should already pass these"
15:31 moritz_ so that we can have a spectest with only those that should pass atm
15:31 moritz_ and another target with all of spectest
15:31 moritz_ simply fudging everything that 'make spectest' succeeds is too hard a task
15:32 Auzon pmurias: re no security on KP6, what dangerous things can it do? elf can do a bit of file IO and also eval some P5 code.
15:32 [particle1 moritz_: how about a patch to rakudo's makefile, or t/harness?
15:33 moritz_ [particle]: I first wanted to hear if you (and other rakudo hackers) like the idea
15:33 [particle] sure, if it helps potential hackers
15:33 [particle] it's just a matter of maintenance
15:36 moritz_ any idea what the make target should be called?
15:39 pmurias Auzon: it can use perl5 modules, file io at least, likely evaling p5 code
15:40 moritz_ actually I decided to take the risk because it's not that easy to figure out
15:40 moritz_ and kp6 has at least some basic security measures
15:41 moritz_ and evalbot runs in a changeroot as an unprivileged user on an unimportant server ;)
15:41 [particle] moritz_: spectest_regression, maybe??
15:42 moritz_ [particle]: sounds good
15:45 pmurias moritz_: puting in in a vm might be a better choice then trusting in obscurity
15:46 moritz_ pmurias: you're right of course, that's what feather does.
15:48 chris2 joined #perl6
15:52 Juerd feather has a separate VM for eval thingies
15:52 Auzon out &
16:01 justatheory joined #perl6
16:02 sail0r joined #perl6
16:16 sail0r is pugs still actively worked on?
16:17 Tene No.
16:17 sail0r is it due to a lack of haskell programmers interested in working on it?
16:17 Tene Mostly.
16:18 [particle] pugs devel is blocking on a new object model
16:18 [particle] a patch for which was half (or more) crafted by audreyt, when Real Life got in her way
16:19 [particle] the patch hasn't been finished and applied, and pugs has not progressed
16:22 alanhaggai joined #perl6
16:27 markgreene joined #perl6
16:52 kanru joined #perl6
16:54 sail0r joined #perl6
16:56 meppl joined #perl6
17:05 eternaleye joined #perl6
17:32 cjfields joined #perl6
17:39 alanhaggai_ joined #perl6
17:50 tobeya joined #perl6
18:06 lambdabot joined #perl6
18:09 TJCRI joined #perl6
18:10 Limbic_Region joined #perl6
18:14 ari joined #perl6
18:14 ari @bot
18:14 rahaskella :)
18:14 lambdabot :)
18:14 ari rahaskella: @part #perl6
18:14 rahaskella left #perl6
18:14 ari left #perl6
18:54 Ched joined #perl6
18:54 Chillance joined #perl6
18:55 Chillance joined #perl6
19:23 ludan joined #perl6
19:26 ludan left #perl6
19:33 cjfields joined #perl6
19:39 cj so... I want to fiddle a bit with the kp6 compiler
19:39 cj does mp6 handle inheritence yet?
19:39 cj ance?
19:39 cj I can never remember...
19:39 Auzon My spellchecker says inheritance, FWIW
19:39 cj danke
19:40 cj anyone seen flavio recently?  I know he just moved...
20:00 ruoso joined #perl6
20:15 syle joined #perl6
20:54 alanhaggai__ joined #perl6
21:09 kyrbe joined #perl6
21:10 kyrbe left #perl6
21:15 pmurias cj: re inheritence i'm afraid not
21:16 pmurias kp6 does
21:24 cjfields joined #perl6
21:32 pmurias @tell mncharity to faking lexical scoping in js (function(var) {})(value) can be used
21:32 lambdabot Consider it noted.
21:35 FurnaceBoy joined #perl6
21:59 braceta joined #perl6
22:22 cj pmichaud: that's too bad
22:25 meppl good night
22:38 lambdabot joined #perl6
22:44 Alias_ joined #perl6
23:23 mncharity joined #perl6
23:26 mncharity cj: have you seen elf?
23:28 mncharity hmm, lambdabot is forgetful.
23:28 mncharity pmurias: re lambda, ah, right.  thanks.
23:33 mncharity Auzon: re "elf doesn't seem to support map yet.", only a x.map(sub($e){...}) method form is being used atm.  don't know what else works.
23:35 mncharity chocolateboy++  woot.  autobox-2.50 has landed.  with distinct INTEGER, FLOAT, and STRING mappings now available.
23:36 mncharity one day turnaround! :)
23:54 Auzon mncharity: re map, I figured out that it supported that form after I said that.

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

Perl 6 | Reference Documentation | Rakudo