Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-07-18

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:04 wolfman2000 joined #perl6
00:13 dorlamm left #perl6
00:17 lichtkind good night
00:18 lichtkind left #perl6
00:40 rgrau` left #perl6
00:41 Chillance left #perl6
00:48 wolfman2000 left #perl6
00:56 whiteknight left #perl6
01:00 noganex joined #perl6
01:04 noganex_ left #perl6
01:08 drbean joined #perl6
01:09 wolfman2000 joined #perl6
01:13 f00li5h is now known as f00li5h[HireMe]
01:27 tokuhir__ left #perl6
02:01 HarryS left #perl6
02:04 HarryS joined #perl6
02:09 woosley joined #perl6
02:15 kid51 left #perl6
02:42 tokuhir__ joined #perl6
03:04 am0c left #perl6
03:23 Su-Shee_ joined #perl6
03:26 Su-Shee left #perl6
03:31 bluescreen10 left #perl6
03:35 benabik left #perl6
03:41 spetrea hey
03:41 spetrea haven't been here for a while
03:42 spetrea how you guys doin ?
03:43 larks left #perl6
03:49 kaare__ joined #perl6
03:52 wamba joined #perl6
03:54 drbean left #perl6
03:54 sorear spetrea: good
03:54 dalek niecza: fe88724 | sorear++ | / (4 files):
03:54 dalek niecza: Hack BEGIN { @*INC.push: ... } to DTRT
03:54 dalek niecza: review: https://github.com/sorear/niecza/commit/fe88724d92
03:57 benabik joined #perl6
04:02 molaf joined #perl6
04:13 satyavvd joined #perl6
04:43 sorear ping cooper
04:43 sorear er
04:43 sorear ping colomon
04:43 cooper k
04:48 soh_cah_toa left #perl6
04:56 woosley left #perl6
04:59 birdwindupbird joined #perl6
05:00 woosley joined #perl6
05:03 jaldhar left #perl6
05:03 wamba left #perl6
05:03 jaldhar joined #perl6
05:17 tokuhir__ left #perl6
05:31 am0c joined #perl6
05:35 Khisanth left #perl6
05:38 Khisanth joined #perl6
05:46 Jackneill joined #perl6
05:50 drbean joined #perl6
05:51 wtw joined #perl6
05:57 wtw left #perl6
05:59 wtw joined #perl6
06:16 jaldhar left #perl6
06:16 jaldhar joined #perl6
06:17 jaldhar left #perl6
06:17 jaldhar joined #perl6
06:20 Su-Shee_ is now known as Su-Shee
06:25 masak joined #perl6
06:25 masak sellamat prients!
06:38 REPLeffect left #perl6
06:41 wamba joined #perl6
06:55 * masak backlogs
06:56 moritz good morning masak
07:02 masak morning.
07:02 masak I seem to have overestimated the amount of blogging time the journey home would give me.
07:03 masak partly because my laptop has a non-functional keyboard. :)
07:04 Guest28298 is now known as alyx
07:04 masak I did have time to draw a map, though: https://github.com/masak/cryp​t/blob/master/images/map.png
07:04 alyx left #perl6
07:04 alyx joined #perl6
07:04 masak (touchpad still works)
07:08 wamba left #perl6
07:08 moritz masak: you don't seem to have a lot of luck with your laptops
07:10 sorear MASAK !
07:13 masak SOREAR !
07:14 masak moritz: I guess I use them heavily. at home I only use a laptop. I use stationary computers at work.
07:17 satyavvd left #perl6
07:20 Mowah joined #perl6
07:33 Jackneill left #perl6
07:44 CBro2007 joined #perl6
07:46 wamba joined #perl6
07:47 kaare__ left #perl6
07:55 envi left #perl6
08:01 CBro2007 had a qn about perl 6 OO, when you declare a public attrib like "has $.b;" - does it automatically generate an accessor method for it like "getB"?
08:01 CBro2007 or does one have to write these manually?
08:01 CBro2007 write both get and set?
08:01 tadzik CBro2007: it's called just .b then
08:01 tadzik hello #perl6
08:01 moritz and if you say 'has $.b is rw', it makes the .b accessor assignable
08:01 CBro2007 or to get around that problem do you just do you make it "is rw"?
08:01 moritz so you can write  $obj.b = 3;
08:01 tadzik what problem?
08:02 CBro2007 tadzik: if you don't say "is rw" then $obj.b = 3 wouldn't work
08:02 CBro2007 thats right yeah moritz ?
08:03 moritz rakudo: class A { has $.x }; A.new(x => 3).x = 6
08:03 p6eval rakudo f63b82: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/JfWb_cJWBt␤»
08:03 moritz rakudo: class A { has $.x is rw }; A.new(x => 3).x = 6
08:03 p6eval rakudo f63b82:  ( no output )
08:03 tadzik CBro2007: of course
08:03 tadzik that's the point :)
08:03 tadzik if it's not read-write, writing to it will not work
08:03 CBro2007 yeah just wanted to clarify that :)
08:03 tadzik ok :)
08:03 moritz nom: class A { has $.x }; A.new(x => 3).x = 6
08:03 p6eval nom: OUTPUT«Cannot assign to a readonly variable or a value␤current instr.: '_block1002' pc 113 ((file unknown):147) (/tmp/NAnHyAu_Un:1)␤»
08:04 CBro2007 because in java etc you would just declare it public and then there are get/set methods to access it
08:04 woosley left #perl6
08:04 masak hello tadzik
08:04 CBro2007 ah I was actually gonna ask about how to write your own copy constructor
08:04 moritz there are no copy constructors in Perl 6
08:05 CBro2007 can I declare a method called "new"?
08:05 masak yes.
08:05 CBro2007 just the default constructor then?
08:05 moritz you can name your constructor however you want
08:05 masak yes, but "default constructor" doesn't mean the same as in C++.
08:05 masak a Mu.new method is provided out of the proverbial box.
08:05 moritz http://perlgeek.de/blog-en/perl-6/objec​t-construction-and-initialization.html
08:06 CBro2007 moritz: right so it doesn't need to be called "new" ... what is "Someclass.new" doing then?
08:06 moritz so the box is Mu? :-)
08:06 moritz CBro2007: it calls the method new on the type object Someclass
08:06 masak moritz: or the OO system as such :)
08:06 CBro2007 moritz: I am reading your perl 5 to 6 articles
08:07 masak CBro2007: setters are evil and getters aren't so good either. they're a vestige of people who think they're doing OO but still in a struct-y mindset.
08:07 CBro2007 oh and if I haven't defined new in my class as a method it goes further up the heirarchy?
08:07 * moritz should check them for up-to-date ness sometimes son
08:07 masak CBro2007: yes.
08:07 CBro2007 ok
08:07 moritz like any method call, really
08:07 woosley joined #perl6
08:07 CBro2007 cheers... makes more sense now
08:07 CBro2007 yep true
08:08 masak rakudo: class Parent { method foo { say "OH HAI" } }; class Child is Parent {}; Child.new.foo
08:08 p6eval rakudo f63b82: OUTPUT«OH HAI␤»
08:08 tadzik masak: o/
08:08 moritz masak: I'm not convinced that getters are "not so good" per se
08:08 masak moritz: I'm not 100% convinced either, but I'm toying with the thought.
08:09 CBro2007 to be honest I really like perl 6 syntax, but I don't like this $. and $! stuff
08:09 masak CBro2007: it'll grow on you, just wait.
08:09 tadzik masak: that makes some sense
08:09 CBro2007 i mean    return $!a + $!b + $!c;
08:09 moritz masak: consider Rat.pm in the setting - what would be the superior move that allows the same functioniality, but doesn't use accessors?
08:09 CBro2007 looks a bit ugly :)
08:09 tadzik CBro2007: it's just like PErl 5's sigils, but twice the fun :)
08:09 CBro2007 heh
08:09 masak moritz: Rat is essentially a struct-y type.
08:10 masak well, an immutable one.
08:10 CBro2007 but man perl 6 is seriously wayyyy better to read than perl 5
08:10 CBro2007 massive improvement in syntax
08:10 masak CBro2007: so is modern Perl 5 :)
08:10 tadzik oh, not always :)
08:10 CBro2007 is it?
08:10 mj41 joined #perl6
08:10 CBro2007 I haven't seen modern perl 5.... have they cleaned it up like 6 has?
08:11 CBro2007 i don't know but was overloading possible in p5?
08:11 moritz it was, mostly
08:11 tadzik magic
08:11 CBro2007 with this multi stuff I mean
08:11 tadzik oh, no
08:11 woosley1 joined #perl6
08:11 moritz no multis though
08:11 CBro2007 yeah thats new
08:11 * tadzik bbl
08:12 CBro2007 and I notice that you guys have the slurping of args... using "rest" for other args
08:12 CBro2007 reminds me of common lisp
08:12 moritz what they call "overloading" is just things like "providing custom string/integer/whatever views for an object
08:12 CBro2007 :)
08:12 CBro2007 maybe it would be good to think of writing some containers then
08:12 CBro2007 like c++ std library
08:12 woosley left #perl6
08:12 CBro2007 Stack, Queue, Tree
08:13 CBro2007 would be super handy I reckon... esp with this new multi feature
08:13 masak CBro2007: I've been wanting that too. especially different Tree and Hash implementations.
08:13 CBro2007 yep
08:13 masak CBro2007: something like Java's library of such types.
08:14 CBro2007 If I continue to use p6 for my work at uni... then I will need to write them anyway
08:14 masak maybe some MooseX module provides multi methods, I dunno.
08:14 CBro2007 yeah haven't looked into it in detail
08:14 CBro2007 just thought I would make a small suggestion :)
08:15 masak we do need someone to flesh out those bits.
08:15 masak and nom should make it massively easier, too.
08:15 CBro2007 what is nom? sorry
08:15 moritz nom is a development branch of rakudo
08:15 moritz that allows for much more memory-efficient objects
08:16 CBro2007 k
08:16 CBro2007 but do you think std lib like stuff would work well in p6?
08:16 CBro2007 oh is there a concept like java generics or c++ templates in p6?
08:17 CBro2007 or would you have to write a multi for each type? coz that might not be fun :)
08:17 moritz we have parameterized roles
08:17 moritz though the duck typing means that you don't actually have to type the container
08:17 CBro2007 ok will finish reading the article first ... btw good work on the article moritz
08:18 moritz thanks CBro2007 - if you find anything that's not clear, please tell me, I'm always looking for ways to improve them
08:18 daxim joined #perl6
08:18 CBro2007 yeah no worries
08:19 CBro2007 so you saying that for say a stack implementation - you could define that as a role?
08:19 masak nom not only allows for more memory-efficient objects, but also gives a better "API" to the VM "metal".
08:19 CBro2007 and then people just say "does" blah and they can use the stack as say a stack of integers or numerics?
08:20 moritz though they could just use an array
08:20 moritz which has push and pop
08:20 CBro2007 later down the track I will need you guys to help out with this nom stuff :)
08:21 CBro2007 yeah but I think it helps to have a class for different data types
08:21 CBro2007 much like glib provides
08:21 CBro2007 binary trees, maps, queues, etc etc
08:22 yath w
08:22 yath oops
08:24 masak CBro2007: agreed. in a library.
08:24 CBro2007 yep
08:24 masak there are many nice types of heap data structures out there.
08:25 masak ooh, and the disjoint-set data structure! I stumble over that on all the time.
08:25 masak the labyrinth-making algo would be very short and pretty if it could just use a library.
08:25 moritz well, it could
08:26 moritz you just need to write the library first :-)
08:26 CBro2007 :)
08:26 daniel-s joined #perl6
08:26 masak in due time :)
08:26 CBro2007 I am thinking for my work I might have to make a p5 and p6 project and keep going that way
08:26 CBro2007 just in case something is missing in p6
08:27 CBro2007 is that too much work you guys think?
08:27 masak CBro2007: if you haven't found RosettaCode yet, be sure to check it out.
08:27 CBro2007 Someone here did pass it on to me yesterday
08:27 cooper left #perl6
08:27 masak excellent.
08:27 moritz iirc that was our guru :-)
08:28 masak what, that guy who keeps floating cross-legged over the IRC channel? :P
08:28 masak how does he *do* that?
08:29 moritz he uses the new float-over-tcp protocoll
08:29 moritz with special Rat protection against float errors
08:29 masak cunning.
08:29 CBro2007 moritz: cannot remember who that was?
08:29 CBro2007 was it TimToady?
08:30 moritz http://irclog.perlgeek.de/​perl6/2011-07-17#i_4126530
08:30 moritz aye
08:30 kshannon joined #perl6
08:30 daniel-s left #perl6
08:30 daniel-s joined #perl6
08:31 CBro2007 cool
08:32 CBro2007 ok gtg now
08:32 CBro2007 nice talking
08:32 CBro2007 left #perl6
08:35 daniel-s_ joined #perl6
08:35 sorear agh, missed CBro2007
08:35 * sorear sleep
08:36 daniel-s left #perl6
08:37 wamba left #perl6
08:39 domidumont joined #perl6
08:39 daniel-s__ joined #perl6
08:39 daniel-s_ left #perl6
08:43 nymacro joined #perl6
08:43 _daniel-s__ joined #perl6
08:44 envi joined #perl6
08:44 daniel-s__ left #perl6
08:47 daniel-s joined #perl6
08:47 _daniel-s__ left #perl6
08:49 masak rakudo: (my %inv).push: { a => 1, b => 2 }.invert; say %inv.perl
08:49 p6eval rakudo f63b82: OUTPUT«{"1" => "a", "2" => "b"}␤»
08:49 masak \o/
08:50 masak but what if I wanted the inverse hash to hash on Int, not Str?
08:51 daniel-s_ joined #perl6
08:52 daniel-s left #perl6
08:54 moritz you'd use an array? :-)
08:54 wamba joined #perl6
08:54 moritz no srsly, I think there's some room for parameterization mentioned in S09
08:54 masak right.
08:55 masak point well taken about the array :-)
08:55 masak but sometimes a sparse one in the form of a hash works better.
08:55 daniel-s__ joined #perl6
08:55 moritz well, I kinda hope somebody writes a sparse array implementation as a module
08:55 daniel-s_ left #perl6
09:00 _daniel-s__ joined #perl6
09:00 daniel-s__ left #perl6
09:00 Instil joined #perl6
09:03 Jackneill joined #perl6
09:03 Jackneill left #perl6
09:03 Jackneill joined #perl6
09:04 daniel-s joined #perl6
09:04 _daniel-s__ left #perl6
09:08 daniel-s left #perl6
09:08 daniel-s_ joined #perl6
09:10 masak seen on Slashdot: "I called Wirth, once. but I think I called him by name and not by value. perhaps I made the wrong judgement call; my phone overflowed."
09:10 aloha Sorry, I haven't seen on Slashdot: "I called Wirth, once. but I think I called him by name and not by value. perhaps I made the wrong judgement call; my phone overflowed.".
09:10 masak aloha: I bet you're very popular at parties.
09:11 dakkar joined #perl6
09:12 masak srsly though; a word from the English language that can begin sentences isn't a good bot activation mechanism.
09:13 daniel-s__ joined #perl6
09:13 daniel-s_ left #perl6
09:16 _daniel-s__ joined #perl6
09:16 daniel-s__ left #perl6
09:17 jerome joined #perl6
09:17 jjore left #perl6
09:21 jjore joined #perl6
09:21 _daniel-s__ left #perl6
09:25 wamba left #perl6
09:31 sftp_ joined #perl6
09:33 sftp left #perl6
09:36 CBro2007 joined #perl6
09:38 CBro2007_ joined #perl6
09:38 CBro2007 left #perl6
09:38 CBro2007_ is now known as CBro2007
09:41 dayangkun_ joined #perl6
09:44 thou left #perl6
09:45 dayangkun left #perl6
09:47 birdwindupbird left #perl6
09:48 mikehh left #perl6
09:56 woosley1 left #perl6
10:15 mathw I like bots which need an initial punctuation command or something - like !seen
10:17 birdwindupbird joined #perl6
10:19 * masak flies to Poland
10:19 masak left #perl6
10:19 tadzik \o/
10:19 CBro2007 left #perl6
10:23 tokuhir__ joined #perl6
10:26 donri joined #perl6
10:26 satyavvd joined #perl6
10:33 Hadraniks joined #perl6
10:35 Hadraniks left #perl6
10:49 Camaelek joined #perl6
10:50 Camaelek left #perl6
10:55 * flussence pictures masak walking outside and suddenly zooming off into the sky
11:09 jerome left #perl6
11:10 ab5tract joined #perl6
11:19 JimmyZ joined #perl6
11:22 jerome joined #perl6
11:22 Dardek joined #perl6
11:30 Dardek left #perl6
11:33 daxim JETPACK'D
11:43 jaldhar left #perl6
11:43 jaldhar joined #perl6
11:44 HarryS left #perl6
11:52 kaare__ joined #perl6
11:59 satyavvd left #perl6
12:01 CBro2007 joined #perl6
12:02 dayangkun_ left #perl6
12:10 takadonet joined #perl6
12:12 takadonet morning all
12:29 Util Morning, takadonet
12:30 MayDaniel joined #perl6
12:38 bluescreen10 joined #perl6
12:43 bluescreen10 left #perl6
12:43 nymacro left #perl6
12:53 MayDaniel left #perl6
12:55 bluescreen10 joined #perl6
12:58 wamba joined #perl6
13:01 Holy_Cow joined #perl6
13:02 moritz rakudo: 'foo'.match(/o/); say $/
13:02 p6eval rakudo f63b82: OUTPUT«Any()␤»
13:03 CBro2007 left #perl6
13:11 am0c left #perl6
13:25 JimmyZ left #perl6
13:25 Jackneill left #perl6
13:28 * [Coke] yawns.
13:29 daxim 50mg caffeine IV
13:32 moritz nom: my $re = /./; say $re(Cursor.'!init_cursor'('foo', :c(0))).MATCH
13:32 p6eval nom: OUTPUT«Method '!init_cursor' not found for invocant of class 'Cursor'␤current instr.: '_block1002' pc 120 ((file unknown):693) (/tmp/9vtVYeG6l7:1)␤»
13:32 moritz nom: my $re = /./; say $re(Cursor.'!cursor_init'('foo', :c(0))).MATCH
13:32 p6eval nom: OUTPUT«f␤»
13:32 moritz nom: my $re = /./; say $re(Cursor.'!cursor_init'('foo', :c(1))).MATCH
13:32 p6eval nom: OUTPUT«o␤»
13:37 pmichaud good morning, #perl6
13:37 phenny pmichaud: 17 Jul 18:01Z <isBEKaml> tell pmichaud That patch does solve the build failure on my machine. Thanks! :)
13:37 moritz good am, pm
13:38 Holy_Cow left #perl6
13:38 [Coke] daxim++
13:38 [Coke] pmichaud++
13:41 drbean left #perl6
13:42 moritz nom: sub f() { 'a' ~~ /./; { say $/ }.() }; f()
13:42 p6eval nom: OUTPUT«a␤»
13:42 moritz \o/ so nom already has $/ tied to routine, not block
13:42 Jackneill joined #perl6
13:42 Jackneill left #perl6
13:42 Jackneill joined #perl6
13:43 pmichaud not necessarily
13:43 pmichaud it may just be that $/ is grabbing from the outer
13:43 moritz hm, right
13:43 moritz nom: sub f() { 'a' ~~ /./; { say $/; 'b' ~~ /./; }.() say $?}; f()
13:43 p6eval nom: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3851 (src/Regex/Cursor.pir:239)␤»
13:43 moritz nom: sub f() { 'a' ~~ /./; { say $/; 'b' ~~ /./; }.() say $/}; f()
13:43 p6eval nom: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3851 (src/Regex/Cursor.pir:239)␤»
13:43 [Coke] pmichaud: did you happen to figure out that segfault I sent you?
13:43 pmichaud nom: sub f() { { 'a' ~~ /./ };  say $/;
13:43 p6eval nom: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3851 (src/Regex/Cursor.pir:239)␤»
13:43 moritz nom: sub f() { 'a' ~~ /./; { say $/; 'b' ~~ /./; }.(); say $/}; f()
13:43 p6eval nom: OUTPUT«a␤b␤»
13:43 pmichaud nom: sub f() { { 'a' ~~ /./ };  say $/; };  f();
13:43 p6eval nom: OUTPUT«a␤»
13:43 moritz ok, I was wrong :/
13:44 moritz no, I wasn't
13:44 pmichaud gee, it looks okay to me :)
13:44 moritz same $/ in both scopes
13:44 pmichaud [Coke]: segfault?
13:44 pmichaud nom++
13:44 * moritz works on Str.match
13:45 * pmichaud is still waking up but doesn't recall a segfault
13:52 moritz nom: sub f() { say 'alive' }; my %h; f |%h
13:52 p6eval nom: OUTPUT«flattened parameters must be a hash or array␤current instr.: '_block1002' pc 82 ((file unknown):37744038) (/tmp/zgOKsbQdAd:1)␤»
13:52 moritz nom: my %h; say %h.defined
13:52 p6eval nom: OUTPUT«Bool::True␤»
13:52 pmichaud known bug.
13:52 [Coke] pmichaud: something like:
13:52 [Coke] nom: say +"4/2".WHAT
13:53 p6eval nom: OUTPUT«Parameter '(null)' requires an instance, but a type object was passed␤current instr.: 'Numeric' pc 476222 (src/gen/CORE.setting.pir:128524) (src/gen/CORE.setting:1896)␤»
13:53 moritz pmichaud: how do I work around it? my %h := {}   ?
13:53 moritz nom: +Str
13:53 p6eval nom: OUTPUT«Parameter '(null)' requires an instance, but a type object was passed␤current instr.: 'Numeric' pc 476222 (src/gen/CORE.setting.pir:128524) (src/gen/CORE.setting:1896)␤»
13:53 pmichaud [Coke]: yes, we fixed it so that bug doesn't segfault.  We still don't know what it's supposed to do.
13:53 moritz [Coke]: ah, I replaced that segfault by an unhelpful error message like above
13:54 pmichaud presuming, of course, that you didn't really mean
13:54 pmichaud nom:  say (+"4/2").WHAT
13:54 p6eval nom: OUTPUT«Rat()␤»
13:55 [Coke] I didn't mean anything. I just made it go boom.
13:55 pmichaud okay
13:55 [Coke] nom: say +"2/4".WHAT
13:55 p6eval nom: OUTPUT«Parameter '(null)' requires an instance, but a type object was passed␤current instr.: 'Numeric' pc 476222 (src/gen/CORE.setting.pir:128524) (src/gen/CORE.setting:1896)␤»
13:55 pmichaud it still goes boom, but it does so because we don't know what +TypeObject should do yet.
13:55 [Coke] that actual gave an answer on friday, I think. ah well.
13:55 mtk joined #perl6
13:55 [Coke] (no worries)
13:56 pmichaud or, more correctly, we don't know what TypeObject.Numeric should do yet.
13:56 pmichaud I may just do the zero-and-warn bit for now.
13:56 moritz that's probably what wins us the most spectests
13:56 pmichaud oh, if there are spectests depending on that, I think they may be incorrect.
13:57 moritz agreed
13:57 moritz but knowing the test suite as I do, it's pretty much certain that some tests do
13:57 moritz s/it's/I'm/
13:58 BinGOs left #perl6
14:01 REPLeffect joined #perl6
14:03 BinGOs joined #perl6
14:04 PacoLinux joined #perl6
14:04 CBro2007 joined #perl6
14:05 dalek rakudo/nom: f2fda00 | moritz++ | src/ (3 files):
14:05 dalek rakudo/nom: add Str.match(Regex, :p, :c)
14:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f2fda00c38
14:05 dalek rakudo/nom: 19e3ba8 | moritz++ | LHF.markdown:
14:05 dalek rakudo/nom: add regex-related Str methods to LHF.
14:05 CBro2007 left #perl6
14:05 dalek rakudo/nom:
14:05 dalek rakudo/nom: Also deduplicate an item which seems to have doubled during a merge conflict
14:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19e3ba8345
14:05 CBro2007 joined #perl6
14:11 kanishka joined #perl6
14:13 wtw left #perl6
14:15 pmichaud nom: sub f(*%_) { say 'alive'; };  my %h; f |%h;
14:15 p6eval nom: OUTPUT«flattened parameters must be a hash or array␤current instr.: '_block1002' pc 82 ((file unknown):29623934) (/tmp/2jjhftE8Ki:1)␤»
14:19 tokuhir__ left #perl6
14:22 JimmyZ joined #perl6
14:23 timbunce joined #perl6
14:26 daniel-s joined #perl6
14:27 daniel-s left #perl6
14:37 am0c joined #perl6
14:57 dalek rakudo/nom: 62c49e2 | pmichaud++ | src/core/EnumMap.pm:
14:57 dalek rakudo/nom: Fix hash flattening for empty hashes and enummaps.  moritz++
14:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/62c49e2c3c
15:00 eiro hello
15:01 moritz \o
15:03 eiro any paper about concurrency in perl6 ? any anyevent outsider in perl6 ?
15:04 JimmyZ I guess no?
15:04 eiro ok
15:05 JimmyZ suggestion welcome ;)
15:05 eiro haha
15:05 eiro not skilled enought
15:06 JimmyZ me too
15:06 eiro it means there is no way to implement webapps with long polls in perl6
15:07 eiro for example a server for a turn by turn
15:07 eiro game
15:08 moritz why would you need long polling for a turn-by-turn game?
15:08 am0c left #perl6
15:10 wamba left #perl6
15:11 eiro moritz, to push events to the clients
15:12 eiro say player1 moved, i want to push infos to player's 2 client for refresh
15:12 JimmyZ eiro: something like libevent or libev?
15:12 moritz it's ugly, but you can also let the clients poll
15:13 eiro moritz, i think client pull is ugly
15:13 eiro JimmyZ, yep
15:13 eiro moritz, if you want real time events, you're polling fast so you waste lot of bandwith
15:13 eiro bandwidth
15:14 JimmyZ eiro: I think we can call libevent or libev from perl6
15:14 moritz that's why I started my sentence with "it's ugly" :-)
15:15 moritz I know it's quite a sever limitation for some applications
15:15 moritz didn't sorear add basic thread support to niecza? I can't remember...
15:18 eiro ok. i asked for something simple (just playing with perl6 for now)
15:18 eiro thanks anyway moritz and JimmyZ
15:18 eiro :)
15:20 pmichaud 15:06 <eiro> it means there is no way to implement webapps with long polls in perl6
15:20 pmichaud We're just waiting for someone to give us an idea of how such a thing should be done in perl 6.  :)
15:27 alester joined #perl6
15:29 bs338 left #perl6
15:30 arnsholt I've a plan to try my hand at webapps (involving Zavolaj)
15:33 wamba joined #perl6
15:35 tokuhir__ joined #perl6
15:36 CBro2007 left #perl6
15:36 arnsholt Using Mongrel 2 all I need to do is the bindings to ZMQ
15:42 sftp_ is now known as sftp
15:44 bs338 joined #perl6
15:51 s1n left #perl6
15:53 s1n joined #perl6
15:53 JimmyZ arnsholt: https://github.com/plobsing/parrot-zeromq/
15:56 thou joined #perl6
15:59 arnsholt JimmyZ: Even less for me to do. Yay! =)
15:59 arnsholt Thanks!
16:01 alester left #perl6
16:01 alester_ joined #perl6
16:11 kst left #perl6
16:18 cooper joined #perl6
16:20 cooper left #perl6
16:20 cooper joined #perl6
16:20 JimmyZ arnsholt: :)
16:20 JimmyZ night
16:20 JimmyZ left #perl6
16:29 felher Hey folks. Hi do i slurp complete stdin into a string? Do i have to use lines() ?
16:29 colomon rakudo: my $a = slurp; say $a
16:29 p6eval rakudo f63b82: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/DNx14cp6_Z␤  in main program body at line 22:/tmp/DNx14cp6_Z␤»
16:30 kanishka left #perl6
16:30 felher colomon: thnx. Seems my rakudo is too old.
16:31 colomon ?  slurp's been around for a while.
16:31 colomon I might not have the exact syntax needed there, but something like that should work
16:32 felher colomon: My rakudo says slurp needs at least one argument.
16:32 colomon try $*IO.slurp
16:32 colomon soory. $*IN.slurp
16:33 felher colomon: Yeah, works like a charm. thnx. colomon++
16:43 kanishka joined #perl6
16:54 explorer__ joined #perl6
16:55 jferrero left #perl6
16:55 serewe joined #perl6
16:57 birdwindupbird left #perl6
16:58 daxim left #perl6
16:58 tokuhir__ left #perl6
17:06 dakkar left #perl6
17:09 mj41 left #perl6
17:24 dorlamm joined #perl6
17:24 Trashlord left #perl6
17:25 colomon left #perl6
17:26 ggoebel left #perl6
17:31 pmurias joined #perl6
17:33 serewe left #perl6
17:35 mj41 joined #perl6
17:39 dorlamm left #perl6
17:40 ggoebel joined #perl6
17:43 Chillance joined #perl6
17:52 impious joined #perl6
18:05 Trashlord joined #perl6
18:06 diakopter joined #perl6
18:10 kst joined #perl6
18:14 kanishka left #perl6
18:17 s1n left #perl6
18:33 s1n joined #perl6
18:36 Jackneill left #perl6
18:37 ab5tract left #perl6
18:53 sorear moritz: yes, some time ago
18:55 cipherte1t joined #perl6
18:56 ciphertext left #perl6
19:01 cooper left #perl6
19:01 cooper joined #perl6
19:02 cooper left #perl6
19:02 cooper joined #perl6
19:09 dorlamm joined #perl6
19:12 impious left #perl6
19:13 CBro2007 joined #perl6
19:15 masak joined #perl6
19:15 masak oh hai from tadzik++'s place! \o/
19:16 tadzik \o/
19:16 pmichaud oh hai masak++ at tadzik++'s place!
19:16 masak we're having a "laptop party".
19:17 mberends \o/
19:17 * masak updates rakudo master, rakudo nom, rakudo podparser, and nom
19:17 pmichaud masak: so, now that you (and jnthn++) have put together a conference, I'm thinking of doing the same here at DFW.  Any advice or suggestions where to start?
19:18 masak s:2nd/nom/niecza/
19:18 masak pmichaud: we asked for an Act instance, and everything basically fell out of that.
19:20 janosik joined #perl6
19:22 birdwindupbird joined #perl6
19:22 mkramer joined #perl6
19:22 mkramer left #perl6
19:23 pmichaud masak: that's what I'm hoping to hear.  Who do I ask for an Act instance?
19:25 masak pmichaud: IIRC on the Act mailing list.
19:26 masak be prepared with your public SSH key.
19:27 arnsholt masak: Semi-related, has anyone taken on NPW12 yet?
19:27 masak why, you interested?
19:27 arnsholt Just trying to plan my calendar a bit in advance, I'm afraid
19:28 arnsholt (I'm not very involved with Oslo.pm, whp are the natural organizers for an Oslo NPW)
19:28 masak nodnod
19:28 masak no, I haven't heard anything.
19:36 janosik left #perl6
19:39 masak wow, GNU Hurd is coming? first DNF, now this... :)
19:41 arnsholt Not to mention Perl 6! ;)
19:42 pmurias masak: GNU Hurd really is coming?
19:43 soh_cah_toa joined #perl6
19:46 masak pmurias: I saw a Slashdot blurb flash by hinting that it is. hold on, I'll dig deeper.
19:47 masak here: http://news.slashdot.org/story/11/07/14/​2141229/Watch-Out-Linux-GNU-Hurd-Coming
19:48 jlaire see also http://www.archhurd.org/
19:49 jlaire which isn't just a vague plan for 2013 :)
19:49 masak jlaire: hi!
19:49 jlaire masak: hihi!
19:50 masak jlaire: it's funny, you patched a Ctrl+D flaw that I had already pushed a fix for :)
19:50 masak (but thanks for making the effort)
19:50 jlaire yeah, I noticed :)
19:51 masak my plan for tonight is to get the first blog post out. after that, I might go through the TODO file and fix a few things.
19:54 jlaire the .= operator is really convenient, I often wish I had it in other languages
19:54 jlaire and pointy blocks with 'if'
19:54 masak yeah.
19:55 masak lately I've been missing infix:<.=> combined with chained method calls.
19:55 masak like '$string .= lc.trim.flip'
19:55 jlaire I was just thinking about the same
19:56 jlaire looking at that code
19:56 masak std: my $string; $string .= lc.trim.flip
19:56 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m␤Method call found where infix expected (omit whitespace?) at /tmp/qA6Bxt7RzP line 1:␤------> [32mmy $string; $string .= lc[33m⏏[31m.trim.flip[0m␤    expecting any of:␤  infix or meta-infix␤    method arguments␤Parse failed␤FAILED 00:01 …
19:56 * masak suspected that
19:56 [Coke] rakudo: my $foo = " abcDEF "; say $foo .= lc.trim.flip
19:56 p6eval rakudo f63b82: OUTPUT«===SORRY!===␤Confused at line 22, near "say $foo ."␤»
19:56 [Coke] . o O (too slow.)
19:56 jlaire masak: btw, what did you use to generate that .svg?
19:57 jlaire oh, inkscape
19:57 masak jlaire: Inkscape.
19:58 jimmy1980 left #perl6
19:59 masak but every time I make a diagram like that, I keep thinking that I should spend some time making a high-level description language to produce such images, rather than draw them out by hand.
20:00 jimmy1980 joined #perl6
20:07 sorear o/ masak
20:07 masak \o sorear
20:07 CBro2007 left #perl6
20:08 CBro2007 joined #perl6
20:16 mkramer joined #perl6
20:19 birdwindupbird left #perl6
20:19 pmurias masak: which .svg?
20:20 ingy \o_o/
20:21 masak ingy: \oOo/
20:22 masak pmurias: https://github.com/masak/crypt/tree/master/images
20:24 masak sorear: reading https://github.com/sorear/niecza/commit/​20310bc88af8ed3dfb17a8eefeb932aafa54d8b4 is a surprisingly pleasurable experience. niecza looks quite hackable, at least the Perl 6 part.
20:27 masak when I run the nom spectests, two files (t/spec/S02-builtin_data_types/assigning-refs.rakudo t/spec/S02-literals/numeric.rakudo) give non-0 exit status, resulting in a FAIL even though no tests failed.
20:28 Sarten-X left #perl6
20:36 colomon joined #perl6
20:36 masak on the bright side, running the spectests only takes 15 minutes! :)
20:37 [Coke] masak - are those the ones that end with an error about # of arguments?
20:37 masak dunno.
20:37 masak could be.
20:37 noganex_ joined #perl6
20:39 tadzik I get no fails on the podparser branch :)
20:39 * moritz got those too, at least in one of the test files
20:39 tadzik after merging nom into it
20:39 masak tadzik: .5 yay + .5 wtf :)
20:39 tadzik :)
20:39 noganex left #perl6
20:39 moritz Pod - it cures your unrelated problems too :-)
20:39 tadzik I'd check the bare nom
20:40 tadzik ask me again in half an hour or so
20:43 moritz nom spectest is clean here
20:43 * [Coke] double checks.
20:44 masak tadzik haz beer \o/
20:45 tadzik :)
20:45 masak tadzik++
20:45 tadzik I haz had one more, but I breaken it :(
20:45 masak some lossage is expected... but yeah, bit of a waste :/
20:46 dudz_ joined #perl6
20:52 CBro2007 left #perl6
20:58 leeoniya joined #perl6
21:00 tadzik nom spectest fully passed for me
21:00 CBro2007 joined #perl6
21:00 masak odd.
21:02 cooper left #perl6
21:04 kjeldahl joined #perl6
21:15 leeoniya left #perl6
21:18 donri left #perl6
21:20 kaare__ left #perl6
21:21 jaldhar left #perl6
21:21 [Coke] https://gist.github.com/1090692
21:21 jaldhar joined #perl6
21:21 [Coke] (for tadzik).
21:22 tadzik [Coke]: podparser?
21:22 timbunce left #perl6
21:22 kjeldahl left #perl6
21:27 wamba left #perl6
21:32 [Coke] tadzik: nom
21:32 tadzik [Coke]: what system are you on?
21:32 [Coke] You said it was passing for you; that's the failure mode I see after a fairly recent update.
21:32 tadzik I see
21:32 [Coke] tadzik: that's on OS X
21:33 tadzik mhm. Intredasting
21:33 tadzik I'll run it once again just to be sure :)
21:33 [Coke] if I am trying to build rakudo/nom, which branch of nqp do I want?
21:34 tadzik the perl6/nqp repo
21:34 tadzik master branch
21:34 [Coke] k.
21:34 masak blog post! http://strangelyconsistent.org/bl​og/june-29-2011-text-adventure-i
21:35 masak sorry 'bout the delay. ;)
21:35 tadzik \o/
21:35 mkramer left #perl6
21:39 * [Coke] wonders why "make install" on nqp is building stuff.
21:39 pmurias masak: where in Poland are you now?
21:40 masak pmurias: northern Warsaw.
21:40 masak pmurias: where are you?
21:40 tadzik [Coke]: it probably needs to build them before instaling
21:40 tadzik as 'all' being a prerequisite of 'install'
21:41 pmurias masak: Zielona Góra, it's far away
21:42 masak oh, ok.
21:43 dorlamm left #perl6
21:43 Psyche^ joined #perl6
21:44 buubot_backup left #perl6
21:45 impious joined #perl6
21:45 impious left #perl6
21:45 mkramer joined #perl6
21:47 Patterner left #perl6
21:47 Psyche^ is now known as Patterner
21:49 tadzik t/spec/S02-whitespace_and_comments/unicode-whitespace.t is non-deterministic on my machine: sometimes it segfaults, sometimes not
21:49 tadzik and in different places
21:49 masak fun for the whole family.
21:52 sorear colomon: hi
21:53 sorear I'm looking for ways to avoid writing 24 copies of the sin() boilerplate
21:53 sorear thinking maybe I'll have a single unary_trig function with a selector parameter
21:55 masak are those 24 copies 'sin', 'cos', 'tan', etc?
21:57 masak sounds like a selector function would incur a speed penalty with every trig function call. and because of the selector parameter, there isn't much hope of inlining it.
22:03 drbean joined #perl6
22:03 buubot_backup joined #perl6
22:05 Tene bah, what do you need sin() for?  isn't &infix:<**> enough?
22:06 masak spoken like a true minimalist.
22:07 masak rakudo: my @a = <foo bar baz>; say so "baz" ~~ /^ <@a> $/
22:07 p6eval rakudo f63b82: OUTPUT«Bool::True␤»
22:07 masak \o/
22:07 TimToady bah, what do you need ** for? or * for that matter
22:07 masak right, .succ is enough.
22:09 TimToady perl6: say ∅.succ
22:09 p6eval niecza v7-39-gfe88724: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Confused at /tmp/Tn4YUtW67j line 1:␤------> [32msay [33m⏏[31m∅.succ[0m␤Other potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /…
22:09 p6eval ..pugs: OUTPUT«decodeUTF8': bad data: '\8709'␤*** ␤    Unexpected "\8709."␤    expecting bare or pointy block construct, ":", identifier or operator␤    at /tmp/MtF4IVT27t line 1, column 5␤»
22:09 p6eval ..rakudo f63b82: OUTPUT«===SORRY!===␤Confused at line 22, near "say \u2205.succ"␤»
22:10 tadzik std: say ∅.succ
22:10 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/mtneD93W6P line 1:␤------> [32msay [33m⏏[31m∅.succ[0m␤    expecting any of:␤    bracketed infix␤        infix or meta-infix␤    statement modifier loop␤Other potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6
22:10 p6eval ..ple…
22:10 Tene perl6: say (e**(pi*i)).re
22:10 p6eval pugs: OUTPUT«*** No such subroutine: "&e"␤    at /tmp/8vqniSmcTf line 1, column 6-15␤»
22:10 p6eval ..rakudo f63b82, niecza v7-39-gfe88724: OUTPUT«-1␤»
22:11 TimToady niecza: constant ∅ = Nil; say ∅.WHAT; # :)
22:11 p6eval niecza v7-39-gfe88724: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Malformed constant at /tmp/gaqHS4lD55 line 1:␤------> [32mconstant [33m⏏[31m∅ = Nil; say ∅.WHAT; # :)[0m␤␤Parse failed␤␤»
22:11 Tene .u ∅
22:11 phenny U+2205 EMPTY SET (∅)
22:11 Tene What's the successor of the empty set?
22:11 TimToady dunno, ask Church
22:11 Tene Ahh, right.
22:14 masak {{}}, IIRC.
22:15 masak and then { {{}}, {} }.
22:15 TimToady as far as I'm concerned, he just found a different set of fingers to count on
22:15 TimToady but seriously, I wonder if we should allow declarations of non-alnum constant symbols
22:17 Sarten-X joined #perl6
22:17 TimToady there're a lot of math symbols that aren't alphanums; is it worth forcing all of them through term:<∅>-ness
22:18 TimToady std: constant Set ∅ = set();
22:18 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed constant at /tmp/ojqmW_gloS line 1:␤------> [32mconstant Set [33m⏏[31m∅ = set();[0m␤    expecting trait␤Parse failed␤FAILED 00:01 117m␤»
22:18 masak TimToady: why does that argument apply just to constants, and not to ordinary sigilled variables, though?
22:19 TimToady std: constant Set ø = set();
22:19 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed constant at /tmp/docx0F5KsP line 1:␤------> [32mconstant Set [33m⏏[31mø = set();[0m␤    expecting trait␤Parse failed␤FAILED 00:01 117m␤»
22:20 TimToady masak: it doesn't, is (perhaps) part of my point
22:20 TimToady p5 doesn't care what the next char is
22:20 TimToady which, of course, we/I heavily abused :/
22:21 TimToady std: constant Set o = set();
22:21 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed constant at /tmp/o7F7TfllVc line 1:␤------> [32mconstant Set [33m⏏[31mo = set();[0m␤    expecting trait␤Parse failed␤FAILED 00:01 117m␤»
22:21 TimToady duh
22:21 TimToady std: constant ø of Set = set();
22:21 p6eval std 516268a: OUTPUT«ok 00:01 120m␤»
22:22 TimToady std: constant ∅ of Set = set();
22:22 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed constant at /tmp/PnQ1yrkiXs line 1:␤------> [32mconstant [33m⏏[31m∅ of Set = set();[0m␤    expecting any of:␤  trait␤  type_declarator␤Parse failed␤FAILED 00:01 117m␤»
22:22 Chillance left #perl6
22:23 TimToady from those two examples, it can be argued that people who can't use the correct character (∅) will choose to use an incorrect character(ø) instead
22:23 masak ugh.
22:23 masak or they will use term:
22:23 benabik .u ø
22:23 phenny U+00F8 LATIN SMALL LETTER O WITH STROKE (ø)
22:24 TimToady I should fess up to also thinking a lot about SSA and sigilless "temporarily immutable" constants
22:24 sjohnson .u I
22:24 phenny U+0049 LATIN CAPITAL LETTER I (I)
22:26 masak TimToady: oh right, you mentioned at some point previously.
22:26 masak TimToady: sigilless feels fairly un-Perly in general, IMHO.
22:27 TimToady we could, for instance, allow new SSA symbols to be declared with 哈 ::= 42;
22:28 TimToady in this view the $ means "variable" more than it does now
22:29 sorear TimToady: I thought those were von Neumann numbers
22:32 ashleydev SSA symbols?
22:32 TimToady ah, yes, Church composed functions, not sets
22:33 mj41 left #perl6
22:33 TimToady http://en.wikipedia.org/wiki/​Static_single_assignment_form but more from a programming perspective than from a compiling perspective
22:34 TimToady basically you can do a single assignment to a new symbol without considering it a mutation
22:34 TimToady since it can be reanalyzed into nested binding
22:35 TimToady much like the rebinding of a function's arguments results in different values for the formals, but that's not mutation
22:35 TimToady SSA just treats the new symbol as a parameter to the rest of the block, more or less
22:36 benabik zero: λs.λz. z, one: λs.λz s z
22:37 TimToady obviously Perl should use ⻳ for lambda instead of ->
22:38 huf this could be the breakthrough moment!
22:38 TimToady or ⻲ or ⻱ depending on where you live
22:38 TimToady .u ⻳
22:38 phenny U+2EF3 CJK RADICAL C-SIMPLIFIED TURTLE (⻳)
22:40 TimToady no wait, then it would be turtles all the way up, not all the way down
22:40 TimToady nm
22:40 drbean .u ⻱
22:40 phenny U+2EF1 CJK RADICAL TURTLE (⻱)
22:40 * masak .oO( negative natural numbers )
22:40 TimToady unnatural numbers
22:41 benabik I watched a show about radical turtles when I was a kid...
22:42 huf benabik: ever tried re-watching a few episodes as an adult?
22:42 benabik huf: No, no, no.  Childhood memories need to stay that way.
22:42 huf benabik: well, if you liked it, make sure you dont watch any
22:44 tadzik I actually watched a few, those with Usagi Yojimbo, the rabbit samurai
22:44 tadzik I prefer the comic, definitely
22:44 * masak has a sudden suspicion rabbit samurai will figure in his dreams tonight
22:45 spq1 left #perl6
22:45 TimToady UY is not a comic; he takes himself very seriously
22:49 tadzik yeah, he takes karma more seriously than we do
22:55 pochi left #perl6
23:00 masak he doesn't even let his dogma ride in it? :P
23:06 molaf left #perl6
23:08 bluescreen10 left #perl6
23:08 masak 'night, #perl6.
23:08 masak left #perl6
23:10 * tadzik leaves too
23:10 tadzik g'night
23:12 kid51 joined #perl6
23:17 alester_ left #perl6
23:19 molaf joined #perl6
23:20 mkramer left #perl6
23:21 benabik left #perl6
23:22 benabik joined #perl6
23:23 bluescreen10 joined #perl6
23:30 orafu left #perl6
23:30 benabik left #perl6
23:31 benabik joined #perl6
23:32 tokuhir__ joined #perl6
23:34 orafu joined #perl6
23:37 CBro2007 left #perl6
23:37 ggoebel left #perl6
23:37 jevin left #perl6
23:37 betterworld left #perl6
23:37 robinsmidsrod left #perl6
23:37 moritz left #perl6
23:37 ashleydev left #perl6
23:37 jasonmay left #perl6
23:37 Guest18398 left #perl6
23:37 szbalint left #perl6
23:38 pochi joined #perl6
23:38 pmurias left #perl6
23:43 CBro2007 joined #perl6
23:43 ggoebel joined #perl6
23:43 jevin joined #perl6
23:43 betterworld joined #perl6
23:43 robinsmidsrod joined #perl6
23:43 moritz joined #perl6
23:43 ashleydev joined #perl6
23:43 jasonmay joined #perl6
23:43 Guest18398 joined #perl6
23:43 szbalint joined #perl6
23:48 ashleydev TimToady: would creating SSA symbols then translate to all ro values, such that $ comes to mean rw?
23:53 TimToady probably wouldn't force it to mean that, since we still need $*FOO ::= bar(); to mean a readonly dynamic var
23:53 sorear seems to pose parsing problems
23:53 sorear foo := 2;  # after foo, what is the state of the op/term flipflop?
23:53 sorear how does this allow postdeclared listops?
23:54 TimToady it would have to be a lookahead, just like => is
23:55 kfo joined #perl6
23:55 Trashlord left #perl6
23:56 TimToady or it would have to be a backoff when it was seen that a term can't start with => or := but that doesn't help the case of ∅ and friends
23:58 kfo_ left #perl6
23:58 TimToady but for ssa you probably want ::= rather than :=

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

Perl 6 | Reference Documentation | Rakudo