Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-05-07

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:12 Eidolos joined #perl6
00:21 yewenbin joined #perl6
00:58 Schwern joined #perl6
01:05 mww113 joined #perl6
01:06 mww113 please join #leifswolfbot, we need more players
01:06 mww113 left #perl6
01:09 xerohg lol
01:09 xerohg so cute
01:19 [particle]ventus joined #perl6
01:19 justatheory joined #perl6
01:28 * CMA ha regresado.
01:29 Ched- joined #perl6
01:41 alanhaggai joined #perl6
01:58 alanhaggai_ joined #perl6
02:15 eternaleye joined #perl6
02:34 penk joined #perl6
02:38 luqui joined #perl6
02:48 CMA left #perl6
02:48 alanhaggai joined #perl6
03:01 elmex_ joined #perl6
03:02 pravus joined #perl6
03:23 japhb joined #perl6
04:07 alanhaggai joined #perl6
04:11 alanhaggai_ joined #perl6
04:23 justatheory joined #perl6
04:25 Psyche^ joined #perl6
04:31 Brony joined #perl6
04:31 Brony Hi folks.
04:31 Brony Intelligent financiers here?
04:35 Brony Today I noticed a fairly ugly chump with the most perfectly maintained, expensively dressed trophy you could imagine.
04:39 Brony I was on here just last week with another "top pick" for the financially troubled.
04:39 Brony Those who splurged then are up already a beautiful 10%.
04:39 Auzon What are you going on about?
04:40 Brony Auzon, Where?
04:41 Auzon I just didn't realize that this was #finance-after-dark :P
04:44 Brony I tried to join all the most intelligent channels but is this as good as it gets?
04:45 Auzon Depends on what type of intelligence you want us to have.
04:46 Brony I cashed out some of my investments so that I might enjoy spending my money as much as I do investing it.
04:46 Brony But I can't help but feel the itch, still, to redeploy it.
04:47 Brony I have noticed that most people seem to save and save and never really enjoy their fruit. More, rather, the thought(s) of it.
04:52 Brony Buffett is said to be the wealthiest man in the world. But that is a technicality.
04:53 syle joined #perl6
04:53 lisppaste3 joined #perl6
04:53 Brony In our world, 5% of the people own 90% of the wealth.
04:54 Brony Which means that 95% of the people are livong off 10% of the worldwide wealth.
04:56 Brony I guess it is more satisfying to own stake in exciting businesses than it is to actually consume money.
04:56 Brony One cannot help but think of all the opportunity costs.
04:57 Brony When I was younger I lived lavishly at times and now as an investor I consider all the precious money I flushed away.
05:27 Brony Do you folks enjoy expensive women?
05:28 Brony I can still smell the perfume of the first stripper I had when I was 19.
05:34 eternaleye joined #perl6
05:44 Brony When a gentleman amasses enough wealth, he can own an entire shopping centre, a hugely lucrative venture in most instances.
05:46 Tene I'm really curious about why you're discussing this here.
05:48 Lorn_ joined #perl6
05:50 Brony 201cThe results reinforce the grade and tonnage estimates of this growing asset and the very significant potential of Jacques Lake, the results are similar to those for the Michelin Deposit in its initial exploration stages,201d
05:50 Brony Also worthy of note is that there is no groundwater, metallurgical or rock mechanic issues identified to date at the Jacques Lake Deposit, which is good to know.
06:07 Lorn joined #perl6
06:20 Lorn_ joined #perl6
06:25 Brony Truly, if you look through a cemetery or on plaques commemorating lives well lived,
06:25 Brony you will notice that it is common for wives to live a good 20 years longer than husbands.
06:25 Brony Going by date of birth versus date of death.
06:26 Lunchy joined #perl6
06:26 Brony Women have much less to concern themselves with because they have learned that men are all too eager to take care of it for them.
06:27 Brony But I suggest certain men take after women in many respects.
06:28 Brony Truly, it seems they know how to live this life.
06:48 Lorn joined #perl6
06:57 Brony In my experiences, black women more than any others have the greatest tendency to flat-out seek "sugar daddies."
06:57 Brony It is amusing to me.
06:58 Brony So this *very* well-kept black woman with this awkward, ugly, nerdish white man...
06:58 Lorn_ joined #perl6
06:59 meppl joined #perl6
07:00 iblechbot joined #perl6
07:05 Brony I was wondering how a chump like that, stepping out of his Lexus, managed to get such a HOT, perfectly maintained wife by his side.
07:06 Brony But then I realized she was black and that she was not his wife at all. But rather, using him for his means and his dinners.
07:07 Brony I just love the black woman's love of material and luxury.
07:07 Brony There is nothing they love more than a wealthy whitey.
07:08 Brony left #perl6
07:08 Tene Interesting.
07:08 Auzon Very.
07:09 Auzon Actually, only interesting in that he had no clear motive.
07:51 rindolf joined #perl6
07:52 xerohg left #perl6
07:52 bsb left #perl6
08:00 masak joined #perl6
08:11 Tene The pugscode main page has a 'Download' link to http://rakudo.org/perl6/index.cgi?download_perl_6 which is broken
08:40 pugs_svnbot r20378 | moritz++ | [t/spec] added simple test for positional placeholders
08:40 pugs_svnbot diff: http://dev.pugscode.org/changeset/20378
08:40 lambdabot Title: Changeset 20378 - Pugs - Trac
08:49 pugs_svnbot r20379 | moritz++ | [t/spec] added smartlink to  positional-placeholders.t
08:49 pugs_svnbot diff: http://dev.pugscode.org/changeset/20379
08:49 lambdabot Title: Changeset 20379 - Pugs - Trac
08:55 pugs_svnbot r20380 | tene++ | added simple test for named placeholders
08:55 pugs_svnbot diff: http://dev.pugscode.org/changeset/20380
08:55 lambdabot Title: Changeset 20380 - Pugs - Trac
08:57 syle joined #perl6
08:57 moritz_ Tene: your test is borked
08:57 Tene moritz_: hm?
08:58 moritz_ one_placeholder(2); doesn't set a named arg
08:58 moritz_ :bla(2)
08:58 moritz_ or bla => 2
08:58 Tene Wow.  That's awesome how I completely failed there.
08:58 Tene moritz++
08:59 moritz_ I fixed it
08:59 pugs_svnbot r20381 | moritz++ | [t/spec] named placeholders should be tested with a name ;-)
08:59 pugs_svnbot diff: http://dev.pugscode.org/changeset/20381
08:59 lambdabot Title: Changeset 20381 - Pugs - Trac
08:59 Tene Although, somehow it was still passing anyway on rakudo?
09:00 Tene What happens when you call foo(1) on sub foo (:$a) { ... }
09:01 moritz_ does :$a force named arguments?
09:01 Tene Yes.
09:01 Tene I'll add another test.
09:01 moritz_ if so, I guess that's an error
09:01 Tene rakudo does the same thing with normal named arguments.
09:01 Tene What does the spec say?
09:02 moritz_ Arguments that correspond to named parameters are evaluated in item
09:02 moritz_ context. They can only be passed by name, so it doesn't matter what
09:02 moritz_ order you pass them in:
09:03 moritz_ the "They can only be passed by name" is the crucial point
09:03 moritz_ S06:748
09:04 Tene Huh.  Interesting.
09:04 pugs_svnbot r20382 | tene++ | Add another named placeholder test.
09:04 pugs_svnbot diff: http://dev.pugscode.org/changeset/20382
09:04 lambdabot Title: Changeset 20382 - Pugs - Trac
09:05 muixirt joined #perl6
09:07 meteorjay joined #perl6
10:04 wknight8111 joined #perl6
10:23 chris2 joined #perl6
10:30 SysPete joined #perl6
10:40 iblechbot joined #perl6
10:47 muixirt_ joined #perl6
10:54 bbkr_ joined #perl6
10:55 alanhaggai joined #perl6
10:56 pbuetow joined #perl6
11:05 zakame_ joined #perl6
11:15 masak I like how things are moving forward with Perl 6 right now
11:15 masak it makes me excited!
11:25 moritz_ aye, rakudo is moving ;)
11:33 cosimo joined #perl6
12:00 wknight8111 joined #perl6
12:03 muixirt_ joined #perl6
12:41 masak ok, so what can I do with rakudo today?
12:41 masak is there a summary somewhere? not just small blog posts about new functionality
12:43 masak could I write something semi-large, like a wiki or a chat forum?
12:43 moritz_ not really
12:44 moritz_ there's no CGI module for rakudo atm
12:44 * masak guessed so
12:44 masak but there is one for pugs?
12:44 moritz_ aye
12:44 masak what prevents one from porting it?
12:44 moritz_ dunno
12:44 masak why would it need porting at all? both are p6
12:45 moritz_ just run rakudo over ext/CGI/lib/CGI.pm and see what fails
12:45 moritz_ I see it uses s:P5:g:i/foo/bar/ a lot
12:46 moritz_ I don't think rakudo supports that
12:50 jan joined #perl6
12:54 Tene first thing it dies on is default values for subs
12:54 Tene I could work on that today/tonight.
12:54 moritz_ I think it's not yet worth the trouble
12:54 Tene Eh, should be pretty simple.
12:54 moritz_ I thought you meant working around in CGI.pm code
12:58 masak moritz_: why would being able to use CGI in rakudo not be worth the trouble?
12:59 Tene masak: He meant that trying to modify CGI.pm to run on rakudo wouldn't be worth it, that it would be better to try to modify rakudo to run the current CGI.pm
12:59 Tene I think
12:59 moritz_ yes
12:59 * Tene bbl, class.
12:59 masak ah, ok
12:59 masak yes, sure
12:59 masak that's what I'd like, too
13:02 * masak just found languages/perl6/docs/STATUS in the parrot repo
13:02 masak good summary
13:02 moritz_ is that up-to-date?
13:03 masak dunno
13:03 masak last updated April 17
13:04 wolverian where's the summary of the STATUS status? ;)
13:07 cmarcelo joined #perl6
13:15 Psyche^ joined #perl6
13:21 alanhaggai_ joined #perl6
13:26 TJCRI joined #perl6
13:45 ispy_ joined #perl6
13:46 pmurias joined #perl6
13:51 pmurias masak: you could use (the object oriented interface) of CGI in elf if you were willing to use a (slight) hack
13:53 peepsalot joined #perl6
13:55 masak pmurias: elf?
14:01 moritz_ elf is mncharity (former putter)'s attempt to bootstrapt STD.pm in ruby
14:01 masak ooh
14:01 Tene Or I could pick up Juerd++'s "good web framework" proposal like I've been meaning to do since I read it.
14:02 moritz_ that would be great
14:02 Tene I certainly think it would be.
14:05 [particle] it shouldn't be hard to get rakudo to support rx:P5//, but seems better to update those regexes to perl 6
14:06 masak good exercise in perl 6 regexes, too
14:06 [particle] ja
14:07 moritz_ problem was that pugs didn't support s/// very well with P6 regex
14:09 [particle] yes, right. it's historical.
14:10 [particle] btw we have mod_perl6 now working with rakudo
14:10 pmichaud_ well, rakudo doesn't support s/// yet either :-|
14:11 masak would anyone mind if I translated the 22 s:P5 regexps in CGI.pm to Perl 6 regexps?
14:11 masak should I copy the file and do it somewhere else?
14:11 ting joined #perl6
14:12 moritz_ no, that's what revision control is for ;)
14:12 masak true.
14:12 moritz_ just do it in place, and whoever doesn't like it can revert it
14:12 masak so, main question again: are people likely to revert it? is it a step backward?
14:12 moritz_ no, it's a step forward
14:12 * masak does it, then
14:13 moritz_ as long as pugs isn't maintained, I wouldn't worry about tests that fail with pugs
14:13 masak mm
14:13 moritz_ it's not a very nice attitude, but it's not nice to be blocked on a possibly dead project either
14:13 masak can I run my translation proposals by you guys when I'm unsure? my p6regexpese is a bit rusty
14:14 moritz_ sure
14:14 rdice joined #perl6
14:14 masak \o/
14:14 moritz_ I somewho suspect that most regexe translations in CGI.pm will be fairly mechanical
14:15 masak moritz_: yes, they look easy
14:15 masak but I don't want to accidentally introduce errors because of insufficient understanding
14:17 moritz_ don't worry, as soon as the code runs you can test it
14:17 moritz_ and before it doesn't matter if it's errornous or not
14:17 masak does to me :)
14:18 rawb joined #perl6
14:18 rawb left #perl6
14:21 masak I write s:P5:g/[-_](\w)/-$0.uc()/ as s:g/<[-_]>(\w)/{ -$0.uc() }/
14:21 masak comments? are the {} necessary?
14:22 [particle] i'd change (\w) to <alnum>
14:22 moritz_ the { } are necessary
14:22 masak [particle]: oki
14:22 masak moritz_: thx
14:23 masak [particle]: do I change \d similarly to something?
14:23 [particle] <digit>
14:23 masak ok. why?
14:23 masak longer, means the same thing
14:24 [particle] it's a full word rather than a funny code
14:24 masak point
14:24 moritz_ you can use $<alnum> rather than $0
14:24 masak I'll change
14:24 masak moritz_: huh?
14:24 masak in what way?
14:24 moritz_ named captures
14:25 masak so <alnum> makes named capture?
14:25 moritz_ yes
14:25 [particle] s:g/<[-_]><alnum>/{ -$<alnum>.uc() }/
14:25 masak neat
14:26 smtms joined #perl6
14:31 masak is <[- ... ]> the new [^ ... ] ?
14:32 moritz_ <-[...]> I think
14:32 masak ah
14:33 moritz_ one more step towards out-of-band signalling ;)
14:34 masak it's rx:i//, not rx//i, wight?
14:34 TimToady yes
14:34 masak TimToady: whoa! don't sneak up on me like that...
14:35 moritz_ lol
14:36 masak is & magical in the replacement part of a s///?
14:36 TimToady I'd write that other one as s:g[ <-[ _ ]> <alnum> ] = -$<alnum>.uc
14:36 pmichaud also, \d is faster than <digit>
14:37 masak TimToady: oki, will do
14:37 TimToady & is magical only insofar as you can call a function with it in double quotes
14:37 TimToady if you want a representation of the entire match use $/ or $()
14:37 masak ok
14:37 pmichaud (at least in PGE, \d is faster than <digit>)
14:38 masak $temp_key ~~ s:g[ <-[ _ ]> <alnum> ] = -$<alnum>.uc
14:38 masak correct?
14:38 moritz_ TimToady: the question nobody could answer so far: does '$object.method: $argument' need a space after the colon?
14:38 TimToady I'd use \d when constructing tokens and <digit> when I want the digit to *be* the token, usually :)
14:38 TimToady yes
14:39 moritz_ then the test suite is wrong in several places
14:39 masak \012 is illegal nowadays, yes?
14:39 pmichaud S02 also has       for @x.grep:{ 0 <= $_ < all(@y) } {...}
14:40 masak what about \x8b?
14:40 TimToady yes, \o12 instead
14:40 TimToady \x8b is fine, but it now eats as many hex digits as it can
14:40 masak ah
14:40 TimToady \xbeef
14:40 pmichaud (hex digits are yummy)
14:41 TimToady and if you need to distinguish, use [] insteaqd of {}, as in \x[dead]beef
14:42 masak hm, did ^^ and $$ mean start- and end-of-string nowatimes?
14:42 sscaffidi joined #perl6
14:42 pmichaud ^^   start of line    $$   end of line
14:42 masak right
14:42 TimToady ^ and $ are stringy
14:42 masak so, keep the olf ^ and $ in this case
14:43 TimToady grep:{...} is parsed as grep :{...}
14:43 pugs_svnbot r20383 | moritz++ | [spec] S29-hash/: insert space after obj.meth:
14:43 pugs_svnbot diff: http://dev.pugscode.org/changeset/20383
14:43 lambdabot Title: Changeset 20383 - Pugs - Trac
14:43 pmichaud aha
14:43 pmichaud so there is a special :{...} form still
14:44 pmichaud I couldn't find it.
14:44 TimToady it's just a strange adverb
14:44 TimToady we have :() for sigs too
14:44 TimToady and infix:<+> is kinda the same
14:44 pmichaud is :{...} in the synopses anywhere ?
14:44 moritz_ t/spec/S17-coro/* seems to be all wrong
14:45 moritz_ yield() is gone, right?
14:45 TimToady sure, right there is S02 :P
14:45 moritz_ and replaced by gather/take
14:45 TimToady yield was never in officially
14:45 TimToady neither was coro
14:45 moritz_ ok, then I'll delete the tests
14:45 pugs_svnbot r20384 | masak++ | [CGI.pm] converted P5 regexps to Perl 6 ones
14:45 pugs_svnbot diff: http://dev.pugscode.org/changeset/20384
14:45 lambdabot Title: Changeset 20384 - Pugs - Trac
14:45 pmichaud ah, okay
14:46 pmichaud found :{...}  (adverbial block)
14:46 pmichaud I wonder why my 'ack' line didn't find it.
14:46 masak is there a way to build coro/yield in p6?
14:46 moritz_ masak: with gather { ...  take }
14:46 masak ah, nice
14:46 masak gather/take is powerful
14:46 TimToady the nice thing about gather is that you get to specify the scope separately from the function interface
14:47 masak what does that mean?
14:47 pugs_svnbot r20385 | moritz++ | [spec] there's no coro { ...  yield; } (superseeded by gather/take)
14:47 pugs_svnbot diff: http://dev.pugscode.org/changeset/20385
14:47 lambdabot Title: Changeset 20385 - Pugs - Trac
14:47 TimToady since take is dynamically scoped
14:47 TimToady the take doesn't have to be inside the gather lexically
14:48 moritz_ so is it an error to call take() without a gather?
14:48 masak no, I know that part. but the part about 'scope separate from function interface'
14:48 TimToady it's an error if there's no gather in your outer dynamic scope
14:48 moritz_ TimToady: ok
14:49 TimToady you can do nested gather/takes inside a single function, for instance
14:49 TimToady or you can do a gather which calls out to service functions to calculate what to take next
14:50 TimToady it's also explicit documentation that a lazy list is expected at the point of the gather
14:50 TimToady rather than having to guess whether foo() is going to return a complete value or a partial value
14:51 TimToady and it's powerful enough you can write an entire regex engine using gather/take for backtracking
14:52 moritz_ you can use Coro to implement lazy gather/take in p5 ;-)
14:52 TimToady (metholate did just that, trying to run STD on pugs, but I ran into other issues...)
14:52 pugs_svnbot r20386 | moritz++ | [t/spec] more whitespaces for disambiguation
14:52 pugs_svnbot diff: http://dev.pugscode.org/changeset/20386
14:52 lambdabot Title: Changeset 20386 - Pugs - Trac
14:52 TimToady but can you scope it dynamically?
14:52 moritz_ yes
14:53 moritz_ because the "current Coro" is dynamically scoped
14:53 moritz_ you can use it's refaddr to key a global hash, which it turn holds a reference to the lazy list that is being returned
14:53 TimToady but coro can't establish a dynamic scope in its caller, can it?
14:53 TimToady or does it take a closure?
14:54 TimToady if so, nevermind
14:54 moritz_ Not quite sure
14:55 moritz_ Perl6::GatherTake does (at least basic) dynamic scoping
14:56 moritz_ http://perlpunks.de/paste/show/4821c307.2b2a.bc
14:59 pugs_svnbot r20387 | moritz++ | [t/spec] more disambiguation whitespaces for S29-list/
14:59 pugs_svnbot diff: http://dev.pugscode.org/changeset/20387
14:59 lambdabot Title: Changeset 20387 - Pugs - Trac
15:02 pugs_svnbot r20388 | moritz++ | [t/spec] one more disambiguation whitespace
15:02 pugs_svnbot diff: http://dev.pugscode.org/changeset/20388
15:02 lambdabot Title: Changeset 20388 - Pugs - Trac
15:05 pugs_svnbot r20389 | moritz++ | [t] coro is gone. Really.
15:05 pugs_svnbot diff: http://dev.pugscode.org/changeset/20389
15:05 lambdabot Title: Changeset 20389 - Pugs - Trac
15:50 IllvilJa joined #perl6
16:04 TJCRI joined #perl6
16:12 pbuetow joined #perl6
16:14 rdice_ joined #perl6
16:17 iblechbot joined #perl6
16:17 meppl joined #perl6
16:21 justatheory joined #perl6
16:35 pmichaud TimToady++   # S05 updates
16:37 alanhaggai joined #perl6
16:39 eternaleye joined #perl6
16:40 rindolf joined #perl6
16:40 [particle] who's in charge of the svn bot here? diakopter? it'd be nice to see the synopsis changesets here too.
16:42 pravus joined #perl6
16:53 pravus_ joined #perl6
16:57 moritz_ I think I have a generic svnbot hanging around somewhere - maybe I can throw that in
16:59 [particle] it's gotta be pretty plain where svnbot is on feather
17:00 pbuetow_ joined #perl6
17:01 pugs_svn joined #perl6
17:02 pugs_svn joined #perl6
17:02 pugs_svn r14540 | larry++ | clarifications to previous change
17:02 pugs_svn r14541 | larry++ | [S05] better characterize Match and Cursor methods
17:02 moritz_ why the fuck is it called pugs_svn?
17:03 moritz_ ah, my fault (of course ;)
17:03 speckbot joined #perl6
17:03 moritz_ now it's called "specbot"
17:05 [particle] speckbot :)
17:05 [particle] moritz_++
17:05 snooper joined #perl6
17:15 alester joined #perl6
17:17 justatheory joined #perl6
17:17 pbuetow joined #perl6
17:18 ispy_ left #perl6
18:20 ReiniUrban joined #perl6
18:27 japhb joined #perl6
18:28 rindolf joined #perl6
18:35 Ched- joined #perl6
18:50 rurban left #perl6
18:52 elmex joined #perl6
19:09 Eevee joined #perl6
19:30 eternaleye joined #perl6
19:49 rdice joined #perl6
19:51 pmurias moritz_: only elf's parser is in ruby
19:51 pbuetow_ joined #perl6
19:52 moritz_ pmurias: and the runtime is p5?
19:52 pmurias moritz_: for know p5 is the only backend
19:52 pmurias the rest of the compiler is in p6
19:53 pmurias s/know/now
19:53 moritz_ and what do you run it with? rakudo? pugs?
19:53 pmurias itself
19:53 moritz_ ok
19:54 pmurias it's partly bootstraped (the parser isn't)
19:54 moritz_ can you already use it as a syntax checker?
19:55 pmurias it dosn't parse everything
19:55 moritz_ how much does it parse?
19:55 pmurias hard question
19:56 moritz_ I'm updating one of my machines to Debian Lenny in the hope that it has sufficiently new ruby packages ;)
19:57 pmurias you could always compiler ruby from source ;)
19:57 moritz_ it's not the only thing that I want upgraded ;)
19:58 syle joined #perl6
19:58 pmurias i don't think elf is suitable as a general purpose perl6 syntax checker as it's missing a few crucial small things
19:58 [particle]ventus joined #perl6
19:59 pmurias but the ruby parser is modeled on STD.pm so once TimToady++ gets it to work is should be possible to plug it in
20:05 chris2 joined #perl6
20:06 rdice joined #perl6
20:14 wknight8111 joined #perl6
20:31 eternaleye joined #perl6
20:31 pmurias moritz_: what do you intend to use a syntax checker for?
20:31 moritz_ pmurias: sanity check of the test suite
20:32 pmurias i see
20:32 pmurias dosn't pugs work?
20:33 moritz_ partially
20:34 moritz_ and two partial sanity checks are better than just one ;)
20:35 pmurias parsing is hard, so it's the area incomplete implementations lack most
20:36 pmurias * parsing perl6
20:36 TimToady (un)fortunately, it takes Perl 6 to parse Perl 6 correctly  :)
20:37 Juerd joined #perl6
20:37 moritz_ nothing but Perl 6 can parse Perl 6
20:37 Juerd That's a problem there.
20:37 Juerd Perl 6 is not an implementation :)
20:58 barney joined #perl6
21:05 * ruoso wuold rephrase that as "it takes *a* Perl 6 to parse Perl 6"
21:09 moritz_ ;)
21:42 BinGOs_ joined #perl6
21:53 BinGOs joined #perl6
22:05 eternaleye joined #perl6
22:05 justatheory joined #perl6
22:08 eternaleye joined #perl6
22:23 [particle] joined #perl6
22:25 Auzon home &
22:41 SamB joined #perl6
22:50 SamB joined #perl6
22:55 lisppaste3 joined #perl6
23:40 eternaleye joined #perl6
23:54 Psyche^ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo