Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-08-22

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:10 rdice joined #perl6
00:12 wayland__ joined #perl6
00:18 dukeleto_ joined #perl6
00:23 carlin joined #perl6
00:29 dukeleto__ joined #perl6
00:31 s1n pmichaud: see the mini-hackathon invite we sent out? it'll be fun :)
00:35 colomon Anyone out there at the moment understand  method postcircumfix:<[ ]> (*@@slice) {...} ?
00:36 colomon *@@slice is a bit beyond me, I fear...
00:37 colomon rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; };
00:37 p6eval rakudo 0d4fe0:  ( no output )
00:38 colomon std: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; };
00:38 p6eval std 28048:  ( no output )
00:38 colomon std: : class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[@@slice] }; };
00:38 p6eval std 28048:  ( no output )
00:39 colomon rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; }; my $a = A.new; say $a[0];
00:40 p6eval rakudo 0d4fe0:  ( no output )
00:40 SmokeMachine joined #perl6
00:52 wayland76 joined #perl6
00:56 frew__ joined #perl6
01:00 colomon rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; }; my $a = A.new(a => 1..5); say $a[0];
01:00 p6eval rakudo 0d4fe0: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near "@slice) { "␤in Main (src/gen_setting.pm:3390)␤»
01:01 colomon rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { 15 } ; }; my $a = A.new(a => 1..5); say $a[0];
01:02 p6eval rakudo 0d4fe0: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near "@slice) { "␤in Main (src/gen_setting.pm:3390)␤»
01:08 M_o_C joined #perl6
01:13 xomas_ joined #perl6
01:22 alester joined #perl6
01:31 colomon rakudo: class A { has @.array; method postcircumfix:<[ ]>($n) { 15 } ; }; my $a = A.new(a => 1..5); say $a[0];
01:31 p6eval rakudo 0d4fe0: OUTPUT«15␤»
01:32 colomon rakudo: class A { has @.array; method postcircumfix:<[ ]>($n) { self.array[$n]; }; }; my $a = A.new(a => 1..5); say $a[0]
01:32 p6eval rakudo 0d4fe0: OUTPUT«Method 'array' not found for invocant of class 'Perl6Array'␤»
01:33 colomon rakudo: class A { has @.array; multi method postcircumfix:<[ ]>($n) { self.array[$n]; }; }; my $a = A.new(a => 1..5); say $a[0];
01:33 p6eval rakudo 0d4fe0: OUTPUT«Method 'array' not found for invocant of class 'Perl6Array'␤»
01:34 colomon rakudo: class A { has @.array; multi method postcircumfix:<[ ]>($n) { @.array[$n]; }; }; my $a = A.new(a => 1..5); say $a[0];
01:34 p6eval rakudo 0d4fe0: OUTPUT«Method 'array' not found for invocant of class 'Perl6Array'␤»
01:36 wayland76 rakudo: class A { has @.foof; multi method postcircumfix:<[ ]>($n) { @.foof[$n]; }; }; my $a = A.new(a => 1..5); say $a[0];
01:36 p6eval rakudo 0d4fe0: OUTPUT«Method 'foof' not found for invocant of class 'Perl6Array'␤»
01:37 wayland76 colomon: I presume you know about "handles", though, right?
01:37 colomon wayland76: errr.... no?
01:38 wayland76 rakudo: class A { has @.array; method postcircumfix:<[ ]>($n) { "15 $n on a dead man's chest" } ; }; my $a = A.new(a => 1..5); say $a[0];
01:38 p6eval rakudo 0d4fe0: OUTPUT«15 0 on a dead man's chest␤»
01:38 wayland76 colomon: justamo, will find doco
01:39 wayland76 colomon: Just open S12 and find "handles"
01:39 colomon wayland76: thanks.
01:39 wayland76 class Dog { has $.legs handles <walk run lope shake lift>; }
01:39 wayland76 etc :)
01:41 colomon Are you saying that "has @.array handles postcircumfix:<[ ]>" should work?!
01:42 colomon Because that's beyond awesome if it does.
01:42 colomon Or would it be "has @.array handles Array" ?
01:43 colomon rakudo: class A { has @.foof handles Array; };  my $a = A.new(a => 1..5); say $a[0];
01:43 p6eval rakudo 0d4fe0: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'A'␤»
01:45 colomon wayland76++
01:48 colomon Not that I have any idea how to make this work yet, but at least I've gotten exposed to cool new stuff.  :)
01:49 colomon Need to go to bed now before I collapse...
01:51 wayland76 I should point out that I don't know if it's implemented
01:51 wayland76 But it's definitely something that's supposed to work in P6 :)
01:52 wayland76 'night
01:53 nihiliad joined #perl6
02:13 cognominal rakudo:  if 0 but true { say ^a }
02:13 p6eval rakudo 0d4fe0: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (/tmp/GhBHOGKdWN:2)␤»
02:18 simcop2387 joined #perl6
02:24 TimToady std: if 0 but true { say ^a }
02:24 p6eval std 28048: OUTPUT«[31m===[0mSORRY![31m===[0m␤Expression needs parens to avoid gobbling block at /tmp/jf5p7JFpun line 1:␤------> [32mif [33m⏏[31m0 but true { say ^a }[0m␤Missing block (apparently gobbled by expression) at /tmp/jf5p7JFpun line 1 (EOF):␤------> [32mif 0 but true { say ^a
02:24 p6eval ..}[33…
02:25 TimToady std: if 0 but True { say ^a }
02:25 p6eval std 28048: OUTPUT«Undeclared routine:␤   a used at 1 ␤ok 00:02 39m␤»
02:27 alester joined #perl6
02:29 cognominal rakudo:  if 0 but True { say ^a }
02:29 p6eval rakudo 0d4fe0: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (/tmp/qtZynDbMPT:2)␤»
02:29 TimToady known bug, I believe
02:30 TimToady rakudo: 0 but Bool::True
02:30 p6eval rakudo 0d4fe0: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (/tmp/JGAtBg8icE:2)␤»
02:30 cognominal ok
02:30 TimToady but true is a listop
02:30 TimToady which is why it ate the block in std
02:31 tak11 joined #perl6
02:31 cognominal true is the true value in javascript, so my confusion
02:32 justatheory joined #perl6
02:44 TimToady decommuting &
03:05 simcop238 joined #perl6
03:42 tann joined #perl6
03:43 carlin rakudo: sub foo {}; say foo.WHAT;
03:43 p6eval rakudo 0d4fe0: OUTPUT«List()␤»
03:43 carlin rakudo: sub if {}; say if.WHAT;
03:43 p6eval rakudo 0d4fe0: OUTPUT«say requires an argument at line 2, near "if.WHAT;"␤in Main (src/gen_setting.pm:2510)␤»
03:43 carlin rakudo: sub if {}; say if().WHAT;
03:43 p6eval rakudo 0d4fe0: OUTPUT«List()␤»
03:44 Tene rakudo: sub if {}; say &if.WHAT;
03:44 p6eval rakudo 0d4fe0: OUTPUT«Sub()␤»
03:45 frew__ joined #perl6
03:54 carlin should sub foo {}; say foo.WHAT give a different output if the sub is called "if" rather than "foo"? (Even though 'if' is a language statement)
04:52 kyle_l5l joined #perl6
04:59 jaldhar joined #perl6
05:02 justatheory joined #perl6
05:14 tak11 joined #perl6
05:20 sri_kraih_ joined #perl6
05:30 jauaor left #perl6
05:41 orafu joined #perl6
07:24 cotto joined #perl6
07:50 jferrero joined #perl6
07:56 tann_ joined #perl6
08:21 frederico joined #perl6
08:21 Su-Shee joined #perl6
08:21 Su-Shee heyho. :)
08:25 moritz_ good morning Su-Shee
08:25 moritz_ carlin: no, should make no difference
08:39 moritz_ http://perlgeek.de/blog-en/perl-6/visualizing-match-trees.html
08:40 Su-Shee moritz_: that's a really cool idea.
08:41 yahooooo joined #perl6
08:41 Su-Shee moritz_: very educational. there's literally thousands of tools out there for web developers and "us common folks" who don't get the regex stuff.. all asking for something visual.
08:59 colomon moritz_: That's an amazingly cool idea.  But the example source and picture don't go together?  (One seems to be parsing Perl 6 code, the other something about the price of fruit?)  Or is there something subtle here I'm missing at 5 am?
09:02 moritz_ colomon: no, I messed it up, sorry
09:04 moritz_ colomon: fixed
09:06 Chillance joined #perl6
09:12 cotto joined #perl6
09:15 meppl joined #perl6
09:40 jaffa8 joined #perl6
09:40 jaffa8 hi
09:40 jaffa8 I downloaded parrot-win32 binary
09:40 jaffa8 and rakudo
09:40 jaffa8 but it does not work
09:55 cognominal can you be more specific?
09:56 jaffa8 I can
09:56 jaffa8 I get an error when I run per6.exe
09:56 jaffa8 perl6.exe
09:56 jaffa8 pct.pbc not ound
09:57 jaffa8 pct.pbc not found
09:57 jaffa8 cognominal,well?
09:58 moritz_ it looks like somebody[tm] missed a 'make install-dev' while building the packages.
09:58 moritz_ jaffa8: you can download and build it yourself, see http://rakudo.org/how-to-get-rakudo for instructions
09:59 jaffa8 I tried
09:59 jaffa8 that too
09:59 jaffa8 I get parrot_install is not recognised
09:59 moritz_ that seems... odd
10:00 moritz_ jaffa8: did the path to your build directory contain whitespaces?
10:00 moritz_ if so, you might try with a path without whitespaces
10:00 jaffa8 no
10:00 moritz_ we've had problems with that before
10:00 jaffa8 I use version 1.4
10:00 moritz_ and which rakudo?
10:01 bpetering joined #perl6
10:01 jaffa8 rakudo-2009-08
10:01 moritz_ you need parrot-1.5 for that
10:01 jaffa8 so which rakudo version can I use?
10:02 moritz_ 2009-07 works with parrot-1.4
10:02 moritz_ phenny: tell alester when I log in to rakudo.org I only see blank pages - any ideas?
10:02 phenny moritz_: I'll pass that on when alester is around.
10:03 Whiteknight joined #perl6
10:06 jaffa8 moritz_, I got it working
10:06 moritz_ jaffa8: great
10:06 moritz_ afk
10:06 jaffa8 I needed to set parrot-config for configure.pl
10:07 dalek rakudo: e83932a | (Martin Berends)++ | tools/test_summary.pl:
10:07 dalek rakudo: tools/test_summary.pl: code cleanup, more result output, added comments
10:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e83932a438a028c6365876316d5afcb9d323f868
10:11 jaffa8 rakudo gives me pretty bad error messages
10:13 payload joined #perl6
10:13 moritz_ we re-worked much of the build process for the 2009-08 release; if you have the option to use parrot-1.5 you should also try to use the latest rakudo
10:15 moritz_ really afk&
10:17 jaffa8 ok
10:20 colomon moritz_++
10:25 jaffa8 Is not possible to use a variable without declaring it?
10:26 carlin moritz_: so this is a bug?
10:26 carlin rakudo: sub foo {}; say foo.WHAT;
10:26 p6eval rakudo 0d4fe0: OUTPUT«List()␤»
10:26 carlin rakudo: sub if {}; say if.WHAT;
10:26 p6eval rakudo 0d4fe0: OUTPUT«say requires an argument at line 2, near "if.WHAT;"␤in Main (src/gen_setting.pm:2510)␤»
10:26 carlin (if so is it known? It's difficult to search for ...)
10:27 Front_slash joined #perl6
10:30 arthur-_ joined #perl6
10:31 jnthn morning all
10:33 jnthn jaffa8: We should support that as the default in -e eventually, and I guess one day you'll also be able to say "no strict", but Perl 6 by default requires declaration of variables.
10:33 * jnthn isn't sure why you'd want to not declare a variable outside of one-liners...
10:34 missingthepoint morning jnthn :)
10:34 phenny missingthepoint: 21 Aug 20:22Z <masak> tell missingthepoint (when he's around) that I've made great progress on my Text::CSV module today. all but one TODO ideas have been implemented. would love to have chat about the merge soon.
10:35 jnthn morning missingthepoint
10:35 jnthn Well, "morning" ;-)
10:35 missingthepoint haha, i just looked up bratislava... thought "morning". :)
10:36 missingthepoint (that's my definition of 'morning' too, in that it's when i become conscious.)
10:37 missingthepoint and now it's 8pm localtime and i have a bag of mars bars and a bunch of ideas.
10:37 missingthepoint @seen masak
10:37 lambdabot I saw masak leaving #perl6 11h 36m 16s ago, and .
10:38 jnthn ...and WHAT?!
10:39 missingthepoint heh, lambabot likes to include the null sentence. ;-)
10:39 missingthepoint erm, *lambda
10:41 missingthepoint phenny: tell masak to yell out when he shows up as I have those "further thoughts" to share with him.
10:41 phenny missingthepoint: I'll pass that on when masak is around.
10:50 duke_leto joined #perl6
10:53 masak joined #perl6
10:54 cognominal rakudo:   say  sort  map {  "'$_', " }, Class.^methods
10:54 p6eval rakudo 0d4fe0: OUTPUT«'!SUBTYPE_ACCEPTS', '!SUBTYPE_PROTOOVERRIDES', '', '', 'Array', 'BUILD', 'BUILDALL', 'CREATE', 'Hash', 'Iterator', 'PARROT', 'REJECTS', 'Scalar', 'Str', 'WALK', 'WHENCE', 'WHERE', 'WHICH', 'bless', 'clone', 'defined', 'eigenstates', 'hash', 'item', 'iterator', 'new', 'perl',
10:54 p6eval ..'print…
10:55 cognominal jnthn, how comes two method names comme empty?
10:55 cognominal s/comme/come/
10:56 masak cognominal: I believe it has something to do with where they are declared -- PIR-level, Setting or some other possibility.
10:56 phenny masak: 10:41Z <missingthepoint> tell masak to yell out when he shows up as I have those "further thoughts" to share with him.
10:57 jnthn Wow, doing it on Class is interesting...
10:57 * jnthn is happy it didn't explode
10:57 masak missingthepoint: y0!
10:57 jnthn cognominal: It'll be because there's some Parrot v-table overrides in there.
10:57 cognominal ok, just curious
10:57 jnthn That doesn't have a way to be called otherwise.
10:57 jnthn I guess in some senses its guts leakage. OTOH, if you're calling .^methods on something like Class you maybe deserve it. ;-)
10:58 cognominal well, I got it on other classes
10:58 cognominal rakudo:   say  sort  map {  "'$_', " },  Any.^methods
10:58 p6eval rakudo 0d4fe0: OUTPUT«'', '', ':d', ':e', ':f', 'Array', 'BUILD', 'BUILDALL', 'CREATE', 'Complex', 'Hash', 'Int', 'Iterator', 'PARROT', 'REJECTS', 'Scalar', 'Str', 'WALK', 'WHENCE', 'WHERE', 'WHICH', 'abs', 'bless', 'bytes', 'can', 'capitalize', 'ceiling', 'chars', 'chomp', 'chop', 'chr', 'cis',
10:58 p6eval ..'clone'…
10:59 jnthn oh
10:59 jnthn Yeah...hmmm
10:59 jnthn Oh, I know...
10:59 jnthn They're in Object probably.
10:59 cognominal rakudo:   Class A {};  say  sort  map {  "'$_', " },  A.^methods
10:59 p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "A {};  say"␤in Main (src/gen_setting.pm:3390)␤»
10:59 cognominal oops
10:59 cognominal rakudo:   class A {};  say  sort  map {  "'$_', " },  A.^methods
10:59 p6eval rakudo 0d4fe0: OUTPUT«'', '', ':d', ':e', ':f', 'Array', 'BUILD', 'BUILDALL', 'CREATE', 'Complex', 'Hash', 'Int', 'Iterator', 'PARROT', 'REJECTS', 'Scalar', 'Str', 'WALK', 'WHENCE', 'WHERE', 'WHICH', 'abs', 'bless', 'bytes', 'can', 'capitalize', 'ceiling', 'chars', 'chomp', 'chop', 'chr', 'cis',
10:59 p6eval ..'clone'…
11:00 masak jnthn: I'm way past the Moritz Workaround Limit on a thing I'd like to have for Text::CSV... could I run a feature request by you? it's about attributes on type objects.
11:00 cognominal rakudo:   class A {};  say  sort  map {  "'$_', " },  A.^parents
11:00 p6eval rakudo 0d4fe0: OUTPUT«'Any()', 'Object()', ␤»
11:01 test joined #perl6
11:02 jnthn masak: A type object doesn't have any instance storage.
11:02 jnthn masak: If that's what you mean.
11:02 masak jnthn: I kinda figured that out from S12, yes.
11:02 jnthn In Rakudo we currently tell you that by a Null PMC Access. ;-)
11:02 missingthepoint masak: y0!
11:03 jnthn But we really should find a better way. :-)
11:03 masak jnthn: or, equivalently, the attribute initializations are made at object instantiation time.
11:03 masak jnthn: but S12 goes on to talk about BEGIN { ... } and stuff.
11:03 test left #perl6
11:03 masak jnthn: and that doesn't work either. :(
11:03 masak missingthepoint: hello. I'd be happy to talk about your ideas.
11:04 missingthepoint masak: off-chan, they're really only relevant for you. :)
11:04 jon joined #perl6
11:04 jnthn attributes are init'd during BUILD, IIUC
11:04 cognominal rakudo:   class A {};  say  A.PARROT
11:04 p6eval rakudo 0d4fe0: OUTPUT«␤»
11:04 masak jnthn: in fact, I've found no way to assign values to the attributes of the type object. it's not a strict necessity for the Text::CSV module, but it'd be really nice.
11:04 jnthn That's spec though so far as I know.
11:04 duke_leto Is @*ARGS the only way to access the program arguments?
11:04 cognominal say my @a.PARROT
11:04 test joined #perl6
11:04 cognominal rakudo: say my @a.PARROT
11:04 jnthn masak: The point is that by definition a type object has no instane storage.
11:05 p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".PARROT"␤in Main (src/gen_setting.pm:3390)␤»
11:05 cognominal rakudo: my @a; say @a.PARROT
11:05 p6eval rakudo 0d4fe0: OUTPUT«Perl6Array␤»
11:05 masak jnthn: well, see S12:646.
11:06 jnthn Pseudo-assignment to an attribute declaration specifies the default
11:06 jnthn value.  The value on the right is treated as an implicit closure and
11:06 jnthn evaluated at object build time, that is, when the object is being
11:06 jnthn constructed, not when class is being composed.
11:07 masak right.
11:07 jnthn I think Rakudo is doing that correctly.
11:07 masak and then it goes on to describe ways around that, with BEGIN et al.
11:07 jnthn has $.r = BEGIN { rand }; # would mean we compute the value at BEGIN time and just shove that into the closure, I guess.
11:08 masak but I'm starting to see that this is not inconsistent with what you said about attributes not being available to type objects.
11:08 masak ok, here's my use case instead; maybe we'll be able to find a way to do that.
11:08 jnthn masak: Right, we don't do the assignment in any way at compose time.
11:08 masak I have a couple of class-wide parameter defaults. I'd like to store those in the class.
11:09 jnthn masak: It's just that instead of the implicit closure being { rand } it is instead { BEGIN { rand } }
11:09 masak before a couple of minutes ago, I thought I could store those as instance variables.
11:10 masak but that doesn't work, becase I call my methods on the type object sometimes, and they have to be available then.
11:10 jnthn class Foo { our $.bar is rw }; my $x = Foo.new; my $y = Foo.new; $x.bar = 10; say $y.bar
11:10 jnthn rakudo:class Foo { our $.bar is rw }; my $x = Foo.new; my $y = Foo.new; $x.bar = 10; say $y.bar
11:10 masak hm. :) I think I have an idea. I'll have to store the constants as lexicals instead, and then initialize them to the attributes. yeah, that works. it's three levels instead of two, but it has the advantage of working.
11:11 jnthn Is that the semantics you want?
11:11 jnthn rakudo: class Foo { our $.bar is rw }; my $x = Foo.new; my $y = Foo.new; $x.bar = 10; say $y.bar
11:11 p6eval rakudo 0d4fe0: OUTPUT«10␤»
11:11 masak no.
11:11 masak let me whip up an example.
11:13 missingthepoint masak: here's something that is relevant for the channel
11:13 masak :)
11:13 missingthepoint why is there no use_ok() in Test.pm?
11:13 missingthepoint I want one. I'm willing to create one but got stuck.
11:13 masak missingthepoint: maybe that's why. :)
11:14 missingthepoint :)
11:14 wayland76 ping bots
11:14 missingthepoint wayland76: pong
11:14 wayland76 missingthepoint: @tell phenny I want an icecream :)
11:14 fredrecsky joined #perl6
11:15 missingthepoint hahaha
11:15 wayland76 turing test fail :)
11:15 masak rakudo: class A { my $foo-default = 42; has $!foo; method bar(:$foo is copy) { if !$foo.defined { $foo = $foo-default }; say $foo } }; A.bar(); A.bar(:foo(43)); A.new(:foo(44)).bar
11:15 p6eval rakudo 0d4fe0: OUTPUT«42␤43␤42␤»
11:16 masak jnthn: there's a partial implementation of my idea. I want it to say 42, 43, 44.
11:17 masak ah, here:
11:17 masak rakudo: class A { my $foo-default = 42; has $!foo; method bar(:$foo is copy) { if !$foo.defined { $foo = self.WHICH == A.WHICH ?? $foo-default !! $!foo }; say $foo } }; A.bar(); A.bar(:foo(43)); A.new(:foo(44)).bar
11:17 p6eval rakudo 0d4fe0: OUTPUT«42␤43␤44␤»
11:18 masak (is there a better way to say "am I an instantiated object?")
11:18 masak self.defined, perhaps?
11:18 jnthn self.defined, yes
11:18 jnthn also, why .WHICH?
11:18 jnthn === calls .WHICH on each side.
11:19 masak oh, ah.
11:19 jnthn And you probably can't trust it to be something you can numerically compare.
11:19 jnthn Plus it makes your code shorter. :-)
11:19 masak rakudo: class A { my $foo-default = 42; has $!foo; method bar(:$foo is copy) { if !$foo.defined { $foo = self === A ?? $foo-default !! $!foo }; say $foo } }; A.bar(); A.bar(:foo(43)); A.new(:foo(44)).bar
11:19 p6eval rakudo 0d4fe0: OUTPUT«42␤43␤44␤»
11:19 masak for some reason, using === rather than self.defined feels safer.
11:20 masak someone could be mucking with the .defined method.
11:20 jnthn True.
11:21 jnthn Anyway, looks like lexical in the class is the solution you wanted. :-)
11:21 masak yes.
11:21 masak and fewer Null PMC accesses in general. :P
11:24 payload joined #perl6
11:26 Matt-W o/
11:26 masak o/
11:27 masak oh, I'll probably have to go with .defined despite its overridability... the === solution doesn't handle subclassing very well.
11:27 * Matt-W is enjoying free wifi at st pancras international
11:29 Matt-W hmm
11:29 Matt-W interesting fun with methods there masak
11:29 Matt-W You're trying to make something which behaves in some sane manner called on both the class and on an instance?
11:29 masak more or less, yes.
11:30 masak it's kind of a pattern I see emerging with modules/classes.
11:30 masak the idea is that some defaults are provided for you, but you can override them by instantiating -- or by passing arguments.
11:30 masak the former has the advantage that you get an object with your defaults.
11:31 Matt-W yeah
11:31 Matt-W sounds interesting
11:31 Matt-W if you develop it properly, make sure you blog about it
11:31 Matt-W we need thoughts out there about perl 6 design
11:31 Matt-W as in, how to write stuff using it rather than how to design the language itself
11:32 masak Matt-W: yes. this will definitely become a blog post.
11:32 Matt-W hurrah
11:35 pmurias joined #perl6
11:37 jnthn masak: You could always hack up a trait.
11:37 jnthn This nearly works:
11:37 jnthn multi trait_mod:<is>(AttributeDeclarand $a, $value, :$type-object-valued) { my $accessor_name = $a.name.substr(2); my $meth = method { self.defined ?? $value !! eval($a.name) }; $a.how.add_method($a.how, $accessor_name, $meth);
11:37 jnthn }
11:37 jnthn oh fail
11:37 pmurias what's the state of MAD?
11:38 jnthn http://gist.github.com/172753
11:38 Matt-W jnthn: I found your blog post on custom traits very interesting
11:38 jnthn pmurias: Well, Russia and the US are both still there...
11:38 Matt-W jnthn: I may have a use for those soon...
11:38 masak jnthn: cool!
11:38 jnthn masak: You'll never guess why it doesn't actually work though. :-/
11:38 pmurias jnthn: meant the stuff in perl5 for translation to perl 6
11:39 jnthn pmurias: ;-)
11:39 masak jnthn: no, probably not.
11:39 jnthn pmurias: I'm not so sure...I seem to remember hearing that it wasn't been maintained as much as it maybe needed to be from somewhere...
11:40 jnthn That may just be because it's not being used all that much at the moment though.
11:40 jnthn masak: The eval to get the attribute value is has a fail.
11:40 jnthn masak: Because eval doesn't realize we're inside of a class.
11:40 jnthn :-/
11:40 masak :(
11:40 jnthn I'm not really sure what to do about that.
11:41 Matt-W :(
11:41 Matt-W eval needs to be more aware of its calling environment?
11:41 jnthn Actually, it's the same issue we have with .perl
11:41 jnthn In terms of wanting a general solution.
11:41 reqamst masak: I was testing this things from S12 to implement method_missing, but it doesn't work :(
11:41 masak jnthn: well, I currently have this, which is pretty nice: http://gist.github.com/172758
11:41 jnthn That is, there's no way to actually get at the attribute storage.
11:41 jnthn From Perl 6.
11:41 masak reqamst: sorry to hear that. maybe submit a TODO ticket?
11:42 jnthn We all know we can from inline PIR.
11:42 Matt-W oh
11:42 Matt-W hmm
11:42 Matt-W that is a bit of a problem
11:42 reqamst masak: I still could parse $!, but I think it's wrong way
11:43 reqamst masak: but I will try yet
11:43 masak reqamst: I'm not really following what you're doing here.
11:44 jnthn masak: Not so bad. :-)
11:44 reqamst masak: moment for respite ;)
11:45 * Matt-W would have used a pointy sub instead of placeholder parameters
11:45 masak jnthn: it doesn't work, though :(
11:45 masak jnthn: (beacuse the arguments to the closure are evaluated unconditionally)
11:46 Matt-W that's a problem?
11:46 cotto joined #perl6
11:46 * Matt-W thinks it looks quite sensible
11:46 masak Matt-W: yes, you're not allowed to speak about $!foo for a type object.
11:46 masak Matt-W: and Rakudo punishes you with a Null PMC access right now.
11:46 Matt-W oooh of course
11:46 Matt-W the moment you pass $!foo to the closure it's going to try and look it up
11:47 masak yes :(
11:47 jnthn And you can nee eval it because... :-(
11:47 Matt-W you need a way to write subroutines which can shortcut their own arguments...
11:47 Matt-W MACRO TIME
11:47 Matt-W :P
11:48 jnthn Oh, just wrap it up in a closure. :-P
11:48 Matt-W yeah I was about to suggest that
11:48 masak er.
11:48 jnthn Unpretty though.
11:48 Matt-W but if yo udid it with a macro it could do that for you
11:48 jnthn Right.
11:48 Matt-W it *would* defer evaluation :)
11:48 jnthn Which would be pretty.
11:48 masak I think I'll just go the way of an if/else statement.
11:48 jnthn Mmm. Pretty.
11:48 Matt-W well get on with implementing them then :)
11:49 Matt-W forget this rakudo star thing, we want a mungeable grammar
11:50 rdice joined #perl6
11:50 jnthn hi rdice :-)
11:50 rdice jnthn: Ahoy!
11:50 masak rdice: o/
11:50 rdice masak:  Hi hi.
11:51 rdice (now appears to be the time for the Europeans to bid good morning to the N'Americans who are just in the process of waking up.)
11:51 Matt-W yup
11:51 Matt-W and nearly time for me to go get my train
11:51 jaffa8 How I make a label in Perl 6?
11:52 masak jaffa8: just like in Perl 5.
11:52 jnthn Matt-W: Going anywhere exciting?
11:52 jnthn Matt-W: Is the train British^Wdelayed? ;-)
11:52 jaffa8 I get a syntax error
11:52 Matt-W jnthn: going home, and it's british but currently showing as on time
11:52 masak jaffa8: in Rakudo?
11:53 jnthn Matt-W: Wow. ;-)
11:53 Matt-W the eurostar seems to be running on time too
11:53 Matt-W astonishing
11:53 Matt-W I have, so far, been very lucky with travel
11:53 jaffa8 masak, in Rakudo
11:53 Matt-W yesterday was flawless
11:53 masak jaffa8: that's because labels are not implemented yet.
11:53 Matt-W today so far has only been marred by an impatient american demanding of me why the train stopped for so long at Redhill
11:53 Matt-W as if I look like I'd know...
11:53 jnthn Yeah, but the Eurostar is run half by the French too, who actually run a decent railway network in my experience, on the days they aren't on strike. ;-)
11:53 Matt-W true
11:54 jaffa8 Matt-W, where is Red Hill?
11:54 cognominal italian and british train are late, french one are on strike!
11:54 Matt-W Redhill is in Surrey
11:54 Matt-W not far south of London
11:54 rdice jnthn:  there appears to be a universal law of conservation of annoyance at play in your observation.
11:55 jnthn rdice: There's always *something* to complain about, y'know. :-)
11:55 jaffa8 masak, that is bad, my hopes were greater than this
11:55 rdice Complaining is your own choice.  Annoyance is what the universe gives onto you without your input in the matter.
11:55 carlin if there was nothing to complain about you could complain about having nothing to complain about
11:55 Matt-W jnthn: at the moment I'm anticipating getting back to Nottingham and discovering that the trams are broken and the cat's trashed the house
11:56 masak jaffa8: well, it's a volunteer effort. not everything can be done at once.
11:56 masak jaffa8: you are very welcome to help.
11:56 jnthn Surely a cat wouldn't do such a thing? ;-)
11:56 jnthn They look so cute and innocent.
11:56 jaffa8 masak, I read the someone is sponsoring it
11:56 Matt-W errrr
11:57 Su-Shee jnthn: you have no idea what this 2 kg fluffballs are capable of. ;)
11:57 Front_slash joined #perl6
11:57 masak jaffa8: yes, someone is sponsoring it.
11:57 cognominal Part of the line of rapid transit system  is owned RATP and the other by  SNCF (subway company and railway company) so I have twice the chance to have problem with strikes.
11:57 masak jaffa8: the bottleneck is still developer hours, however.
11:57 jnthn jaffa8: Yes, that still doesn't give us infinite resources. :-)
11:57 Matt-W it gives us a lot more than it would otherwise...
11:57 jaffa8 the task is finite.
11:57 masak jaffa8: but not small.
11:57 jnthn Sure, so are our resources.
11:58 cognominal And this is the one that links Orly airport and Xharles de Gaulle airport too...
11:58 abra joined #perl6
11:59 jnthn jaffa8: The other thing is that a decent bit of things that do get added are in response to things people developing stuff on Rakudo actually run into (or at least, such things get a priority boost quite often). Labels from what I've heard just aren't missed *that* much.
11:59 jnthn So haven't ever really risen that high on the todo list yet.
11:59 Matt-W Right, I'll be back in four hours or so
11:59 Matt-W o/
11:59 jnthn Matt-W: Safe travels. o/
12:00 masak jaffa8: out of curiosity, what is it you need labels for?
12:01 jaffa8 I am trying to convert an old perl 5 program
12:01 jnthn .oO( also I've no clue how we're going to implement labels... )
12:01 jaffa8 it contains copy sub
12:01 jaffa8 I think I copied it from File::Copy
12:01 jaffa8 that contained some labels.
12:01 jnthn Aha.
12:01 jaffa8 It used for error handling
12:02 jaffa8 e.g.   close(TO)   || goto fail_open2 if $closeto;
12:03 jaffa8 Is Pugs better?
12:04 Juerd g...g...goto?
12:05 masak jaffa8: I'm sure we can do better than goto for error handling. :)
12:05 jnthn jaffa8: To be honest, looking at that line of code suggests to me that there's probably a better way to write such things in Perl 6 that don't require labels / goto.
12:05 jnthn jaffa8: Perl 6 has CATCH blocks, for example, so exception handling is more workable.
12:07 jaffa8 ok
12:08 moritz_ jnthn: btw I also experience blank pages on rakudo.org, after logging in
12:08 jnthn moritz_: Ah!!
12:08 jnthn moritz_: I have auto-login...
12:08 jaffa8 Is Pugs better?
12:08 Juerd jaffa8: Did you know, by the way, that using goto for error handling is considered a bad idea in just about any programming language except BASIC?
12:09 jaffa8 I did not write the code
12:09 Juerd Doesn't really matter who did it :)
12:10 Juerd You appear to have the privilege of fixing it :)
12:10 cognominal jnthn, trying to understand the empty names.  What is the difference between  .sub '' :method('list')      and .sub list :method    I don't get what says pdd19_pir.pod:240
12:10 masak jaffa8: I'm not so sure Pugs can be said to be better. it's certainly less seen to nowadays.
12:10 jnthn jaffa8: Pugs may handle labels, I'm really not sure... Pugs is not really maintained these days, and has fallen behind with the spec somewhat as a result. Feature wise, it handles a few things Rakudo does not yet, but Rakudo handles various things that Pugs never has.
12:10 pmurias Juerd: goto is used for error handling in the linux kernel
12:11 moritz_ it's not maintained in nor developed anymore
12:11 cognominal Juerd, well, in C, goto is very useful to exit many levels of loop
12:11 jnthn Plus Rakudo, since it's actively developed, is catching up on those things.
12:11 moritz_ pmurias: yes, because C has no exceptions
12:11 Juerd pmurias: Kernels do ugly things all over the place
12:12 cognominal Juerd, I am not speaking of exiting routines, but embedded loops
12:12 Juerd Maybe I should have said "every high level programming language"
12:12 Juerd But then I have to indicate where high level starts :|
12:12 cognominal ...within a function
12:13 jnthn cognominal: I guess the difference is in the namespace entry it gets...
12:13 jnthn That is, it only ends up as a method, but not in the NS.
12:13 pmurias Juerd: if a bad thing happens while you initialise stuff a goto is the best way in C to jump to the abropriate place in the deinitalisation sequence
12:13 cognominal jnthn, so why do you vary between the two styles?
12:14 Juerd pmurias: I'm not sure I could ever code C.
12:14 jnthn cognominal: We generally don't use the :method('name') one much at the moment...
12:15 jnthn cognominal: But really there's some clean-up to do there.
12:16 * jnthn afk for a bit
12:16 cognominal ok, so there is no relationship with the empty method names as per ,^methods
12:21 jaffa8 I found a bug
12:21 jaffa8 I had catch fail_inner{
12:21 jaffa8 'the syntax was not recognised properly
12:22 jaffa8 I had >>>catch fail_inner{<<<<
12:22 masak jaffa8: it's CATCH with capital letters.
12:22 masak rakudo: CATCH { say "like this" }
12:22 p6eval rakudo 0d4fe0:  ( no output )
12:22 jaffa8 in the documention
12:22 jaffa8 it is in lowercase.
12:22 masak which documentation?
12:23 jaffa8 http://dev.perl.org/perl6/rfc/63.html
12:23 masak jaffa8: that's not documentation, that's an RFC.
12:23 masak jaffa8: those are suggestions from nine years ago about what should end up in the language.
12:23 masak not all features were accepted, and even those that were were often changed in significant ways.
12:24 jaffa8 should try be in uppercase too?
12:24 masak jaffa8: no.
12:24 jaffa8 only the catch?
12:24 moritz_ go to http://perl6-projects.org/ and follow the links for Specification and Documentation
12:24 masak jaffa8: what moritz_ said. they explain it better and more compactly.
12:24 masak jaffa8: the things about try and CATCH are in S04.
12:25 missingthepoint moritz_: if one wants to test a .parse method, should one rely on .perl, or is is_deeply() in Test.pm better?
12:26 moritz_ missingthepoint: .perl is not suited for comparison, because it doesn't sort hash keys
12:26 moritz_ I don't know how well is_deeply() deals with Match objects.
12:27 missingthepoint ah. that's all i need to know (.perl is insufficient)
12:27 masak moritz_: I know there isn't any logic in is_deeply() for Match objects.
12:27 missingthepoint (we don't need to deal with Match objects, because generally we can test individual fields)
12:27 masak so probably not that well. but I imagine it could be adapted to deal well with them.
12:27 moritz_ infix:<eqv> doesn't handle it either.
12:28 missingthepoint masak: I think testing Match objects for Text::CSV would be testing implementation. I think .fields is the interface, no?
12:28 masak missingthepoint: I currently only expose things through .parse and .parse-file
12:29 masak I'm not sure .fields makes sense, since the object doesn't store the parse.
12:29 explorer__ joined #perl6
12:30 missingthepoint masak: we need to figure that out (it's kind of a central question - should we still keep state in the parse?)
12:30 missingthepoint s/parse/object/
12:31 missingthepoint why did you go the direction you did?
12:31 jaffa8 Does local exist in Perl 6?
12:32 cognominal jaffa8, that would be tmp
12:32 wayland76 jaffa8: The section about CATCH is at http://perlcabal.org/syn/S04.html#Closure_traits
12:34 jaffa8 cognominal, Can you rephrase that?
12:34 missingthepoint jaffa8: 'local' becomes 'temp' (more or less)
12:35 jaffa8 the contained local
12:35 jaffa8 I did not get a syntax error
12:35 jaffa8 How is that possible?
12:35 missingthepoint jaffa8: code?
12:35 cognominal jaffa8, see http://gist.github.com/172768
12:36 cognominal ...for all the reference to the temp keyword
12:36 jaffa8 local ( FROM, TO );
12:37 rdice joined #perl6
12:38 jaffa8 Are forward references necessary in Perl 6?
12:38 cognominal jaffa8, what do you mean?
12:39 jaffa8 sub extract_idfo;
12:41 cognominal they are necessary for multisub so that signatures are available for dispatch purposes
12:41 pmurias jaffa8: they aren't nessesary in perl5
12:41 pmurias jaffa8: and neither they are in perl6
12:42 cognominal otherwise I suppose you can (must?) use parentheses to mean a sub call without parameters
12:42 pmurias perl6: foo;sub foo {say "hi there"}
12:42 p6eval elf 28048, pugs, rakudo 0d4fe0: OUTPUT«hi there␤»
12:42 pmurias cognominal: you meant that something like that?
12:43 missingthepoint hmm, i didn't expect that to work :)
12:43 cognominal yes, you just precised what I meant to say.
12:46 duke_leto uhm… Why does “@array = []; say +@array;” produce 1 – and “@array = (); say +@array;” produce 0? Is that intentional?
12:48 cognominal rakudo:  my @array=[];  say @array.perl
12:48 p6eval rakudo 0d4fe0: OUTPUT«[[]]␤»
12:48 cognominal duke_leto, you get it?  :)
12:49 jnthn duke_leto: [] constructs an array, () a list.
12:49 duke_leto I see… this creates an array of an empty array.
12:49 jnthn duke_leto: You can think of [] a bit like an array ref in Perl 5 - it won't flatten.
12:49 jnthn Correct.
12:50 duke_leto How would I “reset” an array? The situation is, I use an array many times, but want to make it empty at one point.
12:50 cognominal @a = ()  # with an empty list
12:50 lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
12:51 duke_leto hm. Okay, thanks cognominal and jnthn :-)
12:51 cognominal jnthn++
12:54 Front_slash joined #perl6
12:58 wayland76 masak: So now you've told us about the character classes.  But what about the different races?  Who gets to be the elves/dwarves/etc? :)
13:00 masak wayland76: the metaphor is open. you're free to extend it in the direction you want. :)
13:00 wayland76 masak: Oh, yeah, forgot :)
13:01 masak missingthepoint: (re why did I choose the current stateless design) -- (1) I mildly dislike state, (2) the interesting thing about a CSV parser is the final data, and this design gets out of the way in providing that, (3) I really didn't make a conscious decision; this felt right.
13:02 jaffa8 ++++
13:04 carlin @karma ++
13:04 lambdabot ++ has a karma of 5
13:04 carlin heh
13:11 payload joined #perl6
13:17 arthur-_ joined #perl6
13:23 * moritz_ just found the first mention of "-Ofun" on #perl6
13:23 moritz_ http://irclog.perlgeek.de/perl6/2005-09-06#i_-496682
13:24 masak September 2005? that late?
13:24 duke_leto Hm…
13:25 duke_leto don’t regexes with unicode work yet?
13:25 moritz_ they do
13:25 duke_leto Or what is wrong with /←/ ?? :-(
13:25 moritz_ duke_leto: since ← is not alphanumeric you need to escape or quote it
13:26 duke_leto oh… didn’t know that. so /\←/ should work?
13:26 moritz_ the first mention of "optimized for fun" is from 2005-07-19
13:26 moritz_ duke_leto: yes
13:26 masak duke_leto: you have to escape non-alphanumerics.
13:26 masak aye.
13:27 masak moritz_: ok, that lends it a bit more credibility.
13:27 duke_leto thanks moritz_ & masak :-)
13:28 * masak bows
13:28 Su-Shee I've started to change perl6-projects.org again to make it scale better for more information and to be the central website.
13:28 Su-Shee so I separated it by "subjects".
13:29 Su-Shee http://sushee.no-ip.org/p6p/
13:29 Su-Shee idea is: easy and fast startpage - details and more information on subpages.
13:29 Su-Shee (which can be longer, more details and as extensive as they need to be.)
13:32 Su-Shee (imagine it more shiny, please and with a navigation menu on the subpages and stuff.. ;)
13:33 masak Su-Shee: I'm slightly doubtful that moving the links away from the main page is an improvement.
13:33 masak Su-Shee: right now what I like about the page is that it's everything-at-once.
13:33 masak you don't have to click to somewhere else to get more information; it's all there.
13:34 Su-Shee masak: on the "all in one page", stuff can't be easily added in the future or the page will break or you have to scroll..
13:35 Su-Shee and it all points elsewhere. nothing more on perl6-projects.org
13:35 masak I think I like the improved Camelia, though. only thing is that the shinier she gets, the more jarring the 'P' and the '6' look.
13:35 masak Su-Shee: yes, I understand your concern too. it's definitely a tradeoff of some kind.
13:35 moritz_ TimToady will complain about the TM being removed again ;-)
13:36 Su-Shee old image, I can add it again. ;)
13:36 Limbic_Region joined #perl6
13:36 moritz_ masak, Su-Shee: there might be a compromise...
13:36 moritz_ include the first 3 or for links for each section
13:36 moritz_ and then have 'more' link
13:37 moritz_ that in the standard version loads the appropriate sub page
13:37 wayland76 phenny: tell pmichaud I just found a possibly useful tool: rpmdev-bumpspec which claims to "Bump revision in specfile".  It comes in the fedora package rpmdevtools
13:37 phenny wayland76: I'll pass that on when pmichaud is around.
13:37 Su-Shee ok, easily done. I would make it the "most important three links" though, not just the "first three"
13:37 moritz_ and if javascript is enabled, it include a longer list in-place
13:37 masak Su-Shee: sure, it all points elsewhere. maybe I should have said "you're intriducing one more level of indirection" to express my concern with the new design.
13:37 masak suddenly it sounds like something that should be generated...
13:38 masak I like that.
13:38 masak as long as it degrades gracefully.
13:38 Su-Shee My thinking was along the lines of making perl6-projects.org the center piece of perl6 websites. which I assume to be extensive in the future and contain much more stuff and many examples and documentation.
13:38 JimmyZ joined #perl6
13:39 moritz_ it should be the center, yes
13:39 missingthepoint how about a compromise? have a lightbox effect with the "most important info" from each subpage?
13:40 moritz_ and I agree with Su-Shee that the current design and concept doesn't scale enough
13:40 Su-Shee the first three links/three most important links and a more thingie would also fit...
13:41 masak missingthepoint: moritz_ is way ahead of you. :)
13:41 Su-Shee think about next year having 40 tutorials and many exmaple code pages and a perl 6 forum for example.
13:41 JimmyZ Maigao, wanshanghao.
13:42 missingthepoint masak: "lightbox" is superset of "javascript longer list-in-place"... it's a specific way of implementing that :)
13:43 masak missingthepoint: oh; I did not know that.
13:43 moritz_ general things first, specifics later.
13:43 Su-Shee first, let's decide wether/not separate the pages/subjects. the "more" technology and design can come later :)
13:43 masak moritz_++ # JDFI
13:43 missingthepoint indeed. i agree the current design, while excellent, isn't scaley.
13:44 moritz_ what missingthepoint said.
13:44 JimmyZ masak: Don't you foget your chinese name? ;)
13:44 zloyrusskiy joined #perl6
13:44 Su-Shee and it's difficult to read and to understand.
13:45 moritz_ so I agree with Su-Shee's concept (barring a few minor details which we'll surely resolve)
13:45 masak JimmyZ: it's 麦高. why do you ask? :)
13:45 JimmyZ I typed Maigao ;)
13:46 masak JimmyZ: sorry, I wasn't paying attention. :/
13:46 JimmyZ masak: haha
13:46 masak I'm eating lunch while glancing at the IRC window. Maigao didn't get highlighted.
13:47 masak JimmyZ: 晚上好.
13:47 Su-Shee moritz_: I also like to weed out links a little. Do we really have to link old stuff which hasn't been updated for three years?
13:47 JimmyZ masak: you're working hard on #perl ;)
13:48 moritz_ Su-Shee: you mean pugs?
13:48 masak JimmyZ++ # keeping my 普同话 alive
13:48 masak JimmyZ: I am?
13:48 Su-Shee moritz_: in two years, I also mean pugs, but right now for example u4x
13:48 JimmyZ masak: yes
13:49 JimmyZ masak: typo, it's 普通话.
13:49 moritz_ Su-Shee: u4x is being worked on, though the blog post wasn't updated - maybe we need something better to link to
13:49 masak Su-Shee: I think u4x could be seen as relevant still.
13:49 Su-Shee ok.
13:49 JimmyZ masak: Had you seen pinyin.sogou.com? the almost best pinyin shurufa.
13:50 masak JimmyZ: ah, thanks. I hesitated between those two.
13:50 masak JimmyZ: will check it out.
13:50 moritz_ Su-Shee: but in general, maybe we should have a page about historic Perl 6, linking to the apocalypsis, exegesis, RFC, pugs, etc.
13:50 Su-Shee moritz_: I also like to add existing Perl6/Rakudo modules as long as this is a handful stuff on github
13:51 masak but my shurufa right now is Emacs.
13:51 Su-Shee moritz_: which can be removed when it all moves to cpan.
13:51 masak Su-Shee: projects.list in proto contains a comprehensive list.
13:51 moritz_ Su-Shee: it's more than a handful
13:52 masak definitely more than a handful.
13:52 masak the past month has been especially prolific.
13:52 Su-Shee moritz_ / masak than it has to be listed on p6p.
13:52 JimmyZ masak: 普通话 means universal-common-use-language. not universal-same-use-language.
13:52 masak JimmyZ: ah; of course.
13:53 masak Su-Shee: sure, feel free to link to http://github.com/masak/proto/blob/master/projects.list
13:53 missingthepoint does anyone know of an IRC client with font replacement? I want to see JimmyZ's chars.
13:54 JimmyZ missingthepoint: chatzilla
13:54 Su-Shee masak: actually I want to link every single project. easy click and access and such.
13:54 Su-Shee missingthepoint: irsii is perfectly capable of unicode if your terminal is :)
13:54 JimmyZ missingthepoint: or see irclog with firebox
13:55 masak Su-Shee: there's a clear risk of duplicated efforts there.
13:55 mikehh rakudo (e83932a) builds on parrot r40715 - make test/make spectest (up to 28048) PASS - Ubuntu 9.04 amd64 (g++)
13:55 masak Su-Shee: couldn't one generate something from projects.list instead?
13:55 JimmyZ missingthepoint: chatzilla is well supporting utf-8
13:55 Su-Shee masak: sure.
13:56 masak JimmyZ: now the problem for me with sites like http://pinyin.sogou.com/ is that I'm not proficient enough to navigate through a jungle of hanzi :/
13:56 moritz_ masak: any objections to adding an abstract line to each module in projects.list?
13:56 molaf joined #perl6
13:56 Su-Shee masak: and the risk of dublicated effort right now weighs IMHO the value of having something to show easily. if this is up to let's say a hundret projects, it's time to cpanize anyway.
13:56 masak moritz_: not really. but there's one already on github.
13:56 JimmyZ masak: how do type chinese words?
13:57 masak JimmyZ: with Emacs/LEIM.
13:57 JimmyZ masak: s/do/do you/g
13:57 masak Su-Shee: it's time to cpanize _now_. we just don't have that option available.
13:57 Su-Shee "hrmpf". :)
13:57 JimmyZ masak: what's input method?
13:57 masak Su-Shee: you're free to duplicate all the effort you want. I'm just advising against it.
13:58 masak JimmyZ: it's called LEIM, it's an Emacs package.
13:58 masak JimmyZ: ah, I type Pinyin.
13:58 masak JimmyZ: I also have wubi as an option.
13:58 masak but I don't master wubi yet.
13:59 JimmyZ masak: http://pinyin.sogou.com/ is pinyin, if you're on windows.
13:59 masak JimmyZ: I'm not.
13:59 JimmyZ I think it's hard to use wubi for you( and me ).
14:01 missingthepoint Can I help clarify? Su-Shee, why do you want easy-click access to every single project? Is it in keeping with the "one site for all perl 6 projects idea"?
14:01 masak I'm on a NetBSD Unix version called Darwin.
14:01 masak JimmyZ: yes, but it seems so much better than pinyin, once you get fast with it.
14:01 masak JimmyZ: actually, now that I think about it, it aligns much more with how TimToady breaks down characters. you type components, not sounds.
14:01 masak Su-Shee: I've long toyed with the idea of making it easy for proto to share it's ecosystem information with the external world.
14:02 Su-Shee masak: meaning for us common folks? :)
14:02 masak Su-Shee: meaning a way to export the info in projects.list via a module.
14:02 Su-Shee missingthepoint: I want a central, cool, easy, hip and shiny and extensive perl 6 website. ;)
14:02 masak Su-Shee++
14:02 JimmyZ masak: at past, wubi is fast than pinyin. but now, It's not certain.
14:03 masak JimmyZ: why? what changed?
14:03 JimmyZ the pinyin of brainpower.
14:04 missingthepoint Su-Shee: well then maybe the "perl6-projects" part of the domain is misleading. maybe you really want to build "perl6-central.org"? :)
14:04 JimmyZ especially http://pinyin.sogou.com/
14:04 * masak is fine with perl6-projects
14:04 moritz_ missingthepoint: well, perl6.org would be awesome.
14:05 masak it's intentionally dual-sense: projects that *are* Perl 6, or projects that *use* Perl 6.
14:05 wayland76 It sounds like CPAN-for-perl-6 :)
14:06 * masak sighs
14:06 masak if I had a nickel for every time someone mentionas a CPAN for Perl 6... :P
14:07 jnthn ...you might be able to hire somebody to create one? ;-)
14:08 masak jnthn: very possibly.
14:09 jnthn masak: What do you see as the main blockers to having something "CPAN for Perl 6"-like?
14:09 masak someone who accepts payment in nickels.
14:09 jnthn lol
14:10 missingthepoint moritz_: it would be awesome, in the "nothing-left-to-take-away" ideal name sense. plus .org for the volunteer aspect.
14:11 jnthn masak: Seriously though. Is it just somebody sitting down and writing something and saying, "try this, and if you don't like things about it hack on it?"
14:12 Su-Shee missingthepoint: actually I don't care how the domain is called. as far as I'm concerned, it could be cutecutsycamelia.org :) but right know, everything perl 6 is hidden "somewhere", totally spread over the internet and for noone but a few people here transparent. I'm here more or less daily and I missed masak's list for example. and this is no good if people really are supposed to start with perl 6.
14:13 moritz_ Su-Shee++ # this was why I started p6p in the first place
14:13 missingthepoint first, moritz++ for starting p6p.org.
14:14 Su-Shee therefore I want EASY access to _everything_ p6-ish. with clear subjects which are important: how to get it, how to code with it, how to find documentation and how to meet people.
14:14 missingthepoint Su-Shee: domain name matters. cutecutesycamelia.org can be an alias :P
14:14 masak jnthn: (1) whatever someone writes, it'll be compared against the CPAN we have. some people will argue strongly against writing something new from scratch. (2) whatever someone writes, it'll have to do versions and authorities. not even Rakudo does that yet, so it's still a bit untested and fuzzy how it'll all work.
14:14 missingthepoint Su-Shee: (last point) I could not have said it better.
14:15 Su-Shee and due to the marketing aspect perl desperately needs, I added "perl love" (shiny icons, shirts and so on. And "rakudo starlet" is mine. ;)
14:16 masak jnthn: in short, expectations are high, and it won't be useful until it's been worked on for quite some time.
14:17 missingthepoint Su-Shee: DESPARATELY. we need to actively recruit marketing folk with an interest in programming. how do we do that? <o
14:18 jnthn masak: It feels to me like we have a situation where a lot of people want *something*, but the expectation pressure makes a lot of people also feel they're just not good enough to do anything about it.
14:18 masak yes, definitely Su-Shee++ and moritz_++
14:18 masak our German contributors, putting things in order. :) #addingtostereotypes
14:18 cotto joined #perl6
14:18 Su-Shee missingthepoint: we don't really need real marketing folks. a little sense for what works on the internet and a little peek into sucessful projects should be enough. it's not that this is some dark, magical secret. :)
14:18 wayland76 regarding CPAN6 or whatever, my contribution is to be working (occasionally) on something that converts metadata into package specifications, in hopes that packages can be automatically built
14:19 wayland76 It should be finished before some of the other CPAN stuff is, so they can hopefully use it
14:19 jnthn masak: I'd really love us to have _something_ by Rakudo *.
14:20 jnthn masak: But I think we need the same attitude shift that got us Rakudo *. "Yes, it's not the end of the journey, it's a step on the journey to where we want to be and it's good enough to do some things."
14:21 masak jnthn: perhaps a reasonable effort would be making something slightly more ambitious than proto, but still very limited.
14:21 masak sort of "what's the next step up from proto?"
14:21 wayland76 jnthn: I'm not at all sure that a CPAN will be a goer, but maybe we could make a Rakudo Distribution by then :)
14:21 * missingthepoint thinks jnthn++ has a good point and is willing to help with the 6pan. as long as the '6' is not in the middle of the word.
14:21 * moritz_ doesn't care a damn what the end result is called, as long as it's awesome ;-)
14:22 jnthn In some senses, I'm not even bothered that we call it CPAN or something related.
14:22 missingthepoint ah, avoid the problem!
14:22 jnthn masak: I agree that would be a worthwhile effort.
14:22 * Su-Shee neither. and I want it easy and smooth and fool proof. ;)
14:23 masak jnthn: thinking about it, I'd say a central PERL6LIB path (or a database, or whatever) would be the next step up.
14:23 masak jnthn: if it could be generalized to handle multiple authorities, fine, but if not, it's not a show-stopper.
14:23 jnthn missingthepoint: Exactly. If the problem is that nobody wants to work on something in the problem space because Being The Next CPAN is intimidating (which I agree it is), then we probably need to drop the idea of doing the next CPAN, or stop talking aobut it in that senses.
14:23 * wayland76 hopes that we will distinguish between the 4 or 5 different things that are called CPAN in Perl 5
14:24 jnthn And just write Useful Tools in that problem space.
14:24 * moritz_ has an own vision for how to proceed
14:24 missingthepoint Su-Shee: easy and smooth would do for a start... ;)
14:25 jnthn OK, I'm done throwing my metaphorical coffee mug against the channel wall now. :-)
14:25 moritz_ 1) contact the current CPAN maintainers if they are willing to extend PAUSE and the distribution network to upload Perl 6 modules, without any indexing or so
14:25 Su-Shee moritz_: and are you telling us? ;)
14:25 wayland76 I vote ++ to the idea of figuring out how we lay out the Perl 6 libraries on the file system
14:25 Su-Shee ah, he does. ;)
14:25 missingthepoint moritz_: do share.
14:25 wayland76 @karma vote
14:25 lambdabot vote has a karma of 0
14:25 moritz_ 2) write a frontend website that lets us search and download Perl 6 cpan modules
14:25 moritz_ 3) teach proto to install modules from CPAN mirrors
14:26 moritz_ 2 and 3 can be parallelized
14:26 Su-Shee .oO(gee.. a pragmatic solution.. ;)
14:26 moritz_ Su-Shee: designed solutions don't get things done.
14:26 jnthn moritz_: So basically we "outsource" the problem of storage and distribution to the current CPAN to make the problem more managable.
14:26 moritz_ jnthn: right
14:26 Su-Shee moritz_: "really?" ;)
14:26 masak that makes sense.
14:26 masak but it only works for Perl 6 modules.
14:27 wayland76 Bedtime for me.  'night all
14:27 masak wayland76: o/
14:27 missingthepoint night wayland76 :)
14:27 jnthn night wayland76
14:27 jnthn masak: ...so?
14:27 masak jnthn: oh, nothing. it's pragmatic.
14:28 masak but sooner or later we'll want to store modules from other HLLs somewhere.
14:28 masak and our Perl 6 modules will start having them as dependencies.
14:29 Psyche^ joined #perl6
14:29 moritz_ masak: I think that's something we worry about when we get to it
14:29 jnthn masak: I don't think we need to assume we're going to create one solution now that lasts us forever.
14:29 Su-Shee yeah, but wouldn't want the ruby folks stay within their gem-realm, for example? instead of switching to something cpan-ish?
14:29 masak moritz_, jnthn: ack.
14:29 moritz_ if our stuff is largely independent of CPAN, we can still use some kind of CDN as a backend
14:30 jnthn moritz_: That too.
14:30 vdrab joined #perl6
14:31 jnthn Su-Shee: I think until Ruby on Parrot gets to a point where it can start to excite the Ruby community in a larger sense, that's probably going to be too hypothetical to get a really good handle on how the community would feel.
14:32 jnthn IMHO.
14:32 * moritz_ agrees
14:33 missingthepoint where is Ruby on Parrot, figuratively? Any major blockers?
14:34 moritz_ there's active work on it; I think it's in progress, just like Rakudo is
14:34 jnthn missingthepoint: I've no idea on completeness. It has active development.
14:34 masak missingthepoint: we should start using it and getting a feel for ourselves. :)
14:34 missingthepoint masak: we could avoid a lot of porting work ;)
14:35 masak missingthepoint: ok, you have a point. priorities.
14:41 japhb masak, happened to glance in, noticed you were talking about CPAN, gems, proto, etc.  What's the summary so far and/or when did the conversation start?  (Working on Parrot's module ecosystem was my planned top task for tomorrow, so this is opportune.)
14:45 masak japhb: summary: many people suggested many nice ideas. the rough consensus seems to be that we're not equipped to build the 100-year solution, but we can piggyback existing stuff (including CPAN) to have something pretty nice for April.
14:45 missingthepoint japhb: jnthn thinks some kind of Perl-6-module-dist-system by Rakudo * would be nice, and that recontextualizing the problem would help.
14:46 japhb jnthn, "recontextualizing the problem"?  What did you mean by that?
14:47 japhb masak, this sounds a lot like the consensus we came to on parrot-dev over the last month
14:47 jnthn japhb: From watching discussions, I've seen a lot of "we need CPAN for Perl 6" and yet nobody wanting to approach it because of high expectations, the problem feeling too big and so forth.
14:47 masak (recontextualizing the problem)++ # this is what works
14:47 jnthn japhb: I've been trying to break the idea that we need to create nirvana now.
14:48 japhb jnthn, OK, good, the Parrot consensus was "goal: one step above the simplest thing that could possibly work; near-term goal: really the simplest thing that could work"
14:48 japhb jnthn, excellent, thank you.
14:49 jnthn japhb: Well, I really just took what's happened to get us to saying we're going to do Rakudo * and applied the same thinking to the problem. It's nothing original on my part. :-)
14:49 jnthn I think the Parrot consensus is one that is likely to see something actually get done.
14:50 masak japhb: we have proto, the simplest thing that could possibly work. one step above that would be (I think) fixing proto's biggest design flaw: having to care about PERL6LIB.
14:50 moritz_ masak: hey, what about actually installing modules?
14:50 moritz_ masak: since rakudo can be installed now, that idea starts to make sense to me
14:50 masak moritz_: aye.
14:51 missingthepoint masak: does what wayland76 said earlier play into that?
14:51 pugs_svn r28049 | fglock++ | mp6 update
14:51 masak moritz_: I'd love to see a proof-of-concept of that.
14:51 * moritz_ just sent a mail to modules@perl.org
14:51 masak missingthepoint: remind me. what did wayland76 say earlier?
14:51 jnthn moritz_++
14:51 jnthn moritz_: Yes, I think installable Rakudo helps us on this.
14:51 missingthepoint masak: "figuring out how we lay out the Perl 6 libraries on the file system"
14:52 masak missingthepoint: yes, that's it.
14:52 * moritz_ also sent an email to the holder of perl6.org
14:52 masak that's why I'd like a proof-of-concept.
14:52 missingthepoint moritz_: who holds perl6.org? are they friendly?
14:53 japhb (still trying to find the start point of the conversation)
14:53 japhb In the mean time:
14:53 moritz_ missingthepoint: Daniel Wright, a perl monger, and CPAN contributor
14:53 Su-Shee moritz_: kk-ing it to you?
14:53 moritz_ missingthepoint: never heard of him, but what google turns up makes hope
14:53 japhb Will someone who knows the Rakudo install process be around tomorrow daytime (US Pacific)?
14:53 moritz_ Su-Shee: doesn't have to.
14:54 ewilhelm joined #perl6
14:54 jnthn japhb: What level of "knows" do you need?
14:54 jnthn japhb: I knew enough to fix it on Win32/MS VC++, but I had no hand in actually implementing it.
14:55 jnthn Plus I've got the overall pictue of how it works.
14:55 jnthn Tomorrow PDT would be later afternoon / evening my time, yes?
14:55 japhb jnthn, enough to be able to catch up on the current state of things (I've been "away" at work for a few weeks") and get towards actually being able to work on the module install code.  Like I said, it's the planned task for tomorrow.
14:56 pmichaud good morning, #perl6
14:56 phenny pmichaud: 13:37Z <wayland76> tell pmichaud I just found a possibly useful tool: rpmdev-bumpspec which claims to "Bump revision in specfile".  It comes in the fedora package rpmdevtools
14:56 jnthn japhb: I don't have much plans for tomorrow afternoon/evening.
14:56 japhb Yeah, I'm at +700, so I'm guessing about 9 hours away from you or so.
14:56 moritz_ oh hai pmichaud
14:56 masak pmichaud: mornin'
14:56 jnthn yayitspm
14:57 jnthn japhb: Ah, same timezone as, e.g. San Fran?
14:57 jnthn I know that is 9 hours from me.
14:57 astinus joined #perl6
14:57 japhb jnthn, exactly (I'm about an hour north of SF)
14:57 pmichaud japhb:  I can probably be around tomorrow
14:57 japhb excellent, double barreled fun
14:57 jnthn japhb: I'll likely just be here, certainly for your morning.
14:57 pmichaud today is a bit tricky (family visiting from out of town), but tomorrow afternoon is quite open
14:57 jnthn Until I feel like going to bed.
14:58 * pmichaud goes to read backscroll
14:58 japhb pmichaud, today I'm attending a bday party a couple hours away, so that's eating most of my day, so I know how you feel.
14:59 s1n pmichaud: back in town now?
15:00 pmichaud s1n: yes.
15:00 s1n pmichaud: welcome back :)
15:02 jnthn bbiab, Korean.
15:02 masak jnthn++ # Korean
15:05 Cataztro1py joined #perl6
15:06 nihiliad joined #perl6
15:09 masak oh, and for people reading backscroll -- I got the lexical-variables-and-attributes-as-defaults trick to work. will blog about it in a couple days.
15:19 missingthepoint night all, i should have joined wayland76 in retiring an hour ago. :)
15:19 masak oh, you share a bunk? :)
15:22 missingthepoint * expels stuff from nose
15:22 masak :P
15:22 masak scnr.
15:23 missingthepoint scnr?
15:23 masak "Sorry, Could Not Resist"
15:23 masak IUTMA...
15:24 moritz_ a TLA that's actually 4 letters ;-)
15:24 moritz_ so a FLA?
15:24 missingthepoint IAAIBC?
15:25 s1n is there no //= op?
15:25 masak "Intentional Bunk Companion"? :)
15:25 * masak can stop anytime he wants
15:25 masak s1n: yes, there is.
15:26 s1n masak: is it supported?
15:26 masak s1n: as well as lots of other op= combinations. as long as the op isn't iffy.
15:26 s1n (in rakudo)
15:26 masak s1n: to a point.
15:26 missingthepoint "I Abuse Acronyms In Both Cases?"
15:26 moritz_ rakudo: my $x; $x = 4 if (0, 1).pick; $x //= 5; say $x
15:26 p6eval rakudo 0d4fe0: OUTPUT«5␤»
15:26 moritz_ rakudo: my $x; $x = 4 if (0, 1).pick; $x //= 5; say $x
15:26 p6eval rakudo 0d4fe0: OUTPUT«5␤»
15:26 moritz_ rakudo: my $x; $x = 4 if (0, 1).pick; $x //= 5; say $x
15:26 p6eval rakudo 0d4fe0: OUTPUT«4␤»
15:26 moritz_ s1n: seems to work fine. It's also tested.
15:27 s1n i might have been misusing it then
15:27 missingthepoint erm, night masak, i shall write major tests tomorrow when my brain works :P
15:27 masak missingthepoint: looking forward to the merge.
15:28 moritz_ missingthepoint: good luck.
15:28 missingthepoint moritz_: thanks, may I come to you for testing advice if needs be?
15:29 moritz_ missingthepoint: sure
15:29 missingthepoint masak: me too, (world domination)++, one module at a time
15:29 japhb .oO( Nice combo, masak and jnthn: http://irclog.perlgeek.de/perl6/2009-08-22#i_1419138 )
15:29 masak missingthepoint: you got that right.
15:30 missingthepoint moritz_: though i have my most important piece of advice (don't rely on .perl) already :)
15:32 masak the general form of that advice is, I think, not to test information derived from some data, when you can instead test the data itself.
15:32 missingthepoint indeed, (needless indirection)--
15:32 moritz_ (needed indirection)++
15:33 masak .oO( "useless use of karma award" )
15:34 moritz_ I'd ++ that for sure if somebody held it.
15:34 missingthepoint no warnings 'masak';
15:34 masak :)
15:34 TimToady @karma indirection)
15:34 lambdabot indirection) has a karma of 0
15:35 moritz_ @karma undef
15:35 lambdabot undef has a karma of 0
15:35 masak lambdabot++
15:35 * moritz_ expected that to have an undef karma :-)
15:35 TimToady shouldn't it have a karma of undef?
15:35 masak @karma Haskell
15:35 lambdabot Haskell has a karma of 52
15:36 frew__ joined #perl6
15:36 reqamst Haskell--
15:36 reqamst @karma Haskell
15:36 lambdabot Haskell has a karma of 51
15:36 reqamst Haskell++
15:37 reqamst nice
15:39 meteorjay joined #perl6
15:40 xomas_ joined #perl6
15:41 jnthn masak: In terms of pronunciation, Korean is for me really quite hard.
15:41 justatheory joined #perl6
15:42 masak jnthn: from what little I know of Korean, I'm slightly surprised.
15:42 jnthn masak: I think the easiness ends beyond the nice logical writing system. :-)
15:42 jnthn masak: It's all of the different vowels.
15:42 jnthn And the aspirated vs unaspirated consonants.
15:42 masak but I also know starting from English pronunciation makes a lot of other things hard, so...
15:43 masak ah.
15:43 jnthn I guesss with time it'll come to me a bit more.
15:43 masak well, Mandarin has the latter.
15:43 masak I'm not saying I approve, but I think I've gotten the hang of it.
15:43 TimToady stress timing vs syllable timing sometimes gives people trouble
15:43 masak nod.
15:44 jnthn Like the soft consonants in Slavic langauges did...eventually (took on the scale of months).
15:44 JimmyZ joined #perl6
15:44 masak TimToady: oh, that too. but I guess that's a problem only when you start picking up speed. which I haven't done with Mandarin yet.
15:45 TimToady the funny thing is, stress timers think syllable timers are talking impossibly fast, and syllable timers think stress timers are talking impossibly fast :)
15:46 masak hahaha
15:46 * masak can relate to that
15:46 * jnthn too
15:46 TimToady Spanish sounds fast to English speakers because Spanish is syllable timed, while English sounds fast to Spanish speakers because English is stress timed
15:46 TimToady Japanese and Korean are more like Spanish in that regard
15:46 M_o_C joined #perl6
15:47 masak Esperanto as well.
15:48 masak experienced speakers of the lagnuage sound-a-bit-like-this-when-they-talk, except they go really, really fast.
15:49 araujo joined #perl6
15:49 jnthn TimToady: BTW, you may have noticed that I got something in place for traits on containers and attributes. It was the second simplest thing I could do (after the first simplest thing, which was forgetting about it and going to the pub, but I wasn't sure that'd look so good on my grant report...)
15:50 jnthn TimToady: I'm pondering that I should now sync S14 with Rakudo's suggestion for how it looks.
15:50 TimToady where are the types defined?  they blew up std, needless to say :)
15:50 jnthn Heh, I just defined them as classes alongside all of the other built-ins. :-)
15:51 japhb jnthn, yeah, http://irclog.perlgeek.de/perl6/2009-08-22#i_1419156 is a problem.  As is getting stuck in design.  For now, I'm just running on faith that I will produce *something* of value.  If only to give everyone comic relief.  ;-)
15:51 jnthn Didn't find any great need to make them excessively special.
15:51 jaffa8 Hi,is perl6 still changing?
15:51 TimToady is perl5 still changing?
15:52 jnthn japhb: I'm quite sure you will. :-)
15:52 japhb jaffa8, iteratively, yes.
15:52 jnthn japhb: Erm, produce something of value that is. ;-)
15:52 jaffa8 Why are you asking back?
15:52 japhb jnthn, ;-)
15:52 araujo morning
15:52 jaffa8 jaffa8, what is iterratively?
15:53 TimToady ooh, shot yourself in the back with tab completion :)
15:53 japhb jaffa8, TimToady was posing a rhetorical question -- in other words: "Why wouldn't Perl 6 still be changing.  Every other language including Perl 5 is."
15:53 masak jaffa8: when you ask 'is Perl 6 still changing?', it's not really clear what information it is you're interested in.
15:53 jaffa8 One way I imagine language development is
15:54 masak jaffa8: there's a word in biology for static, unchanging systems.
15:54 jaffa8 that you design it , then you implement it.
15:54 jnthn jaffa8: It doesn't work like that.
15:54 TimToady that's called the waterfall model, and we don't
15:54 masak jaffa8: also known as 'waterfall development'
15:54 masak jaffa8: see S01.
15:54 jaffa8 What is yours, incremental development?
15:54 japhb jaffa8, iteratively means (roughly) changing bit by bit.  In the design sense, it means making changes over time in reaction to needs and circumstance.
15:54 TimToady the problem with the waterfall model is that you have to be smart, and none of us are that smart
15:55 masak not just smart, but fatally stubborn in the face of new findings.
15:55 japhb Omniscient, one would say.
15:56 TimToady so we merely attempt to converge
15:56 masak all I can say is I like the Perl 6 of 2009 much better than the one of 2004.
15:56 jaffa8 but then you do not know when it ends.
15:56 TimToady you can know when it's good enough, however
15:56 masak jaffa8: that's correct.
15:56 japhb Ubiquity--  # Use it to get to a web site, have it ask the stupid question "Did you know that you have a Ubiquity command for this website?"
15:56 masak jaffa8: is there a problem?
15:56 M_o_C masak: You're the one developing Web.pm, right?
15:56 jaffa8 I wanted to learn Perl 6
15:57 masak M_o_C: one of a handful, yes.
15:57 jaffa8 but I am afraid that it may change again.
15:57 M_o_C Or at least the one who started it...
15:57 TimToady in that sense, perl 5 hasn't "ended" either, hence my original question
15:57 masak jaffa8: I don't think that fear should stop you from learning the language. it's not like we change 90% or so, more like 0.01%.
15:57 japhb jaffa8, The only way improvement ends is when a project is dead.  Live projects change.  In fact, on computer projects of all forms, "Maintenance" is where the *vast* majority of changes happen.
15:58 masak M_o_C: I'm one of three people who applied for a grant, yes.
15:58 M_o_C Will Web.pm include "form generation" routines like p5 CGI.pm did?
15:58 masak M_o_C: I sure hope so.
15:58 jaffa8 so there are not going to be big changes anymore
15:58 masak forms are an essential part of Web application building.
15:59 TimToady jaffa8: we're pretty happy with what we have now, so it's mostly just tweaks
15:59 masak jaffa8: it seems you're looking for some point of stability. I'm not sure we're in a position to offer you one. we are in a position to offer you one fine language, and a few interesting implementations of it.
16:00 jnthn TimToady: Basically I have ContainerDeclarand, and a subclass of it AttributeDeclarand. The subclass adds another property, .how, for getting at the metaclass of the thingummy the attribute is being declared on.
16:00 jnthn TimToady: ContainerDeclarand currently just has .container and .name properties, I guess .scope probably makes sense too.
16:01 masak jaffa8: as one who has often been affected by said changes (because I have some code out there), I can tell you it's not so bad when something changes. it's just minor stuff.
16:01 jaffa8 ok
16:02 japhb "some code" he says.
16:02 jnthn TimToady: I did ponder whether we might want to have a class per scope declarator but that felt a bit silly.
16:02 jnthn TimToady: And a PITA for anyone who introduces their own...
16:03 masak japhb: it's actually not much. look at giants like ADAMK and you'll agree. :)
16:03 M_o_C masak: Because a few minutes ago I had the realization that those "suggestion" input boxes like e. g. Google uses are essentially comboboxes. And since I think comboboxes are quite useful, I head the idea that you could perhaps implement a routine which would generate the required JavaScript and HTML code.
16:03 japhb masak, ADAMK is doing Perl 6 modules?
16:03 jnthn masak: Yeah but he has an unfair advantage in that he's from the future. ;-)
16:04 masak M_o_C: that's a cool idea. I'd be happy to collaborate with you on that.
16:04 masak japhb: no, but he has a lot of CPAN code.
16:04 masak jnthn: there is that. :)
16:04 jaffa8 Is there going to be more types in Perl 6?
16:04 jaffa8 I mean basic ones.
16:04 masak jaffa8: Perl 6 has a built-in type system, as opposed to Perl 5.
16:04 japhb masak, he doesn't have to deal with Perl 6 spec changes then.  ;-)
16:05 masak japhb: not that I know of, no. :)
16:05 masak but he has to deal with changes from 5.8 to 5.10, for which I do not envy him at all...
16:05 jnthn jaffa8: By "more types" do you mean "more built-in types"?
16:05 jaffa8 yes, like unsigned int, unsigned lnong...
16:05 japhb masak, true
16:06 M_o_C Hehe, problem being, I don't really have much time, don't know Perl 6 and am currently prefer to invest my time in reading docs about Haskell. Plus my JavaScript-fu is almost non-existent...
16:06 jnthn jaffa8: Not unless somehow a big gap is found...
16:06 masak M_o_C: ok. I will at least note your good idea for posterity. hopefully someone will pick it up.
16:07 jnthn jaffa8: But http://svn.pugscode.org/pugs/docs/Perl6/Spec/S09-data.pod covers the possibilities pretty well. :-)
16:07 M_o_C Thanks.
16:08 jnthn masak: plz can the next step up from proto not be written in sh? ;-)
16:08 * jnthn just wanted to try create-new-project...
16:09 masak jnthn: oh. apologies.
16:09 jnthn masak: No worries. :-)
16:09 jnthn It is only a prototype. ;-)
16:09 masak we're a bit Unix-chauvinist all over the board, methinks.
16:09 jnthn I do occasionally try and fight back against that a little.
16:09 jnthn lol
16:09 jaffa8 Am I correct there is no =~ anymore?
16:09 jnthn proto++ # echo -e "\nYou managed to not select either 1 or 2, so I give up.\n"
16:09 masak jnthn: at first I thought you were joking, because in the beginning the bootstrapping step of proto was actually written in sh. I had forgotten about create-new-project.
16:09 TimToady I know a nice scripting language that works on Windows too
16:10 jnthn TimToady: Python?
16:10 jnthn ;-)
16:10 braceta joined #perl6
16:10 jnthn jaffa8: Yes; use ~~
16:10 TimToady was thinking teco, actually
16:10 jaffa8 why not Perl?
16:10 jnthn Batch language occurred to me, but you'd said "nice", so... ;-)
16:10 jaffa8 Should that be your favorite?
16:10 M_o_C C
16:11 jaffa8 Should not that be your favorite?
16:11 masak phenny: tell mberends TimToady would like you to rewrite create-new-project in TECO for greater platform independence...
16:11 phenny masak: I'll pass that on when mberends is around.
16:11 * jnthn goes to download a TECO interpreter in anticipation
16:11 braceta joined #perl6
16:11 masak jaffa8: I believe TimToady might have had his tongue firmly placed in his cheek...
16:11 jnthn jaffa8: This channel can have an odd brand of humor. :-)
16:12 japhb jaffa8, if we say something that makes no sense, it's either Dark Magic or Attempted Humor.
16:13 japhb (The latter being clearly the more dangerous of the two.)
16:13 araujo This is the Perl6 channel ... all you say will make sense eventually
16:14 jaffa8 perhaps or never.
16:14 masak There Will Be Modules!
16:14 japhb jnthn, I would like to write the Parrot module installer in NQP as of Parrot 2.0; For now, it will be either Perl 5.10 or Perl 6, and be converted/converged over time to the NQP goal.
16:14 TimToady but the standard language is never going to allow two terms in a row
16:14 masak except where it does.
16:15 TimToady those aren't terms, by definition :)
16:15 japhb "For every season, term, term, term ..."
16:15 * japhb takes this opportunity to duck and cover ... and "start my day"
16:15 jaffa8 I have not found teco.
16:16 * jnthn groans
16:16 TimToady it's an ancient programmable text editor
16:16 TimToady Text Editor and COrrector
16:17 araujo jaffa8, You need to find first a PDP
16:17 * masak once used and enjoyed a TECO-based Emacs clone
16:17 TimToady though what the difference is, I'm not sure
16:17 jaffa8 ok, IF oud it
16:17 TimToady someone wrote a fortran compiler in it once
16:17 jaffa8 [1 J^P$L$$ J <.-Z; .,(S,$ -D .)FX1 @F^B $K :L I $ G1 L>$$ <-----
16:18 TimToady wow, whitespace
16:18 masak #songsincode
16:18 TimToady you must have a lot of memory
16:18 sbotond joined #perl6
16:18 TimToady people used to type in their names to see what teco would do
16:19 araujo something funny?
16:19 jaffa8 What could happen?
16:19 TimToady depends on your name
16:20 araujo yours for example? :)
16:20 TimToady mine wasn't very interesting
16:20 araujo haha
16:21 TimToady I think it moved left one character and then appended rry or some such
16:21 TimToady but I could be misremembering
16:21 TimToady that was ancient history
16:21 jaffa8 Did you use teco?
16:22 TimToady yes, it was much better than what it replaced
16:22 TimToady but I haven't used it for real since before most of you were born
16:22 araujo I have heard TECO was great, yeah, never used it ....
16:23 TimToady the original emacs was based on teco rather than lisp
16:23 araujo yeah
16:23 araujo it's what I read :P
16:23 TimToady I never used that emacs, though
16:23 araujo TimToady, actually the emacs name referred to the TECO macros or something like that?
16:24 TimToady dunno
16:24 TimToady didn't come up that route
16:24 araujo I remember reading something like that .....
16:24 masak the emacs I used was very likely much newer. it came as the default Emacs of FreeDOS.
16:24 TimToady I only ever used bare teco on a PDP-11 running RSTS/E
16:25 TimToady back in the dark ages where if you really wanted to see what your program looked like, you had to print it out on the line printer
16:26 payload joined #perl6
16:26 TimToady well, except for the BASIC interpreter, which could list your program on the screen
16:26 TimToady really high tech stuff
16:27 PhatEddy joined #perl6
16:27 araujo "The new version of TECO quickly became popular at the AI Lab, and soon there accumulated a large collection of custom macros, whose names often ended in "MAC" or "MACS", which stood for "macro" ........ The resulting system was called EMACS, which stood for "Editing MACroS". An alternative version is that EMACS stood for "E with MACroS"
16:27 araujo from the wikipedia ....
16:27 masak considering that, and given that the pace of development doesn't slack off. it's not that hard to believe in a singularity of some kind...
16:28 jaffa8 ACtually, it looks like Fortran is ealier than teco.
16:28 jaffa8 after reading wikipedia.
16:28 masak jaffa8: FORTRAN is earlier than most things.
16:29 jnthn .oO( so's ya mam )
16:29 jaffa8 and it is more readable.
16:29 PhatEddy rakudo: my Array $x
16:29 p6eval rakudo 0d4fe0: OUTPUT«Could not build C3 linearization: ambiguous hierarchy␤in sub trait_mod:of (src/gen_setting.pm:131)␤called from Main (/tmp/AIHlj9Bnlh:2)␤»
16:29 masak jnthn: :)
16:29 jnthn wow...
16:30 jaffa8 TimToady, are you missing those times?
16:30 jnthn PhatEddy: Oh ouch, I know why.
16:30 TimToady not in the least
16:30 jnthn *sigh*
16:30 TimToady I'm missing the future, not the past...
16:30 masak jnthn: those pesky users, who gave them sledgehammers? :)
16:31 jnthn masak: I broked it in my apparently-not-so-awesome refactors.
16:31 TimToady that didn't look like a sledgehammer to me
16:31 masak jnthn: seems to indicate the need for more tests.
16:31 jnthn masak: Indeed.
16:31 araujo TimToady, what editor you use currently?
16:31 Su-Shee TimToady: I recommend the "interview" with William Gibson "no map for these territories" on the subject of missing the future.
16:31 PhatEddy Is it worth a ticket or is it acceptable as well known now ...
16:32 TimToady I believe my current editor is Andy Oram.  :)
16:32 masak :)
16:32 masak PhatEddy: feel free to ticket it.
16:32 araujo TimToady, reveal the secret :P
16:32 TimToady Su-Shee: I prefer Uncharted Territory by Connie Willis :)
16:32 jnthn PhatEddy: It wasn't known until like 2 mins ago. :-)
16:33 TimToady so we're giving jnthn a ticket for speeding
16:34 TimToady and maybe for texting while driving
16:34 jnthn oh noes what's the fine?
16:34 PhatEddy Ok - will get to it this afternoon sometime ... enjoy the day
16:34 TimToady jnthn: you should know there's no fine; we're still in the intermezzo.
16:36 masak and what a fine intermezzo it is.
16:36 jaffa8 What is the first matched match is $0?
16:37 jnthn jaffa8: aye
16:37 jaffa8 Why is the first matched match is $0?
16:37 masak moritz_++ # http://perlgeek.de/blog-en/perl-6/optimized-for-fun.html
16:37 masak jaffa8: because it rhymes better with $/[0]
16:41 jnthn Plus everything else is zero-indexed.
16:41 Matt-W consistency
16:41 jaffa8 can someone tell me what is wrong with this if ( $filenamelist ~~ /,/ ) {}?
16:41 TimToady std: if ( $filenamelist ~~ /,/ ) {}
16:41 p6eval std 28049: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/RDgstgTyrc line 1:␤------> [32mif ( $filenamelist ~~ /[33m⏏[31m,/ ) {}[0m␤    expecting any of:␤       regex atom␤       regex_infix␤      termish␤        ws␤Other
16:41 p6eval ..potential difficulties:␤  Vari…
16:42 masak jaffa8: what STD said.
16:42 masak jaffa8: also, you don't need to parenthesize 'if' conditions if you don't have an overwhelming need to do so.
16:42 masak eurgh, s:2nd/need/urge/
16:42 jaffa8 I have no overwhelming need
16:43 TimToady std: if $filenamelist ~~ /','/ {}
16:43 p6eval std 28049: OUTPUT«Potential difficulties:␤  Variable $filenamelist is not predeclared at /tmp/pg3xE8i0YA line 1:␤------> [32mif $filenamelist[33m⏏[31m ~~ /','/ {}[0m␤ok 00:03 38m␤»
16:43 jaffa8 what is std?
16:43 TimToady picky, picky
16:43 TimToady the standard parser
16:43 masak rakudo: my $filenamelist = 'foo.txt,bar.zip'; if $filenamelist ~~ / ',' / { say "OH HAI" }
16:43 p6eval rakudo 0d4fe0: OUTPUT«OH HAI␤»
16:44 jaffa8 what about escape?
16:44 jaffa8 can someone tell me what is wrong with this if ( $filenamelist ~~ /\,/ ) {}?
16:44 TimToady you may use \ if you like
16:44 TimToady std: my $filenamelist; if ( $filenamelist ~~ /\,/ ) {}
16:44 p6eval std 28049: OUTPUT«ok 00:02 38m␤»
16:44 jaffa8 ok
16:45 TimToady nothing is wrong with it, assuming you're asking about syntax
16:45 TimToady but most folks here think ',' is more readable
16:45 jaffa8 that was a typo
16:45 jaffa8 I got accustomed to perl5 regular expressions
16:45 TimToady however, it would be wrong if you left out the space before the paren
16:46 TimToady jaffa8: so did most of us
16:46 TimToady the goal of perl 6 is not to continue with our accustomed ways
16:47 TimToady nothing the matter with custom, except when it prevents progress
16:48 TimToady and Perl 5 tends to value custom over progress, so we started Perl 6 to make the opposite mistake
16:49 masak so far, so good.
16:49 jaffa8 I think if you made Perl5 on Parrot or Perl 5 to 6 interpreter that would serve both the past and the future.
16:49 masak jaffa8: good idea. now, there's just the small matter of implementing...
16:50 jaffa8 by you, and did not mean you specifically, TimToady
16:50 jaffa8 masak, I may
16:51 masak jaffa8: no matter who does it, it's a lot of work.
16:51 masak but it _is_ a good idea. two good ideas, actually.
16:51 jaffa8 I know somebody started working on those
16:52 jaffa8 at least on Perl5 on Parrot
16:52 jaffa8 Why did not stop?
16:52 jaffa8 Why did it stop?
16:53 masak ISTR it was a year or so too early for such an effort.
16:53 Matt-W Parrot wasn't ready, as I understand it
16:54 adam-pwgsc joined #perl6
16:54 nihiliad joined #perl6
16:58 jaffa8 ok
16:59 jaffa8 TimToady, how do you imagine the future of Perl6?
16:59 jaffa8 Is it going to be popular?
16:59 TimToady it will be popular with me, at least
16:59 lisppaste3 reqamst pasted "Infinite loop in CATCH block if using $/ in 'if' structure" at http://paste.lisp.org/display/85869
17:00 jaffa8 if that is all you want
17:00 TimToady and I might be able to persuade a few other people to like it too
17:00 reqamst I found bug, probably
17:00 * araujo thinks perl6 might be popular between other kind of programmers
17:00 masak I think I might use Perl 6 a bit in the future.
17:00 masak reqamst: yeah, I found that one too the other day.
17:01 masak reqamst: I didn't report it though. strange.
17:01 duke_leto Hm… Why does rakudo warn about embedded comments needing a backtick? If it recognizes them, why not use ’em as comment?
17:02 TimToady it's a deprecation
17:02 TimToady and will probably break silently in another month or two
17:02 duke_leto oh, okay :-)
17:02 reqamst masak: so... should I report it?
17:02 masak reqamst: please do.
17:03 reqamst masak: it's my first bug, so I'll ask: should I paste all this code?
17:03 masak reqamst: no, do like this:
17:04 jaffa8 How can I get picky parser?
17:04 masak rakudo: die "Should be thrown once"; CATCH { $!.handled = 1; }
17:04 p6eval rakudo 0d4fe0:  ( no output )
17:04 masak hm.
17:04 masak rakudo: die "Should be thrown once"; CATCH { $!.handled = 1; say "Gotcha!" }
17:04 p6eval rakudo 0d4fe0:  ( no output )
17:04 masak hm.
17:05 reqamst it works only with if
17:06 reqamst rakudo: die "Should be thrown once"; CATCH { if (1==1) { say $/}}
17:06 masak rakudo: try { say abc; CATCH { say "A"; if "foo" ~~ /foo/ { say "B"; say $/ } } }
17:06 p6eval rakudo 0d4fe0:  ( no output )
17:06 p6eval rakudo 0d4fe0:
17:06 p6eval ..OUTPUT«A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A�
17:06 masak right. there's the error.
17:06 masak take that, and paste it into your bug report.
17:07 reqamst ok, thanks
17:07 masak make sure you get the 'rakudo 0d4fe0' part. it identifies the Rakudo revision.
17:08 masak & # going out for a run
17:08 jaffa8 std: /f/
17:09 p6eval std 28049: OUTPUT«ok 00:02 37m␤»
17:09 jaffa8 std: /\G/
17:09 p6eval std 28049: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex backslash sequence at /tmp/EzH6vOe0tR line 1:␤------> [32m/\[33m⏏[31mG/[0m␤FAILED 00:02 37m␤»
17:09 payload joined #perl6
17:10 reqamst where is this bug reporting site? I lost it... There is no link on the dev.perl.org nor perl6-project.org
17:11 reqamst oh, I found it on the rakudo's webpage
17:12 jaffa8 How would you do repeated matching?
17:12 reqamst It should be easier, link should be on the perl6 project or dev.perl.org
17:12 reqamst f ** 2
17:13 zloyrusskiy joined #perl6
17:15 reqamst jaffa8: http://perlcabal.org/syn/S05.html#Bracket_rationalization
17:21 zamolxes joined #perl6
17:33 mikehh_ joined #perl6
17:34 zloyrusskiy joined #perl6
17:34 jaffa8 std: while ( $u ~~ m:p/a/ ) {}
17:34 p6eval std 28049: OUTPUT«Potential difficulties:␤  Variable $u is not predeclared at /tmp/Tjw1584zzY line 1:␤------> [32mwhile ( $u[33m⏏[31m ~~ m:p/a/ ) {}[0m␤ok 00:02 38m␤»
17:36 jaffa8 the above does not compile in perl6
17:37 jnthn jaffa8: std is the official grammar; Rakudo uses a subset-ish of it at the moment.
17:37 jnthn jaffa8: So if std parses something and Rakudo doesn't, it usually means "not yet implemented".
17:38 * jnthn forgets what :p does anyway...other than looking like a smiley. :-)
17:38 TimToady kinda like /c in p5, continues at the specified position
17:39 jnthn Ah, OK.
17:39 * jnthn is impressed as how many smileys have been designed into Perl 6 syntax.
17:40 Su-Shee .oO(emo-programming.. ;)
17:42 Whiteknight joined #perl6
17:46 PhatEddy left #perl6
17:58 duke_leto left #perl6
18:04 mikehh rakudo (e83932a) builds on parrot r40716 - make test/make spectest (up to 28049) PASS - Ubuntu 9.04 amd64 (gcc)
18:07 payload joined #perl6
18:08 jaffa8 latest rakudo
18:08 jaffa8 Does it work on Windows?
18:14 Matt-W should do
18:14 M_o_C mingw32-make: *** No rule to make target `C:\Parrot\lib\parrot\1.5.0-devel\library\PGE\Perl6Grammar.pbc', needed by `src\gen_grammar.pir'.  Stop.
18:14 M_o_C Looks like it doesn't...
18:15 jaffa8 where do you run it?
18:15 M_o_C Since I responded to your question: Windows.
18:15 jaffa8 in what directory?
18:16 M_o_C The directory where I git-cloned.
18:16 jaffa8 you need to find where perlt6rammar is
18:17 jaffa8 and copy it into the directory which mingw32-make mentions.
18:17 jaffa8 I have a different problem
18:17 jaffa8 it cannot find parrot_install
18:17 M_o_C Hrm, wait a sec. Why the hell is the Path hardcoded? The C:\Parrot\lib\parrot\1.5.0-devel\ part, I mean?
18:18 jaffa8 yes
18:20 M_o_C Who implemented the ability to compile Rakudo with a installed Parrot? Because the error message suggests he undeliberately removed the option to build from a non-installed Parrot. (Which is what I have.)
18:20 M_o_C s/removed/broke/
18:20 Matt-W umm
18:20 Matt-W it was documented at the time that it did break the ability to build from a non-installed parrot
18:21 M_o_C Oh
18:21 Matt-W you can use --gen-parrot still
18:21 M_o_C Sorry, I missed that
18:21 Matt-W or you have to have an installed parrot
18:21 jaffa8 I can make parrot
18:21 jaffa8 I cannot make rakudo
18:21 M_o_C --gen-parrot still works because of the subfolder parrot is still recognized?
18:22 M_o_C s/of //
18:23 M_o_C And what were the reasons they removed the option to build from a non-installed version?
18:25 jnthn beer &
18:25 Tene M_o_C: it's not that we *removed* the option to build from an uninstalled Parrot, but that we lost that ability in the course of adding the ability to build from an installed parrot.
18:25 lucs joined #perl6
18:25 Tene If you can contribute a patch that lets rakudo do both, please feel free.
18:25 M_o_C Hm, ok...
18:26 Tene Parrot just isn't set up for that right now
18:26 Tene the installed parrot has a different layout from the uninstalled parrot.
18:27 M_o_C Ok, thank you for explaining it.
18:27 Tene np
18:35 mikehh joined #perl6
18:41 jauaor joined #perl6
18:45 cspencer joined #perl6
18:51 rblasch joined #perl6
18:52 tann joined #perl6
18:53 rblasch joined #perl6
19:02 pugs_svn r28050 | fglock++ | mp6 update
19:11 oxygenfad joined #perl6
19:12 moritz_ http://blogs.loveandnature.co.za/www/perl/2009/08/grammars-in-perl-510.html # wow, I seem to inspire Perl 5 hackers too
19:15 mikehh rakudo (e83932a) builds on parrot r40718 - make test/make spectest (up to 28049) PASS - Ubuntu 9.04 i386 (g++)
19:16 nbrown joined #perl6
19:19 s1n whew, now that rakudo "installs" (sorta), i can finally get rid of calling the pbc :)
19:21 oxygenfad left #perl6
19:23 nbrown joined #perl6
19:28 s1n :q
19:29 s1n doh
19:30 s1n how do i use the phenny bot?
19:30 s1n phenny: help
19:30 phenny s1n: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see http://inamidst.com/phenny/ for more general details. My owner is sbp.
19:32 s1n tell masak i noticed there was no longer a Web.pm. am i mistaken or is that an ironic name for the project now
19:32 s1n phenny: tell masak i noticed there was no longer a Web.pm. am i mistaken or is that an ironic name for the project now
19:32 phenny s1n: I'll pass that on when masak is around.
19:36 s1n phenny: tell masak LolDispatch doesn't compile, rakudo thinks it's missing an =end, might be bug worthy
19:36 phenny s1n: I'll pass that on when masak is around.
20:14 mikehh rakudo (e83932a) builds on parrot r40719 - make test/make spectest (up to 28050) PASS - Ubuntu 9.04 i386 (gcc)
20:16 s1n is #=[] damian's new pod or is that likely bitrot?
20:17 s1n looks like it
20:33 s1n TimToady: can we toss the multi-line pod #[]? it's not very easy to read as plain text (without a syntax highlighter)
20:36 braceta joined #perl6
21:01 mikehh joined #perl6
21:20 EDevil joined #perl6
21:21 tak_ joined #perl6
21:27 rfordinal3643 joined #perl6
21:32 kst joined #perl6
22:23 M_o_C joined #perl6
22:53 jaldhar joined #perl6
23:27 braceta joined #perl6
23:31 nErVe joined #perl6
23:33 s1n phenny: tell masak i can't seem to clone november, it keeps timing out... any idea what's up with that?
23:33 phenny s1n: I'll pass that on when masak is around.
23:54 cotto joined #perl6

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

Perl 6 | Reference Documentation | Rakudo