Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-08-12

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:02 unitxt joined #perl6
00:05 jonjj joined #perl6
00:07 jonjj japhb: actually my complain is basically that if i use only certain parts of perl6 grammar will i be paying a parsing cost ?? this a problem with perl5 too, parsing a perl5 file has an additional cost even if it is a simple 50 line script. its the principle from c++ if i dont use it will it affect me ??
00:11 jonjj if i can expliciltly disable subparts of perl6 grammar by "use statements" then i think the would be solved ...
00:31 alester_ joined #perl6
00:44 c1sung left #perl6
00:49 dukeleto joined #perl6
00:49 japhb joined #perl6
00:49 rhr joined #perl6
00:49 damyan^ joined #perl6
00:49 huf joined #perl6
00:49 pjcj joined #perl6
00:49 kane_ joined #perl6
00:49 cookys joined #perl6
00:49 kst` joined #perl6
00:49 frew joined #perl6
00:49 Aisling_ joined #perl6
00:49 zol joined #perl6
00:49 sunnavy joined #perl6
00:49 mdxi joined #perl6
00:49 bloonix_ joined #perl6
00:49 bigpresh_ joined #perl6
00:49 Lorn joined #perl6
00:49 edenc joined #perl6
00:49 cosimo joined #perl6
00:49 c9s joined #perl6
00:50 c1sung joined #perl6
00:54 lisppaste3 joined #perl6
00:55 aindilis joined #perl6
00:56 nothingmuch joined #perl6
00:56 nperez joined #perl6
00:57 krunen joined #perl6
01:02 nothingmuch joined #perl6
01:02 kane_ joined #perl6
01:02 cookys joined #perl6
01:02 kst` joined #perl6
01:02 frew joined #perl6
01:02 Aisling_ joined #perl6
01:02 zol joined #perl6
01:02 sunnavy joined #perl6
01:02 mdxi joined #perl6
01:02 bloonix_ joined #perl6
01:02 bigpresh_ joined #perl6
01:02 Lorn joined #perl6
01:02 edenc joined #perl6
01:02 cosimo joined #perl6
01:02 c9s joined #perl6
01:03 Lorn joined #perl6
01:06 pugs_svn r27964 | kyle++ | [t/spec] Test for RT #68290
01:07 mkelly32 joined #perl6
01:08 carlin joined #perl6
01:08 nothingmuch joined #perl6
01:14 KyleHa joined #perl6
01:18 PZt joined #perl6
01:25 payload joined #perl6
01:27 payload1 joined #perl6
01:56 krunen_ joined #perl6
01:58 integral joined #perl6
02:00 he_ joined #perl6
02:04 cognominal joined #perl6
02:04 wayland76 joined #perl6
02:05 wayland76 Has anyone arranged for Ben Morrow to have a pugs commit bit?  (See mailing list)
02:11 KyleHa I don't see him in the AUTHORS file.
02:12 wayland76 Ok, who do we ask about this?  And does anyone know if he has an IRC handle?
02:13 KyleHa I don't know who all is authorized to hand out commit bits.  I know I got mine from TimToady, and I'm pretty sure I've seen others offering them, but I don't remember who.
02:15 wayland76 Ok.  I'm pretty sure moritz_ has the power, and since he's been interacting with Ben, I'll hassle him via e-mail :)
02:18 KyleHa You could also email Ben, tell him how easy it is, and let him approach an admin if interested.  That's approximately what I'd expect Moritz to do anyway.
02:19 wayland76 Well, I sent them both an e-mail :)  Hopefully that should cover it.
02:25 KyleHa I also like shotgun debugging.
02:28 sjohnson i use print-statement debugging
02:28 sjohnson i guess i'm too old-schol
02:30 alanhaggai joined #perl6
02:31 wayland76 sjohnson: I'm the same.  Unless I have a nice IDE, I use print-statement debugging.  Works almost anywhere, in any (useful) language :).
02:32 sjohnson my brother uses "logger" technology
02:32 sjohnson at least that's what he called his function
02:32 sjohnson just a macro in vim that writes a function to spit out any info you want to a separate file, especailly handy for PHP
02:32 sjohnson where printing causes all hell to break loose
02:32 sjohnson forgive me if this is very obvious
02:33 sjohnson i'm not as good as a lot of these Perl guru's here are :]
02:33 wayland76 I've had to resort to logger tech when writing daemons :)
02:33 wayland76 (afk, back in 3&)
02:37 wayland76 (sorry, afk much longer)
02:43 KyleHa When I was doing PHP, sometimes I'd print HTML comments.
02:46 sjohnson can anyone recommend a good .exe win32 perl compiler?
02:46 sjohnson i asked on #perl and got laughed at, and my brother warned me that a lot of them out there "don't work" so i wanted to ask here
02:47 sjohnson Perl 5, btw
02:48 KyleHa If you want something that takes Perl and turns it into an .exe, there are solutions, but it's not quite right to call it a compiler.
02:48 KyleHa What it'll do is take your Perl source and bundle it up with a Perl interpreter.
02:49 KyleHa That said, I don't know any of the solutions out there; I haven't wanted to do that in many years.
02:51 __ash__ joined #perl6
02:56 sjohnson ahh shit
02:56 sjohnson i know there is one for python
02:56 sjohnson as long as it just makes an .exe, even if it's 1MB of overheard
02:56 sjohnson as long as it's just that
02:58 alester sjohnson: Have you seen what the Perl 5 FAQ has to say about it?
02:59 sjohnson is it in there?
02:59 sjohnson i see "How can I compile my Perl program into byte code or C? "
02:59 sjohnson i don't seen a clickable answer though
03:00 sjohnson ahh nevermind, thanks alester
03:00 sjohnson you pointed me in the right direction
03:00 alester Your question is very Frequent.
03:00 sjohnson thanks alester , sorry to be a n00b
03:00 sjohnson i didn't even know there was a perlfaq.. until now
03:00 sjohnson :)
03:00 alester Now you do. :-)
03:01 alester And you won't like the answer in there, but there it is.
03:01 sjohnson perl2exe might solve my problem
03:02 sjohnson ahh shit
03:02 sjohnson nevermind
03:02 sjohnson i mgiht have to translate this into python
03:02 * sjohnson SIGHS loudly
03:02 sjohnson i should have done some research prior to solving this guy's freelance job
03:02 * sjohnson learned a lesson
03:11 justatheory joined #perl6
03:19 frew__ joined #perl6
03:20 frew__ how do I get package variables in a class?
03:20 frew__ class Foo { CLASS.method } ?
03:20 frew__ rakudo: class Foo { station }
03:20 donaldh joined #perl6
03:21 p6eval rakudo a5dfe9: OUTPUT«Could not find non-existent sub station␤»
03:21 frew__ rakudo: class Foo { self.meta }
03:21 p6eval rakudo a5dfe9: OUTPUT«Lexical 'self' not found␤»
03:21 frew__ rakudo: class Foo { class.meta }
03:21 p6eval rakudo a5dfe9: OUTPUT«Unable to parse class definition at line 2, near ".meta }"␤in Main (src/gen_setting.pm:1506)␤»
03:21 frew__ rakudo: class Foo { CLASS.meta }
03:21 p6eval rakudo a5dfe9: OUTPUT«Could not find non-existent sub CLASS␤»
03:22 frew__ rakudo: class Foo { __PACKAGE__.meta }
03:22 p6eval rakudo a5dfe9: OUTPUT«Could not find non-existent sub __PACKAGE__␤»
03:22 frew__ rakudo: class Foo { $.meta }
03:22 p6eval rakudo a5dfe9: OUTPUT«Lexical 'self' not found␤»
03:22 frew__ :-/
03:22 KyleHa frew: Do you want to make reference to a package variable or have a class variable accessible to all instances?
03:23 frew__ class variable
03:23 KyleHa Let me look...
03:23 frew__ I actually was wondering about how to use wrap instead of method overriding
03:25 KyleHa Looks like "$.name" variables are shared by all instances.
03:25 KyleHa I'll get a URL for what I'm looking at.
03:25 frew__ rakudo: class Foo { has $.bar; }; class Bar extends Foo { $.bar.wrap({ say 'in wrapped method' }); };
03:26 p6eval rakudo a5dfe9: OUTPUT«Unable to parse class definition at line 2, near "extends Fo"␤in Main (src/gen_setting.pm:1506)␤»
03:26 KyleHa http://dev.pugscode.org/browser/t/spec/S12-attributes/class.t
03:27 eternaleye rakudo: class Foo { my $bar; method setbar() { $bar = 7; }; method getbar() { say $bar }; }; my $foo =  Foo.new; my $baz = Foo.new; $baz.setbar; say $foo.getbar; say $baz.getbar
03:27 p6eval rakudo a5dfe9: OUTPUT«7␤1␤7␤1␤»
03:27 eternaleye erm
03:27 KyleHa http://dev.pugscode.org/browser/t/spec/S06-advanced_subroutine_features/wrap.t
03:27 eternaleye rakudo: class Foo { my $bar; method setbar() { $bar = 7; }; method getbar() { say $bar }; }; my $foo =  Foo.new; my $baz = Foo.new; $baz.setbar; $foo.getbar; $baz.getbar
03:27 p6eval rakudo a5dfe9: OUTPUT«7␤7␤»
03:28 eternaleye frew__: ^^^^^
03:28 frew__ eternaleye there's no wrap there..
03:28 frew__ or subclassing even
03:29 eternaleye 'my' in a class declares a static variable (as in what Java calls a static variable, ie shared among all instances)
03:29 frew__ eternaleye: gotcha
03:29 eternaleye frew__: I set $bar in $baz, and it changed for $foo too
03:29 frew__ but really I'm trying to use wrap and unwrap here
03:29 frew__ and use it on the method inherited from another class
03:30 eternaleye ah
03:30 frew__ rakudo: class Foo { has $.bar; }; class Bar extends Foo { &.bar.wrap({ say 'in wrapped method' }); };
03:30 p6eval rakudo a5dfe9: OUTPUT«Unable to parse class definition at line 2, near "extends Fo"␤in Main (src/gen_setting.pm:1506)␤»
03:32 eternaleye rakudo: sub foo() { say 'qux'; }; foo; my $cookie = &foo.wrap( sub ( $bar ) { say 'wrapped foo, recieved $bar'; callwith(); } ); foo( 'test' );
03:32 p6eval rakudo a5dfe9: OUTPUT«qux␤wrapped foo, recieved $bar␤qux␤»
03:32 frew__ I know how that works
03:32 frew__ KyleHa: gave a good link
03:33 eternaleye frew__: There are a lot of things that make that not work the way you intend
03:33 frew__ right
03:33 frew__ I was just wondering how it should work really
03:33 frew__ because I'm trying to figure out how the Moose around modifier relates to wrap
03:33 frew__ which (I think) it's based on
03:34 eternaleye class Foo { has $.bar; #`{ Bar here is a variable, not a method } }; class Bar extends #`{ we use 'is' in Perl6 } Foo { #`{ The first dot shouldn't be there, since declaration != use with 'has'; also, you are referring to &bar, but only $bar exists } &.bar.wrap({ say 'in wrapped method' }); };
03:36 frew__ uh
03:36 eternaleye rakudo: class Foo { method bar() { say 'bar'; }; }; class Bar is Foo { &bar.wrap({ say 'in wrapped method' }); }; my $foo = Foo.new; $foo.bar; my $bar = Bar.new; $bar.bar;
03:36 p6eval rakudo a5dfe9: OUTPUT«Method 'wrap' not found for invocant of class 'Failure'␤»
03:36 frew__ got it
03:36 KyleHa I think that when you declare a $.var, you get a 'var' method for free.
03:36 frew__ hahaha
03:36 KyleHa rakudo: class Hi { has $.x }; say Hi.can( 'x' );
03:37 eternaleye rakudo: class Foo { method bar() { say 'bar'; }; }; class Bar is Foo { self.&bar.wrap({ say 'in wrapped method' }); }; my $foo = Foo.new; $foo.bar; my $bar = Bar.new; $bar.bar;
03:37 p6eval rakudo a5dfe9:  ( no output )
03:37 p6eval rakudo a5dfe9: OUTPUT«Lexical 'self' not found␤»
03:37 eternaleye frew__: ( #`{...} is the new syntax for embedded comments)
03:37 frew__ eternaleye: I know, I keep in touch :-)
03:37 KyleHa rakudo: class Hi { has $x }; say 'can x: ' ~ Hi.can( 'x' );
03:37 p6eval rakudo a5dfe9: OUTPUT«Use of uninitialized value␤can x: ␤»
03:37 eternaleye rakudo: class Foo { method bar() { say 'bar'; }; }; class Bar is Foo { &Foo::bar.wrap({ say 'in wrapped method' }); }; my $foo = Foo.new; $foo.bar; my $bar = Bar.new; $bar.bar;
03:37 KyleHa rakudo: class Hi { has $.x }; say 'can x: ' ~ Hi.can( 'x' );
03:38 p6eval rakudo a5dfe9: OUTPUT«in wrapped method␤in wrapped method␤»
03:38 p6eval rakudo a5dfe9: OUTPUT«get_string() not implemented in class 'P6Invocation'␤in Main (/tmp/KFRdtdtbES:2)␤»
03:38 KyleHa rakudo: class Hi { has $.x }; say 'can x: ' ~ Hi.can( 'x' ).perl;
03:38 p6eval rakudo a5dfe9: OUTPUT«Method 'perl' not found for invocant of class 'P6Invocation'␤»
03:38 frew__ eternaleye: don't you need to call the original method somehow?
03:39 KyleHa rakudo: class Hi { has $.x = 23 }; my $hi = Hi.new; say $hi.x();
03:39 eternaleye Whoops, yeah
03:39 p6eval rakudo a5dfe9: OUTPUT«23␤»
03:39 KyleHa rakudo: class Hi { has $x = 23 }; my $hi = Hi.new; say $hi.x();
03:39 p6eval rakudo a5dfe9: OUTPUT«Method 'x' not found for invocant of class 'Hi'␤»
03:39 eternaleye rakudo: class Foo { method bar() { say 'bar'; }; }; class Bar is Foo { &Bar::bar.wrap({ say 'in wrapped method'; callsame }); }; my $foo = Foo.new; $foo.bar; my $bar = Bar.new; $bar.bar;
03:39 p6eval rakudo a5dfe9: OUTPUT«Method 'wrap' not found for invocant of class 'Failure'␤»
03:39 frew__ rakudo: class Hi { has $x = 23 }; Hi.new.x.say;
03:40 p6eval rakudo a5dfe9: OUTPUT«Method 'x' not found for invocant of class 'Hi'␤»
03:40 frew__ rakudo: class Hi { has $x = 23 }; (Hi.new).x.say;
03:40 p6eval rakudo a5dfe9: OUTPUT«Method 'x' not found for invocant of class 'Hi'␤»
03:40 eternaleye rakudo: class Foo { method bar() { say 'bar'; }; }; class Bar is Foo { &Bar::Foo::bar.wrap({ say 'in wrapped method'; callsame }); }; my $foo = Foo.new; $foo.bar; my $bar = Bar.new; $bar.bar;
03:40 p6eval rakudo a5dfe9: OUTPUT«Method 'wrap' not found for invocant of class 'Failure'␤»
03:40 frew__ rakudo: class Hi { has $.x = 23 }; (Hi.new).x.say;
03:40 p6eval rakudo a5dfe9: OUTPUT«23␤»
03:40 frew__ rakudo: class Hi { has $.x = 23 }; Hi.new.x.say;
03:41 eternaleye frew__: Really, if you're inheriting, you probably don't want .wrap
03:41 p6eval rakudo a5dfe9: OUTPUT«23␤»
03:41 frew__ eternaleye: ok, then let's say I am doing a role
03:41 frew__ then I want to wrap, right?
03:42 eternaleye frew__: You want to do class Foo { method baz() {...} }; class Bar is Foo { method baz() { dostuff; ...; self.Foo::baz(); ...; } }
03:42 eternaleye frew__: I don't think that's how roles work.
03:43 eternaleye .wrap is useful when dealing with procedural or functional code - OO code doesn't really benefit IIUC
03:43 frew__ hm
03:44 eternaleye Although, you can use it to implement a really nice logging system by wrapping everything in a debugging statement that prints when each function begins and ends
03:44 eternaleye s/logging/debugging
03:44 frew__ right
03:45 eternaleye When you inherit, you can override and call the parent's inside. It's pretty much the same functionality as wrap
03:45 eternaleye IIUC, the same is true for roles and composition
03:45 eternaleye However, calling the parent to an overridden method is NYI
03:47 frew__ well, at least with Moose, with roles if there is a role with method foo, and a class with method foo, and the class uses the role, the roles foo never even gets called
03:47 frew__ so the main way to deal with that is with an around
03:48 eternaleye rakudo: &infix:<+>.wrap({ say "started addition"; callsame; say "ended addition"; }); say 10 + 2;
03:48 p6eval rakudo a5dfe9: OUTPUT«Method 'wrap' not found for invocant of class 'MultiSub'␤»
03:48 eternaleye frew__: in rakudo you can do self.Role::method()
03:48 eternaleye s/rakudo/perl6/
03:48 eternaleye Rakudo hasn't implemented it yet
03:49 eternaleye rakudo: &infix:<**>.wrap({ say "started exponentiation"; callsame; say "ended exponentiation"; }); say 10 + 2;
03:49 p6eval rakudo a5dfe9: OUTPUT«Method 'wrap' not found for invocant of class 'MultiSub'␤»
03:49 eternaleye rakudo: &infix:<**>.wrap({ say "started exponentiation"; callsame; say "ended exponentiation"; }); say 10 ** 2;
03:49 p6eval rakudo a5dfe9: OUTPUT«Method 'wrap' not found for invocant of class 'MultiSub'␤»
03:50 eternaleye rakudo: &infix:<...>.wrap({ say "started series"; callsame; say "ended series"; }); say 10 ... { (); };
03:50 p6eval rakudo a5dfe9: OUTPUT«Method 'wrap' not found for invocant of class 'Perl6MultiSub'␤»
03:51 eternaleye hm
03:51 pugs_svn r27965 | kyle++ | [t/spec] Test for RT #64946
03:51 eternaleye TimToady: pmichaud: any idea on how .wrap on multis is supposed to work?
03:51 pugs_svn r27966 | kyle++ | [t/spec] Test for RT #64948
03:52 eternaleye Is there a way to specify the variant of multi to wrap? Is there a way to wrap every variant?
04:07 s1n joined #perl6
04:09 frew__ eternaleye: couldn't you do Foo.*wrap for mutlis?
04:11 eighteenrabbit joined #perl6
04:13 eternaleye frew__: Where is that from?
04:13 alester_ joined #perl6
04:13 eternaleye actually...
04:14 eternaleye rakudo: &infix:<...>».wrap({ say "started series"; callsame; say "ended series"; }); say 10 ... { (); };
04:14 p6eval rakudo a5dfe9: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'␤in Main (/tmp/MW7glhASDU:2)␤»
04:14 frew__ eternaleye: perl 6?
04:14 frew__ eternaleye: Foo.? means 0 or 1 methods
04:14 frew__ Foo.+ means 1 or more
04:14 frew__ Foo.* means 0 or more
04:15 eternaleye frew__: I meant what synopsis
04:15 eternaleye rakudo: &infix:<...>.*wrap({ say "started series"; callsame; say "ended series"; }); say 10 ... { (); };
04:15 frew__ oh
04:16 p6eval rakudo a5dfe9: OUTPUT«No applicable candidates found to dispatch to for 'infix:...'␤in Main (/tmp/GYyNBWo0sC:2)␤»
04:16 frew__ I'm not sure
04:16 frew__ rakudo: class Hi { method foo { say "foo"; }; }; Hi.new.foo
04:17 p6eval rakudo a5dfe9: OUTPUT«foo␤»
04:17 eternaleye rakudo: &infix:<...>.*wrap({ say "started series"; callsame; say "ended series"; }); my @foo = 10, 12; say @foo ... { (); };
04:17 p6eval rakudo a5dfe9: OUTPUT«1012␤»
04:17 frew__ rakudo: class Hi { method foo { say "foo"; }; }; class Yo is Hi { method foo { say "other foo" }; }; Hi.new.foo; Yo.new.foo;
04:17 p6eval rakudo a5dfe9: OUTPUT«foo␤other foo␤»
04:18 frew__ rakudo: class Hi { method foo { say "foo"; }; }; class Yo is Hi { method foo { say "other foo" }; }; Hi.new.foo; Yo.new.foo; Yo.*foo.wrap({ say 'in foo' }); Yo.new.foo;
04:18 eternaleye rakudo: &infix:<...>.+wrap({ say "started series"; callsame; say "ended series"; }); my @foo = 10, 12; say @foo ... { (); };
04:18 p6eval rakudo a5dfe9: OUTPUT«foo␤other foo␤other foo␤foo␤Method 'wrap' not found for invocant of class 'List'␤»
04:18 p6eval rakudo a5dfe9: OUTPUT«Could not invoke method 'wrap' on invocant of type 'Multi()'␤in Main (/tmp/UcaVmPNEfq:2)␤»
04:19 eternaleye rakudo: class Hi { method foo { say "foo"; }; }; class Yo is Hi { method foo { say "other foo" }; }; Hi.new.foo; Yo.new.foo; Yo.*foo>>.wrap({ say 'in foo' }); Yo.new.foo;
04:19 p6eval rakudo a5dfe9: OUTPUT«foo␤other foo␤other foo␤foo␤Method 'wrap' not found for invocant of class ''␤»
04:21 eternaleye rakudo: class Hi { method foo { say "foo"; }; }; class Yo is Hi { method foo { say "other foo" }; }; Hi.new.foo; Yo.new.foo; Yo.+foo>>.wrap({ say 'in foo' }); Yo.new.foo;
04:21 p6eval rakudo a5dfe9: OUTPUT«foo␤other foo␤other foo␤foo␤Method 'wrap' not found for invocant of class ''␤»
04:21 eternaleye rakudo: class Hi { method foo { say "foo"; }; }; class Yo is Hi { method foo { say "other foo" }; }; Hi.new.foo; Yo.new.foo; Yo.&foo>>.wrap({ say 'in foo' }); Yo.new.foo;
04:21 eternaleye rakudo: class Hi { method foo { say "foo"; }; }; class Yo is Hi { method foo { say "other foo" }; }; Hi.new.foo; Yo.new.foo; Yo.&foo.wrap({ say 'in foo' }); Yo.new.foo;
04:21 p6eval rakudo a5dfe9: OUTPUT«foo␤other foo␤invoke() not implemented in class 'Undef'␤in Main (/tmp/laHzdmA7Tj:2)␤»
04:21 p6eval rakudo a5dfe9: OUTPUT«foo␤other foo␤invoke() not implemented in class 'Undef'␤in Main (/tmp/XPX9zBqbcl:2)␤»
04:22 eternaleye frew__: Yo.*foo.wrap was calling foo and then calling .wrap on the result
04:22 eternaleye rakudo: class Hi { method foo { say "foo"; }; }; class Yo is Hi { method foo { say "other foo" }; }; Hi.new.foo; Yo.new.foo; &(Yo.foo).wrap({ say 'in foo' }); Yo.new.foo;
04:22 p6eval rakudo a5dfe9: OUTPUT«Use of contextualizer & not implemented. at line 2, near ".wrap({ sa"␤in Main (src/gen_setting.pm:2946)␤»
04:38 sevvie joined #perl6
04:44 PZt joined #perl6
05:27 kane_ joined #perl6
05:43 rfordinal joined #perl6
05:45 orafu joined #perl6
05:51 missingthepoint joined #perl6
06:15 justatheory joined #perl6
06:33 moritz_ good morning
06:34 moritz_ phenny tell wayland76 every pugs committer can also invite new committers at http://commitbit.pugscode.org/admin/project/Pugs/people (it's not a special power of mine)
06:34 moritz_ phenny, tell wayland76 every pugs committer can also invite new committers at http://commitbit.pugscode.org/admin/project/Pugs/people (it's not a special power of mine)
06:34 phenny moritz_: I'll pass that on when wayland76 is around.
06:34 moritz_ phenny, tell KyleHa every pugs committer can also invite new committers at http://commitbit.pugscode.org/admin/project/Pugs/people (it's not a special power of mine)
06:34 phenny moritz_: I'll pass that on when KyleHa is around.
06:45 Su-Shee joined #perl6
06:45 Su-Shee good morning! :)
06:50 moritz_ oh hai
06:50 masak joined #perl6
06:50 masak oh hai #perl6
06:52 moritz_ masak: http://www.reddit.com/r/perl/comments/99oba/perl_6_is_my_mmorpg/
06:52 Su-Shee EVE is _so_ _not_ about the usal classes.. ;))
06:52 masak rakudo: ((Temporal::DateTime.new(date => Temporal::Date.new(:year(2010), :month(4)), time => Temporal::Time.new()).epoch - time) / 86400).ceiling.fmt("%d days left until April!").say
06:52 p6eval rakudo a5dfe9: OUTPUT«232 days left until April!␤»
06:52 masak Su-Shee: I know.
06:52 moritz_ masak: in particular I like the last comment
06:53 masak moritz_: thanks! nice to make reddit again.
06:53 * masak reads
06:53 masak yep, I like the last comment too. :)
06:53 masak for a reddit comment, that's praise.
06:54 masak (this one http://www.reddit.com/r/perl/comments/99oba/perl_6_is_my_mmorpg/c0bxpi5 -- for people from the future reading backlog)
06:54 rfordinal joined #perl6
06:54 eternaleye_ joined #perl6
06:55 moritz_ it's a shame that this is only submitted to the "perl" category
06:55 moritz_ I should submit it again to "programming"
06:55 moritz_ much wider audience
06:56 masak good idea.
06:56 masak (I think. I don't know about the reddit category system.)
06:56 moritz_ http://www.reddit.com/r/programming/comments/99ua7/perl_6_is_my_mmorpg/ here it is now
06:58 masak moritz_++
06:58 moritz_ masak++ for writing it ;-)
06:58 masak it was a pleasure.
06:59 masak I originally suggested the idea to pmichaud for his Hacking Rakudo talk...
06:59 moritz_ I know
06:59 masak when I didn't see it materialize there, I guess I felt the need to write something myself instead. :)
07:00 * moritz_ would like to see some heroic pictures for the various classes ;-)
07:02 masak lurkers: you heard the man!
07:04 eternaleye_ mage (well, technomancer) (not made by me) http://cw.myfirstgorilla.com/gallery_technomancer.html
07:06 Su-Shee does one of you actually play EVE?
07:06 masak well, my two colleagues do.
07:07 Su-Shee hm. ok.
07:09 szabgab joined #perl6
07:13 Matt-W Morning
07:14 * Matt-W plays Lord of the Rings Online and Champions Online, and a handful of tabletop RPGs too
07:15 tann joined #perl6
07:15 tann hola, senors
07:15 masak que tal, tann?
07:16 tann rakudo: my @a = 1, 2, 3; for @a -> $i { say $i; @a.pop; @a.pop }; # bug?
07:16 p6eval rakudo a5dfe9: OUTPUT«1␤2␤3␤»
07:16 Su-Shee left #perl6
07:17 Matt-W no that looks right
07:17 masak yep.
07:17 masak there's consensus that if you want to modify what you loop over, you should use a while loop.
07:18 kyle_l5l joined #perl6
07:18 tann what if i like to *eat up*/*skip* some part of what i'm looping
07:19 Matt-W That's pretty much what you just did
07:21 donaldh joined #perl6
07:25 masak tann: I tend to use 'next' for that.
07:25 tann masak: doing that now
07:26 tann thought there was some neat clever way :)
07:26 frettled and I thought that 'next' was neat and clever :(
07:27 masak yes, 'next' is the clever way.
07:27 masak it can really lead to wonderful code if you internalize it.
07:28 masak for @foo { next if #`(something); next if #`(something else); last if #`(something else entirely); #`(real code); }
07:29 tann i have somethig like this: for qqx/foo/ -> $line {  if $line ~~ /header/ { $line = next line; write $line to $file until see the next header then go to for again }  :)
07:30 masak that sounds like the flip-flop operator to me.
07:30 tann oh, be kind to tell me what it is
07:30 Matt-W oooh a use for the flip flop operator
07:30 * Matt-W listens intently
07:31 masak tann: you can start by grepping for 'flip-flop' in 'perldoc perlop'.
07:31 masak after that, all you need to know is that it's spelled 'ff' and 'fff' in Perl 6.
07:32 tann masak: thanks
07:32 masak beware, though, that exactly that piece of documentation in perldoc has been called insane by Steve Yegge.
07:32 masak (I find it not too bad, but I guess I have internalized much of the insanity.)
07:33 frettled Perl 5: ff = flip-flop.  Perl 6: frackin' flip-flop
07:34 Matt-W masak: I've read the documentation several times, and still don't know why I'd want to use it
07:34 tann uh oh...after all these years with perl, first use of flip-flop operator :))
07:35 tann though i vaguely remember having encountered it once or twice :D
07:35 masak Matt-W: it's quite useful when parsing files, and only being interested in an interval of lines.
07:35 moritz_ public announce to all pugs committers: let it be known that you can also hand out new commit bits - nobody with magic powers required. Bookmark http://commitbit.pugscode.org/admin/project/Pugs/people and be happy.
07:36 masak \o/
07:36 frettled woot
07:37 frettled Whoa, javascript overkill.
07:38 frettled (1.4 megabytes of javascript to serve a login page)
07:39 Matt-W :o
07:39 Matt-W 1.4 MEGABYTES?
07:40 masak surely there's a decimal-point error somewhere in that figure.
07:40 masak right? please? :/
07:40 frettled -rw-r--r--@    1 jani  staff     1453607 Aug 12 09:38 82e771696bba4ae209191272ce15e523.js
07:40 masak wow.
07:41 * Matt-W decides to just give up and go mad now
07:41 frettled It's all of the Jifty package in one script, I think.
07:42 masak Matt-W: for some reason, your "give up" reminded me of this: http://www.youtube.com/watch?v=D1NAwlepnSs
07:43 frettled Thank goodness that this JS code isn't used for the login button, and that it still works with JS disabled.
07:43 * frettled hugs NoScript (Firefox) and Opera's Site Preferences.
07:43 masak oh, so that 1.4 Mb of js was unnecessary. what a relief!
07:44 frettled And it only loads if you've got JS enabled, which I'm sure you don't by default, right?  :D
07:44 masak frettled: I've also become a NoScript believer lately. thanks for the tip.
07:44 frettled NP :)
07:45 Matt-W Why why why
07:45 Matt-W 1.4 megabytes!
07:45 masak :)
07:46 Matt-W I'm not sure even google docs uses that much...
07:46 frettled It's like importing half of CPAN in order to do �Hello, world�.
07:46 Matt-W Mmm
07:46 Matt-W the only javascript you might want on a login page is really quite minimal
07:47 dakkar joined #perl6
07:47 Matt-W perhaps as part of a global site navigation system that's very very fancy (and possibly unnecessary)
07:47 Matt-W but I can't imagine needing 1.4 megabytes of it for anything at all on the web...
07:47 jd8hh57 joined #perl6
07:48 frettled It's a part of the JS do-it-all craze; JQuery is another thingy that's very popular, but I don't think it's quite that big.
07:48 bpetering masak: EXCELLENT. That there's some impressive Perl evangelism... :)  (use.perl)
07:48 Matt-W JQuery is pretty small
07:48 masak bpetering: thank you.
07:49 Matt-W they offer a version that's been run through a tool that cuts the source text right down to about the smallest it can be and still work
07:50 Matt-W and because so much of the stuff is in plugins anyway, you don't have to pull down a load of useless baggage
07:50 Matt-W unless the site author was an idiot, of course
07:51 hanekomu joined #perl6
07:52 frettled Matt-W: the problem is that when code is compressed like that, it also looks like malicious javascript that intends to control your browser :)
07:53 Matt-W frettled: do you manually audit all javascript that comes down to your browser?
07:53 frettled Matt-W: I try to, yes.
07:54 bpetering masak: as someone who's only been hanging around here a bit, that distilled a lot of my impressions of the "contribution structure" very well
07:54 Matt-W frettled: wow.
07:54 masak bpetering: glad to hear that. with a bit of luck, it might attract new people too.
07:54 frettled For work purposes (I work with a domain registrar/web hosting company), I've created a script that uses regexps to check various JS signatures.  I've had to make an exception for ext-all.js, since it always comes up as a false positive.
07:55 frettled Essentially, I wouldn't want to have JS enabled at all, as long as JS is allowed complete control over the DOM, browser navigation, mouse click and keyboard capture, plus move windows to the front (focus).
07:56 * masak is scared now
07:56 Matt-W hmm
07:56 Matt-W Only if there's a hole in the browser
07:56 frettled Which there is like, every other week?  :D
07:57 tomaw_ joined #perl6
07:57 Matt-W might as well just unplug your network cable
07:58 frettled I've been tempted to.
08:02 frettled Ooh, there's a delete button to the right of �damian: <damian@conway.org> (administrator, pending)�
08:05 eternaleye_ masak: For flipflop in p6, how is it used? $var ~~ /foo/ ff /bar/ ?
08:05 eternaleye_ since $. is no longer with us
08:06 masak eternaleye_: no, it's used between boolean expressions, just like in Perl 5.
08:06 masak eternaleye_: there's $*IN.ins instead of $.
08:06 eternaleye_ Ah
08:06 masak but I don't know how it ties into ff and fff. it probably doesn't.
08:07 eternaleye_ masak: And didn't the one in p5 do integer comparisons if it was a scalar rather than code/regex?
08:07 eternaleye_ (against $.)
08:07 masak yes, I think so.
08:09 Jedai joined #perl6
08:09 eternaleye_ ah, perldoc perlop says that it's int-compared if it's a constant expression
08:10 eternaleye_ Which means a constant expression of an array would compare # of elements to line #. Eww.
08:10 masak um. regexes are constant expressions.
08:10 eternaleye_ masak: Then perldoc is wrong :/
08:10 masak fancy that.
08:12 payload joined #perl6
08:14 moritz_ today is another #perl6-soc meeting I suppose?
08:15 masak yes.
08:16 jferrero joined #perl6
08:18 eternaleye_ hm
08:18 eternaleye_ @list.map( /foo/ ff * ) - is * a whatever that creates whatevercode with map, or is it a flipflop that never flops?
08:19 eternaleye_ TimToady: ^^^ Seeming parse ambiguity per S03:2391
08:20 eternaleye_ Well, semantic ambiguity
08:20 azawawi joined #perl6
08:21 azawawi hi
08:21 sri_kraih joined #perl6
08:24 guest_007 joined #perl6
08:25 kyle_l5l Hullo everyone.  I'm playing around with creating new threads in rakudo - is this possible at the moment?  I'm having some trouble: I've got a dumb little PIR sub that works in Parrot, but when I cause it to be executed by rakudo, clone_interpreter() has trouble.
08:26 bpetering kyle_l5l: i don't think it's possible now... maybe have a look at the roadmap?
08:26 azawawi masak: ping
08:27 masak azawawi: pong.
08:27 moritz_ kyle_l5l: that's a known problem, and the reason why rakudo doesn't have basic threads yet
08:27 azawawi masak: you level-ed to a new level in blogging with your last post. simply amazing :)
08:28 moritz_ kyle_l5l: see https://trac.parrot.org/parrot/ticket/757
08:28 bpetering kyle_l5l: stuff that's planned (ie, not yet implemented) in Rakudo: http://github.com/rakudo/rakudo/blob/a5dfe96dbfae85aefefa6b92373611e0fe3cebf3/docs/ROADMAP
08:28 masak azawawi: thank you. :)
08:29 azawawi masak: so what are Padre P6 developers? :)
08:29 masak azawawi: you tell me. :)
08:30 eternaleye_ masak: I'd have to say you're an Archer/Bard multiclass ;D
08:30 masak many of us here have multiclass characteristics. :)
08:30 * moritz_ thought of masak mostly as a warrier
08:30 masak yah, me too.
08:30 kyle_l5l moritz_, ooo, that'll do it.  parrot/rakudo/etc needs a bug tracker tracker - I must have gone in circles around that ticket.
08:31 * moritz_ is more of a worrier instead
08:31 masak warrior's what I enjoy the most. but then I briefly become a priest every time I submit a bug ticket.
08:31 eternaleye_ masak: Hmm. Maybe a warrior with levels in archer, who took a bard-oriented prestiege class?
08:31 Matt-W yes I think masak is a warrior/priest
08:32 eternaleye_ masak: You do everything!
08:32 * Matt-W appears to be a warrior/priest who just took his first level of mage
08:32 masak eternaleye_: with varying success. :)
08:32 Matt-W maybe masak's a conglomeration of NPCs
08:32 Matt-W representing all classes
08:32 masak that sounds painful.
08:32 moritz_ masak's mage skills need more training, though
08:32 eternaleye_ Shh, Matt-W! Someone might figure out he's the DM!
08:32 eternaleye_ Whoops
08:32 masak :P
08:33 masak (I'm not, though)
08:33 azawawi :)
08:33 moritz_ but sounds like he's a power gamer :-)
08:33 * bpetering code
08:33 azawawi std: #(
08:33 p6eval std 27966: OUTPUT«[31m===[0mSORRY![31m===[0m␤(Possible runaway string from line 1)␤Couldn't find terminator ) at /tmp/7077UQMN4L line 1 (EOF):␤------> [32m#([33m⏏[31m<EOL>[0m␤Other potential difficulties:␤  Embedded comment without backtick is deprecated at /tmp/7077UQMN4L line 1:␤------>
08:33 p6eval ..[…
08:34 azawawi std: #)
08:34 p6eval std 27966: OUTPUT«ok 00:02 36m␤»
08:34 EDevil joined #perl6
08:34 moritz_ std: #`
08:34 p6eval std 27966: OUTPUT«ok 00:02 36m␤»
08:34 eternaleye_ masak: Actually, the DM analogy kinda fits: you work on the Setting, create a good backdrop of apps, document the events that unfold, and bring in new players!
08:35 masak eternaleye_: I'm just this guy, you know.
08:35 frettled joined #perl6
08:35 frettled rakudo: say "Hello, Dolly!"
08:35 p6eval rakudo a5dfe9: OUTPUT«Hello, Dolly!␤»
08:36 frettled …and is my UTF-8-ness visible for you guys as well?  (ellipsis at the beginning of this line)
08:36 moritz_ frettled: yes
08:37 masak frettled: aye
08:37 moritz_ frettled: and the IRC logs pick it up correctly too
08:37 masak frettled++
08:38 frettled Thank goodness.  I just discovered -- in another channel -- that while I saw my UTF-8-ness correctly, it wasn't sent, due to unsaved irssi configuration.
08:40 bpetering frettled: i wrestled irssi into some level of UTF-8-ness recently... http://benmissingthepoint.blogspot.com/2009/07/utf8-goodness-in-windows-irssi.html
08:40 bpetering (incidentally, does anyone know which clients have the best Unicode support? I think irssi's is kinda broken...)
08:41 frettled bpetering: irssi's is just fine, I think.
08:41 frettled But I'm running irssi from a Linux box.
08:41 Matt-W works fine for me on a linux box too
08:42 Matt-W once I persuade screen and my ssh clients and terminals to behave :)
08:42 bpetering Ah... I've heard the 'recode' stuff is broken, but perhaps the plain Unicode support is fine.
08:42 frettled What I had to do in order to make it work, was to set the following:
08:42 frettled conversions = { "#perl6" = "utf-8"; }
08:42 frettled This is because…
08:42 frettled recode_out_default_charset = ISO8859-1
08:43 frettled But with UTF-8 as the default, it should Just Work.
08:43 frettled Matt-W: screen is also a bit tricky, but I can give you a hand if you like, since I've just recently been through the conversion.
08:44 * bpetering should move to screen on a Linux box instead of this silliness...
08:44 frettled bpetering: screen is great, except when it isn't :D
08:45 bpetering frettled: that about sums it up.
08:45 frettled And then you'll have a horrible time trying to google for solutions, since the name is too generic.
08:45 moritz_ I found screen to be very non-tricky when started with the -U option
08:45 frederico joined #perl6
08:46 frettled moritz_: well, you also need to ensure that the locale was correct before you started.
08:46 moritz_ it seemed to be correct in my case :-)
08:46 masak phenny: tell mberends I looked at the temporal-flux repo and decided to do things in two steps: (1) re-arrange the current stuff from code to method descriptions, (2) add new convenience stuff, mainly nice constructors. I want to be able to write DateTime.new("2010-04") a la iso8601, for example. also, pondering renaming .iso8601 to just .iso
08:46 phenny masak: I'll pass that on when mberends is around.
08:46 frettled If you're running a screen that was started in a non-UTF-8-locale, you'll need to use _‹escape command› : utf-8 ‹RET›_ to fix it.
08:50 azawawi std: #say "Hello";
08:50 p6eval std 27966: OUTPUT«ok 00:02 36m␤»
08:50 Matt-W frettled: no, I got it working a number of years ago, thanks
08:53 frettled :)
08:55 bpetering moritz_, i'd like to start contributing to the tests...
08:55 bpetering anything you'd like to let me know in particular?
08:57 Matt-W bpetering: hurrah!
09:00 bpetering i've read KyleHa++'s article on PerlMonks... and just going through your "reorganization" article now
09:00 bpetering Matt-W: :)
09:03 masak moritz_: re writing a Perl 6 book together: thinking a bit more about it, I don't think the two of us have the energy/tuits to write a 200-page book. however, I think we could produce a pretty useful thing by (for example) finding five really good Perl 6 scripts which highlight interesting/useful features of the language. a bit like the Exigeses; a self-contained script, and then a lot of explanations of individual bits of it.
09:04 bpetering moritz_, others: are any particular parts more important than others right now?
09:07 abbe joined #Perl6
09:09 bpetering something to think on... :)
09:10 bpetering will bbl
09:11 moritz_ masak: I'll think a bit about it. "Perl 6 by example" with a nice introduction would be not too bad
09:12 masak moritz_: sounds good.
09:13 Su-Shee joined #perl6
09:13 moritz_ phenny, tell bpetering there are no really urgent tasks in the test suite right now. Anything mentioned in the t/spec/TODO file is worth doing...
09:13 phenny moritz_: I'll pass that on when bpetering is around.
09:13 tomaw_ joined #perl6
09:15 moritz_ phenny, tell bpetering if you understand regexes (partly) there are many things in S05 that need better coverage and aren't all that complicated
09:15 phenny moritz_: I'll pass that on when bpetering is around.
09:18 cahek joined #perl6
09:18 jnthn o/
09:19 moritz_ o!
09:19 frettled masak, moritz_: I could help out, if you like.
09:20 masak jnthn: oh hai!
09:20 masak frettled: cool.
09:20 frettled jnthn: good $timeofday
09:23 jnthn masak: hi! :-)
09:23 masak here's a talk I held in May, btw. http://masak.org/carl/stockholm.pm/perl6.pdf -- it condenses parts of the material in moritz_++'s blog posts.
09:23 masak (I'm updating my homepage on feather with links to talks, that's why I got to thinking about that old talk)
09:24 cahek left #perl6
09:27 zloyrusskiy joined #perl6
09:32 frettled masak: thanks, I'm downloading it and will look at that.
09:32 masak frettled: downloading what?
09:32 frettled masak: the PDF :)
09:32 masak ah, the talk. :)
09:33 masak my updated home page on feather: http://feather.perl6.nl/~masak/
09:34 frettled Clean,.
09:34 frettled s/,//
09:34 masak it's compatible with just about every browser out there. :)
09:35 moritz_ masak++ # using HTML definition lists
09:35 masak moritz_: they're the hashes of HTML.
09:35 moritz_ aye :-)
09:36 moritz_ and severly underused
09:36 masak I really like them.
09:36 masak surprisingly often, they're what I want.
09:37 frettled Getting them to look nice is a bit tricky, but CSS is our friend.
10:00 _timbunce joined #perl6
10:05 pmurias joined #perl6
10:07 Muixirt joined #perl6
10:07 riffraff joined #perl6
10:09 riffraff joined #perl6
10:18 hanekomu joined #perl6
10:22 * Matt-W uses definition lists quite frequently in those rare times he writes websites
10:23 Matt-W for CSS purposes it'd be nice if there was a container around each dt/dd pair
10:23 masak Matt-W: but semantically, they're not coupled. just like given/when.
10:25 Matt-W yes they are
10:25 Matt-W the dd defines the dt which preceded it
10:25 masak oh, for sure.
10:26 masak just as the when acts inside a given, if there is one.
10:28 masak but -- and the HTML 4.01 spec gives an example of this -- there can be several dt in a row, and several dd in a row.
10:28 * Matt-W mumbles incoherently
10:29 masak there are several unspoken taboos with definition lists, however. havind a dd without a dt would be one, I guess.
10:30 masak that kinda screams of using semantic markup solely for presentation purposes.
10:31 masak the other one I've heard about is having several identical dt elements. that parallels the uniqueness of hash keys. there's no physical limitation in this case, though. it's just frowned upon.
10:34 masak ah. seems I picked up that meme here long ago: http://24ways.org/2007/my-other-christmas-present-is-a-definition-list
10:44 masak lunch &
10:50 abbe joined #Perl6
10:50 Matt-W masak: I think that probably just starts to make the semantics of a dl look a bit silly
10:51 Matt-W masak: after all, defining the same thing twice, differently?
10:51 Matt-W probably some cases where you do want to do that, but not most of the time
10:51 Su-Shee left #perl6
10:52 jnthn Matt-W: Well, in a dictionary (natural language type), words often have more than one meaning.
10:52 Matt-W jnthn: this is indeed true
11:07 szabgab joined #perl6
11:14 meppl joined #perl6
11:20 donaldh joined #perl6
11:21 moritz_ jnthn: how's your grant going? from a quick look it seems to be mostly done...
11:21 moritz_ I'm just not sure how much work on traits is left
11:22 polettix joined #perl6
11:22 moritz_ Matt-W: think of it as multi sub definitions :-)
11:24 polettix hi there, I tried to Google a bit but with little luck... Is there some perlish-6 way to swap the contents of two arrays, a-la ($x, $y) = ($y, $x)?
11:24 jnthn moritz_: Mostly done.
11:24 jnthn moritz_: Health allowing, I want to try and clear up some final bits over the next week and get a final report together.
11:24 M_o_C joined #perl6
11:26 moritz_ polettix: ($x, $y) = ($y, $x) works fine
11:26 polettix moritz_: I wanted to know about arrays
11:26 * moritz_ can't read
11:27 polettix moritz_: eh, I asked about arrays but did an example with scalars :-)
11:27 moritz_ polettix: that might work somehow with slice context, but since nobody implements that yet it's a bid hard to say
11:27 moritz_ or maybe with signatures...
11:28 jnthn Something with sig binding should work.
11:28 moritz_ :(@a, @b) := (@b, @a)
11:28 jnthn Not yet in Rakudo though.
11:29 polettix jnthn: OK, I tried the example by moritz_ but I got an error in rakudo, so I thought that the source I was reading for (dated 2002) was outdated
11:29 polettix thank you all :)
11:30 jnthn Rakudo should support that sig binding stuff in the not too distant future.
11:31 moritz_ rakudo: multi swap(@a is rw, @b is rw) { my @tmp = @a; @a = @b; @b = @tmp }; my @x = 1..3; my @y = 'foo', 'bar'; swap(@x, @y); say @x.perl; say @y.perl
11:32 p6eval rakudo a5dfe9: OUTPUT«["foo", "bar"]␤[1, 2, 3]␤»
11:44 polettix I have an implementation of project euler #25, can I add it to the examples in github?
11:45 moritz_ polettix: what's your github id?
11:46 polettix moritz_: polettix :)
11:47 moritz_ phenny: tell pmichaud could you please add `polettix' as a committer to the perl6/perl6-examples repo on github?
11:47 phenny moritz_: I'll pass that on when pmichaud is around.
11:47 moritz_ can anybody else hand out commit bits for that repo?
11:49 guest_007 rakudo: my @zombies = 1..666; say "I see "~+@zombies~" dead people!";
11:49 p6eval rakudo a5dfe9: OUTPUT«I see 666 dead people!␤»
11:55 pmurias rakudo: my @zombies = 1..666; say "I see {@zombies.elems} dead people!"; # ;)
11:55 p6eval rakudo a5dfe9:  ( no output )
11:55 pmurias rakudo: my @zombies = 1..666; say "I see "~@zombies.elems~" dead people!"; # ;)
11:55 p6eval rakudo a5dfe9:  ( no output )
11:56 frettled yay
11:56 pmurias rakudo: my @zombies = 1..666; say "I see "~ +@zombies ~ " dead people!"; # ;)
11:56 p6eval rakudo a5dfe9:  ( no output )
11:56 pmurias rakudo: my @zombies = 1..666; say "I see "~ +@zombies ~ " dead people!";
11:56 p6eval rakudo a5dfe9:  ( no output )
11:56 pmurias wtf
11:56 frettled unyay
11:57 frettled rakudo: my @zombies = 1..666; say "I see" ~+@zombies ~"dead people!";
11:57 p6eval rakudo a5dfe9:  ( no output )
11:57 moritz_ rakudo: say 3
11:57 p6eval rakudo a5dfe9: OUTPUT«3␤»
11:58 frettled rakudo: my @zombies = 1..666; say "I see" ~ +@zombies~ "dead people!";
11:58 p6eval rakudo a5dfe9:  ( no output )
11:58 frettled rakudo: my @zombies = 1..666; say "I see" ~ +@zombies~"dead people!";
11:58 pmurias rakudo: my @zombies = 1..2; say "I see "~ +@zombies ~ " dead people!"; # ;)
11:58 p6eval rakudo a5dfe9: OUTPUT«I see666dead people!␤»
11:58 p6eval rakudo a5dfe9: OUTPUT«I see 2 dead people!␤»
11:58 frettled Aha!
11:58 pmurias frettled: what's the problem?
11:58 polettix ?
11:59 pmurias rakudo: my @zombies = 1..666; say "I see {@zombies.elems} dead people!"; # ;)
11:59 p6eval rakudo a5dfe9: OUTPUT«I see 666 dead people!␤»
11:59 pmurias rakudo: my @zombies = 1..666; say "I see @zombies.elems dead people!"; # ;)
11:59 p6eval rakudo a5dfe9: OUTPUT«I see @zombies.elems dead people!␤»
11:59 frettled rakudo: my @x = 1..6; say "I see " ~ +@x~" dead people!"; say "I see " ~ +@x ~ " living people!";
11:59 p6eval rakudo a5dfe9: OUTPUT«I see 6 dead people!␤I see 6 living people!␤»
12:00 frettled pmurias: the problem?  I thought it was the same that made you go «wtf» ...
12:01 polettix rakudo: my @zombies = 1..666; say "I see" ~+@zombies ~"dead people!";
12:01 pmurias frettled: what i meant what was the source of rakudo not printing anything
12:01 p6eval rakudo a5dfe9:  ( no output )
12:02 polettix rakudo: my @zombies = 1..666; say "I see" ~+@zombies~"dead people!";
12:02 frettled pmurias: yes, and I was wondering about the same thing, testing different output to see
12:02 p6eval rakudo a5dfe9:  ( no output )
12:02 frettled rakudo: my @x = 1..6; say "I see" ~ +@x ~ "dead people!"; say "I see " ~ +@x ~ " living people!";
12:02 p6eval rakudo a5dfe9: OUTPUT«I see6dead people!␤I see 6 living people!␤»
12:02 polettix rakudo: my @zombies = 1..666; say "I see "~+@zombies~" dead people!";
12:02 p6eval rakudo a5dfe9:  ( no output )
12:02 abbe left #Perl6
12:03 frettled rakudo: my @x = 1..6; say "I see "~+@x~" dead people!"; say "I see " ~ +@x ~ " living people!";
12:03 p6eval rakudo a5dfe9: OUTPUT«I see 6 dead people!␤I see 6 living people!␤»
12:03 frettled rakudo: my @x = 1..666; say "I see "~+@x~" dead people!"; say "I see " ~ +@x ~ " living people!";
12:03 * polettix does not understand
12:03 p6eval rakudo a5dfe9:  ( no output )
12:03 pmurias maybe it's a timeout
12:03 polettix rakudo: my @x = 1..6; say "I see "~+@x~" dead people!"; say "I see " ~ +@x ~ " living people!";
12:03 frettled I think it has something to do with the array size then.
12:03 p6eval rakudo a5dfe9: OUTPUT«I see 6 dead people!␤I see 6 living people!␤»
12:04 frettled rakudo: my @x = 1..100; say "I see "~+@x~" dead people!"; say "I see " ~ +@x ~ " living people!";
12:04 p6eval rakudo a5dfe9: OUTPUT«I see 100 dead people!␤I see 100 living people!␤»
12:04 pmurias rakudo: my @zombies = 1..6666; say "I see @zombies.elems dead people!"; # ;)
12:04 frettled rakudo: my @x = 1..499; say "I see "~+@x~" dead people!"; say "I see " ~ +@x ~ " living people!";
12:04 p6eval rakudo a5dfe9:  ( no output )
12:04 p6eval rakudo a5dfe9: OUTPUT«I see 499 dead people!␤I see 499 living people!␤»
12:04 frettled rakudo: my @x = 1..500; say "I see "~+@x~" dead people!";
12:04 p6eval rakudo a5dfe9: OUTPUT«I see 500 dead people!␤»
12:04 pmurias maybe we shouldn't flood the channel?
12:05 frettled pmurias: we're probably on everyone's ignore lists by now, no worries!  :D
12:07 moritz_ sometimes p6eval has high load and the CPU time limit is exceeded
12:07 moritz_ then you don't get any output
12:07 moritz_ which is why I'd recommend to test such things locally
12:07 pmurias it would be nice if a correct error would be printed
12:08 polettix I seem to remember that Rakudo * will sport big integers - is it correct?
12:08 jnthn polettix: It's not a "we'll not release if we don't have it done" level issue, but it's on the nice-to-have.
12:09 moritz_ and it will strongly depend on parrots support for them
12:09 jnthn Right.
12:10 jnthn We'll have to see what the GSOC project in that area has achieved.
12:10 moritz_ http://pastie.org/581165 recursive SQL -> http://paste.debian.net/43973 output
12:10 moritz_ jnthn: that was about decimal numbers, don't know if that covers bigints too
12:11 jnthn moritz_: Ah, true.
12:11 jnthn moritz_: I guess that may help us support Rat...
12:13 pmurias Rats are 2 big ints aren't they?
12:13 moritz_ and decnums are neither.
12:14 moritz_ pmurias: plus behaviour
12:14 pmurias moritz_: that's easily written in Perl6 ;)
12:20 takadonet joined #perl6
12:20 takadonet hey all
12:21 moritz_ oh hai
12:27 stepnem joined #perl6
12:30 stepnem joined #perl6
12:32 alester_ joined #perl6
12:35 ruoso joined #perl6
12:36 xinming_ joined #perl6
12:38 pmurias ruoso: hi
12:38 ruoso hi pmurias
12:39 pmurias re context vars i'm not sure how context vars should be marked in the lexical scope
12:39 SmokeMachine joined #perl6
12:40 ruoso pmurias, I think we can ask TimToady if the "is context" applies to the container or to the lexical scope
12:41 pugs_svn r27967 | pmurias++ | [re-smop] pass a null terminated string to snprintf
12:41 pmurias ruoso: can't the same container can be in two lexical scopes? (using binding)
12:42 pugs_svn r27968 | pmurias++ | [re-smop] dlclose() dynamic libraries handles
12:42 ruoso yes... the question is, will this binding add dynamic visibility there as well?
12:45 pmurias another thing we block on :/
12:47 Front_slash joined #perl6
12:49 stepnem joined #perl6
12:52 pmurias ruoso: we are keeping continuations in &?ROUTINE and &?BLOCK and they are specced to hold the current routine and block
12:53 synth joined #perl6
13:01 ruoso pmurias, yeah... we need to fix that...
13:03 pmurias ruoso: by renaming the variable?
13:03 ruoso yeah
13:07 missingthepoint joined #perl6
13:11 stepnem joined #perl6
13:14 stepnem joined #perl6
13:22 masak phenny: tell mberends that at his convenience, I'd like to have a quick tutorial on how to use the new, improved HTTP::Daemon. (The Nibbler isn't HTTP::Daemon-compatible anymore, it seems.) For extra super bonus points, we should sit together and draft up a Handler (a la Rack/Web.pm), which would be the Proper Way to use HTTP::Daemon through Web.pm.
13:22 masak phenny: tell mberends that at his convenience, I'd like to have a quick tutorial on how to use the new, improved HTTP::Daemon. (The Nibbler isn't HTTP::Daemon-compatible anymore, it seems.) For extra super bonus points, we should sit together and draft up a Handler (a la Rack/Web.pm), which would be the Proper Way to use HTTP::Daemon through Web.pm.
13:22 phenny masak: I'll pass that on when mberends is around.
13:25 mikehh rakudo (a5dfe95) builds on parrot r40503 - make test/make spectest (up to 27968) PASS - Ubuntu 9.04 i386
13:25 masak mikehh++
13:31 mikehh now I gotta switch to my amd64 - I haven't got my VM working properly yet (wireless network problems)
13:35 jferrero joined #perl6
13:45 mikehh joined #perl6
13:51 pmurias ruoso: one problem i can see with merging SV*/SMOP__Object* is that perl5 has a lot of macros operating on SV*
13:51 ruoso pmurias, the biggest part of the job would be to change that macros
13:52 moritz_ that seems like "ouch"
13:52 pmurias that would slow perl5 down
13:52 ruoso not really... we could change all p5 macros to operate on the RI
13:53 pmurias you mean call a method instead or if (->RI == ) ...?
13:55 ruoso pmurias, I mean macros like add refcount implement SMOP_REFERENCE(...)
13:59 pmurias lunch& # will thing that over
14:12 pmichaud good morning, #perl6
14:12 phenny pmichaud: 11:47Z <moritz_> tell pmichaud could you please add `polettix' as a committer to the perl6/perl6-examples repo on github?
14:12 masak oh hai pmichaud
14:14 pmichaud polettix added.
14:14 moritz_ polettix: now you can commit your euler solution. Welcome :-)
14:14 frettled pmichaud: good morning!
14:14 polettix thank you, I'll try to figure out how to push three more examples in the project euler directory
14:14 moritz_ thanks pmichaud++
14:15 jnthn pmichaud: oh hai...I'm back. ;-)
14:15 frettled The Terrible Twins
14:16 PerlJam frettled: I thought there were *4* horsemen of the apocalypse
14:17 frettled PerlJam: I don't see that mentioned in the synopses.  ;)
14:19 masak so, when's the next Rakudo day? :)
14:21 pmichaud wb, jnthn
14:21 pmichaud I'll probably do rakudo day today -- merging ins2 branch into trunk
14:21 masak \o/
14:21 masak only 232 days left!
14:22 moritz_ YaY (ins2 merge)
14:22 cdarroch joined #perl6
14:22 missingthepoint wayland76++, pimchaud++
14:23 frettled masak: perhaps we should sneak in an internal method for Rakudo * day, returning the amount of days remaining
14:24 masak frettled: my goal is akin to that: I'm about to refactor Temporal.pm so that such things are much more feasible.
14:24 masak you've probably seen my current one-liner. I have one of half its length that would work after my planned refactor.
14:24 frettled masak: ah!
14:25 frettled masak: if you want to, I'm available for nitpicking over Temporal.pm behaviour.
14:25 masak excellent.
14:25 jnthn pmichaud: (ins2 merge) sounds good.
14:25 jnthn pmichaud: I'll likely hack on Rakudo later on today.
14:25 masak frettled: I'll let you know when I have something to review.
14:25 rfordinal left #perl6
14:26 frettled masak: the main reason that I'm actually interested in working with Perl 6, is that the time before code is considered "stable" (or something like that) is the most interesting time.
14:26 masak frettled: aye, I know what you mean.
14:27 frettled I just regret that I haven't had the tuits to get involved at an earlier stage.
14:27 frettled The community is grand.
14:28 masak yes, and the "community rewrite" thing really seems to be working.
14:28 masak as mberends++ said in his talk, something of this magnitude probably hasn't happened before, ever.
14:28 EDevil And the yapcs are great. :)
14:29 frettled yes!
14:29 frettled I'm trying to figure out how I can get to participate in more YAPCs.
14:29 masak I really enjoyed this year's YAPC::EU.
14:30 frettled Next year, I'm going to the US anyway, so I may be able to have my vacation intersect with YAPC there.
14:30 frettled masak: agreed!  Portuguese++
14:30 moritz_ frettled: it's easy. Buy a ticket, book a flight, attend :-)
14:30 frettled hehe
14:30 polettix I'd like to change the README file in perl6-examples in order to help people that would like to contribute... what's the best thing to do? come here and ask? Write to some mailing list? Go to some web site?
14:31 masak was it just me, or is Portuguese really easy to read?
14:31 masak polettix: come here and ask, methinks.
14:31 moritz_ polettix: just do it :-)
14:31 frettled masak: it's not just you, it's the same for several others who know bits and pieces of Spanish, French and Italian.
14:32 masak oh, good.
14:32 mberends joined #perl6
14:32 frettled polettix: As TimToady said (and keeps saying, I think): it's better to ask forgiveness than permission
14:32 masak mberends: o/
14:32 masak messages for you.
14:32 mberends \o #perl *
14:32 phenny mberends: 08:46Z <masak> tell mberends I looked at the temporal-flux repo and decided to do things in two steps: (1) re-arrange the current stuff from code to method descriptions, (2) add new convenience stuff, mainly nice constructors. I want to be able to write DateTime.new("2010-04") a la iso8601, for example. also, pondering renaming .iso8601 to just .iso
14:32 phenny mberends: 13:22Z <masak> tell mberends that at his convenience, I'd like to have a quick tutorial on how to use the new, improved HTTP::Daemon. (The Nibbler isn't HTTP::Daemon-compatible anymore, it seems.) For extra super bonus points, we should sit together and draft up a Handler (a la Rack/Web.pm), which would be the Proper Way to use HTTP::Daemon through Web.pm.
14:33 frettled mberends: hiho
14:33 mberends frettled: hihi
14:34 jnthn mberends: hi! :-)
14:35 mberends jnthn: sorry to hear about your fever, get well soon
14:35 frettled jnthn: oh, you've caught a fever?  Do get well!
14:36 masak jnthn: oh! wishes of hasty recovery.
14:36 icwiener joined #perl6
14:36 masak s/hasty/speedy/
14:36 moritz_ s/speedy/thorough/
14:37 mberends masak: this is our private rewrite of Temporal, right? So it doesn't matter what others have written previously?
14:38 masak mberends: well, except that I aim for it to be integrated back into the official spec when it feels ready.
14:39 frettled masak: See also perl #68434 ;)
14:40 masak frettled: yep, saw that.
14:40 mberends I like DateTime.new("2010-04"), but then we would have to allow "2010" and "2010-04-30" as well.
14:40 frettled Yes.
14:40 masak frettled: my thought was "hm, mberends will know what to do" :)
14:40 frettled masak: muahaha
14:40 mberends frettled: those 23 seconds are going to be a pain
14:40 masak mberends: of course.
14:40 mberends ;)
14:40 frettled mberends: yes.
14:40 rfordinal joined #perl6
14:40 frettled mberends: they will be 23 pains from 1972 until now, and 11 pains before 1972.  or something like that.
14:41 masak mberends: basically, I plan to accept most date and time formats of ISO 8601.
14:41 frettled There is no way around having to store the date and time for the inserted leap second in some kind of database (flat file or whatever).
14:42 frettled masak: and perhaps a few simplified but rather unambiguous ones?
14:42 masak mberends: so, "2010-04-01", "20100401", "2010-04", "2010" for dates, and similar for times.
14:42 frettled A nice variety would be to allow the date formats specified by locale.
14:42 masak frettled: not sure the core will be handling locales. but definitely localtime and time zone observances.
14:42 frettled These are, IIRC, unambiguous within the locale.
14:43 moritz_ oh noes, locales are a pain
14:43 rdice joined #perl6
14:43 masak frettled: what moritz_ said.
14:43 frettled moritz_: yep, but something one has to live with.
14:43 masak I don't want pain.
14:43 frettled hee-hee.
14:43 masak frettled: if _you_ want pain, you're welcome to spec and implement it. :P
14:43 mberends so far the Observance bits have avoided the locale/timezone tarpit
14:43 moritz_ frettled: no, we don't have to live with that
14:44 masak mberends: oh, and in order to give even more of a fait-accompli feeling to the spec proposal, I plan to implement the revised Temporal.pm in Rakudo before mailing p6l. :)
14:44 frettled masak: ooops
14:45 leedo_ joined #perl6
14:46 Psyche^ joined #perl6
14:46 Muixirt hi, rakudo doesn't seem to supoort --target=parse|past|post Why?
14:47 jnthn Muixirt: It did last I checked... :-S
14:47 Muixirt jnthn, only --target=pir works
14:47 frettled moritz_: In some ways we do, but it depends on at which level we look at it.  Implementations should respect locale where locale plays a role, such as user input/output.
14:47 moritz_ Muixirt: not if mixed with -e
14:47 jnthn Muixirt: Ah, strange.
14:48 pmichaud correct, --target=parse|past|post seems to not work with -e
14:48 pmichaud there's already a ticket for it, iirc
14:48 masak aye.
14:48 Muixirt moritz_, good info
14:48 moritz_ frettled: that's one way to look at it. The other is that Perl 6 is sufficiently extensible that we can leave such ugliness to module authors.
14:48 mberends masak: I would like to aim to accept *all* iso8601 formats if possible, not just *most*, because the latter will require more explanation
14:49 frettled moritz_: and one way to look at it is that the settings library _is_ a set of modules :)
14:49 moritz_ frettled: yes. But it still doesn't have to be in core.
14:49 masak mberends: right. the one I planned to exclude were mostly things like repetitions and the like.
14:50 pmichaud personally, I think it's okay if the core uses an idealized version of time and we leave the ugly details to modules (for use when people need them)
14:50 masak mberends: but I agree; iso8601 looks very good to build an API around.
14:50 pmichaud iso8601++
14:51 mberends S32-Temporal actually promises (if that's the word) modules supplied with the core, to extend the minimal functionality of Temporal.pm
14:51 masak but I'm leaning to renaming .iso8601 into .iso -- I have no trouble remembering the four digits, but it might bit of a mouthful to learn for others.
14:51 masak mberends: allow me to be sceptical as to that promise.
14:51 mberends agreed, the digits serve no useful purpose
14:52 masak mberends: actually, in my first commit to temporal-flux, I already replaced s/absolutely minimal/minimal/
14:52 mberends masak: /me is skeptical too
14:53 masak I believe that the core date/time API could very well be usable and pleasant without any extra modules.
14:53 masak and it won't take much extra work. so that's my goal with this rewrite.
14:53 pmichaud mberends: where does S32 say that, ooc?
14:53 KyleHa joined #perl6
14:53 unitxt joined #perl6
14:57 masak pmichaud: S32/Temporal:68-69. but I read "a simple set of classes" as those already described in that document, not as a different, yet unwritten set of modules.
14:57 mberends pmichaud: I misread Temporal.pod:69, confusing classes with modules, sorry.
14:57 pmichaud mberends: no problem -- I figured that was the misreading :)
14:58 pmichaud I agree with masak++
14:58 pmichaud this does mean that sentence could use a rewording, if anyone is up to it :)
14:58 mberends I jumped to the conclusion that the classes would be in modules, not in the setting.
14:58 frettled Hmm.
14:59 unitxt left #perl6
14:59 masak pmichaud: I can rewrite it.
14:59 masak pmichaud: but I'll probably do it in our fork...
15:00 mberends masak: heh, now they can't ignore the rewrite ;)
15:00 unitxt joined #perl6
15:00 masak well, there probably will be some bikeshedding, but I do expect the proposal to be largely accepted. :)
15:01 jnthn masak: I'll only accept it if the bikeshed is pink with lime green stripes painted on it at an angle of 32.5 degrees from the vertical.
15:02 jnthn ;-)
15:02 frettled jnthn: shouldn't that be 22.5 degrees? ;)
15:02 masak jnthn: clockwise or counter-clockwise?
15:02 pmichaud masak: my acceptance requirements are less stringent than jnthn++'s
15:02 masak pmichaud: but slightly different? :)
15:02 pmichaud I only require the "pink" part.
15:02 jnthn masak: Is think you just invented meta-bikeshedding. ;-)
15:02 masak oh, same colour. phew.
15:03 jnthn s/Is/I/
15:03 jnthn ;-)
15:03 masak jnthn: I question the name 'meta-bikeshedding' :P
15:03 pmichaud yes, I think it should be called 'pseudo-bikeshedding'
15:04 pmichaud and 'bikeshedding' is too long -- we should huffmanize it to 'meta-bs' or 'pseudo-bs'
15:04 masak yah, that'll catch on.
15:06 moritz_ and bikeshedding about pseudo-bs is then pseudo**2-bs
15:06 jnthn bs++
15:06 moritz_ and an arbitrary meta level is then pseudo***-bs
15:06 mberends nothing to do with bull?
15:06 moritz_ "to the power of the star"
15:06 PerlJam bs*
15:07 moritz_ rakudo: say (3 ** *).WHAT
15:07 p6eval rakudo a5dfe9: OUTPUT«WhateverCode()␤»
15:07 masak std: my $bs; $bs***
15:07 p6eval std 27968: OUTPUT«ok 00:02 38m␤»
15:07 moritz_ rakudo: say (3 ***).WHAT
15:07 p6eval rakudo a5dfe9: OUTPUT«WhateverCode()␤»
15:07 moritz_ rakudo++ say 3***.(2)
15:07 moritz_ rakudo: say 3***.(2)
15:07 p6eval rakudo a5dfe9: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/7uKpltvdUM:2)␤»
15:08 moritz_ rakudo: say (3***).(2)
15:08 p6eval rakudo a5dfe9: OUTPUT«9␤»
15:08 moritz_ this is going to become a great obfu.
15:09 frettled yikes
15:09 frettled What does *** do?
15:09 moritz_ ** is exponentation
15:09 moritz_ and * is Whatever
15:10 moritz_ and $value op Whatever creates a closure
15:10 pmichaud rakudo:  say (3 ** *).(2)
15:10 p6eval rakudo a5dfe9: OUTPUT«9␤»
15:10 PerlJam rakudo: say (3******).(2)
15:10 moritz_ os 3*** returns a closure that returns 3 to the power of its argument
15:10 p6eval rakudo a5dfe9: OUTPUT«81␤»
15:10 masak rakudo: say (* ***).(2)
15:10 p6eval rakudo a5dfe9: OUTPUT«4␤»
15:10 moritz_ PerlJam: now you're being evil
15:12 PerlJam and the beauty is that rakudo allows for evil  :)
15:13 frettled moritz_: okay, that was actually understandable.
15:13 PerlJam rakudo:  say (* ***).(2); say (* *** ***).(2); say (* *** *** ***).(2)
15:14 p6eval rakudo a5dfe9: OUTPUT«4␤16␤65536␤»
15:14 PerlJam :-)
15:14 masak could someone explain to me what this sudden s/awesome/grand/ meme is all about? I muchly prefer the former. I mean, who isn't awed by Camelia? she's huge!
15:14 frettled masak: Paul Fenwick's second talk at YAPC::EU
15:14 nihiliad joined #perl6
15:14 masak frettled: please elaborate.
15:14 frettled masak: he had been talking to one or two of the Irish attendees, and was told that in Ireland, they don't say «awesome», they say «grand».
15:15 masak ok.
15:15 PerlJam grand!
15:15 pmichaud "awesome"  apparently means something like "idiotic"
15:15 PerlJam (doesn't seem  to have the same punch as "awesome!")
15:15 frettled So his talk was renamed on the spot.
15:15 masak nono, "awesome" means "awesome". there must be some misunderstanding.
15:15 PerlJam pmichaud: I thought that was aweful :)
15:16 frettled pmichaud: yep, I think it was something like that, and that rhymes with how idiotic many of the statements with «awesome» in them are (not here at #perl6, but elsewhere, like, oh, da intarwebs)
15:16 jnthn .oO( great, now we have to rename a bunch of RT tickets to be "less than grand" )
15:16 masak I concede that a grand piano is grand. but I can't think of much else.
15:16 PerlJam masak: don't you have a grand father?
15:16 masak PerlJam: oh, right.
15:17 masak yes, two, actually.
15:17 masak both of them really grand.
15:17 moritz_ I reject this motion. "grand" just doesn't has enough syllabies to be truely impressive
15:17 PerlJam masak: and here in southern USA we have Grand Prix
15:17 frettled moritz_: confabulous!
15:17 jnthn grand can also be English for "a thousand pounds" (as in the currency)
15:17 jnthn "It cost me two grand!"
15:17 masak PerlJam: but you must admit that "Awesome Prix" sounds better. :)
15:18 frettled jnthn: that's just … grand!
15:18 frettled I say, this bikeshed's really looking grand now.
15:18 * PerlJam wonders what a grand jury really is though
15:19 moritz_ rakudo: say (* ** * ** * + 2 ** *).(3)
15:19 masak PerlJam: a jury consisting only of grandfathers?
15:19 p6eval rakudo a5dfe9: OUTPUT«7625597484995␤»
15:20 sjohnson anyone know how to install pp / PAR Packer on windows?
15:20 moritz_ rakudo: say (* ** * * * + 2 ** *).(3)
15:20 p6eval rakudo a5dfe9: OUTPUT«89␤»
15:20 masak sjohnson: are the Perl 5 people being non-responsive again?
15:20 donaldh joined #perl6
15:20 sjohnson masak: yep :[
15:20 masak what a brain-drain... :)
15:21 sjohnson well i asked on efnet #perl
15:21 sjohnson ill ask on freenode there
15:21 pmurias joined #perl6
15:21 PerlJam moritz_: now, *that's* grand  ;)
15:22 moritz_ PerlJam: that's ord("J") - you can guess what I'm working on :-)
15:22 pmurias ruoso: one thing i'm afraid of is that the perl5 macros might operate on an too low a level to map cleanly
15:22 masak moritz_: you should write a script that generates what you're working on for you :)
15:22 masak moritz_: and then blog about it :D
15:23 PerlJam moritz_: It would be quite cool if you could just vary the spacing between * and get  ... something useful let's say  :)
15:23 moritz_ meta-japh-prgramming
15:23 moritz_ PerlJam: aye
15:23 sjohnson FML.  looks like par packer is yanked out of activeperl package manager or something
15:24 justatheory joined #perl6
15:24 PerlJam sjohnson: this is #perl btw.   (besides, shouldn't you be using strawberry instead?)
15:25 pmurias ruoso: that's why i think going with proxy objects might be the more resonable choice
15:25 sjohnson PerlJam: i'm going to google Strawberry Perl
15:25 sjohnson never heard of this term b4
15:26 sjohnson wow
15:26 sjohnson good bye active perl
15:26 ruoso pmurias, I've already checked with #p5p people, and they seem to think my idea is reasonable
15:29 moritz_ rakudo: say (*+2, *+3)>>.(5)
15:29 p6eval rakudo a5dfe9: OUTPUT«!whatever_closure!whatever_closure␤»
15:29 moritz_ it would have been gra^Wawesome if I could have called the closures like that
15:29 frettled moritz_: grawsome
15:29 frettled or grandsome
15:30 moritz_ rakudo: say (*+2, *+3).map: *(3)
15:30 p6eval rakudo a5dfe9: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/jsA33bpfeK:2)␤»
15:30 moritz_ rakudo: say (*+2, *+3).map: *.(3)
15:30 p6eval rakudo a5dfe9: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/sJjPQnMYSp:2)␤»
15:30 moritz_ that would have been grawsome, too
15:33 KyleHa Good morning #perl6!
15:33 phenny KyleHa: 06:34Z <moritz_> tell KyleHa every pugs committer can also invite new committers at http://commitbit.pugscode.org/admin/project/Pugs/people (it's not a special power of mine)
15:33 masak KyleHa: o/
15:34 pmurias ruoso: so what to we need to work on your perl5 interop plan?
15:34 sjohnson PerlJam: can i has a hint as to how to install Par-packer in CPAN?
15:34 sjohnson it seems "PAR-Packer" is the name of what i want, but i'm afraid to install PAR::Packer
15:36 sjohnson *puppy dog eyes*
15:36 TimToady your name is Rin Tin Tin, you can do anything
15:36 mofino sjohnson, #perl may be able to help as well
15:36 pmichaud jnthn: does "is default" work yet?
15:37 jnthn pmichaud: multis?
15:37 moritz_ it worked at some point
15:37 pmichaud jnthn: (on multisubs)
15:37 pmurias TimToady: does $foo is context set the contextual information on the variable or the scope?
15:37 jnthn pmichaud: To mark default cand?
15:37 sjohnson alright, will try.  if they make fun of me, i might come back here and ask for a hug
15:37 jnthn pmichaud: AFAIK yes
15:37 pmichaud jnthn: yes
15:37 jnthn pmichaud: Tested also.
15:37 moritz_ rakudo: multi a() is default { 1 }; multi a() { 2 }; say a
15:37 p6eval rakudo a5dfe9: OUTPUT«1␤»
15:37 mofino sjohnson, this is really a perl6 development channel
15:37 pmichaud jnthn: oh.  Could we use that to resolve the   infix:<+>(Complex, _)  versus infix:<+>(_, Complex) difficulty?
15:38 jnthn pmichaud: Yes.
15:38 pmichaud Ah.  I will do that today then.
15:38 TimToady pmurias: why would it mark the scope?
15:38 jnthn Could.
15:38 pmurias TimToady: that is if i put the container in a different scope is it still contextual?
15:38 jnthn pmichaud: However, I'm slightly uncomfortable on that front.
15:38 pmichaud jnthn: why?
15:39 pmurias TimToady: my $bar; {my $foo is context; $bar := $foo}; #is $bar a context variable?
15:39 jnthn pmichaud: One of the design principles of MMD in Perl 6 is that parameter order becomes less important.
15:39 TimToady contextuals only care about the lexical view, but other scopes generally alias into the lexical scope anyway
15:39 jnthn pmichaud: Sorry
15:39 jnthn pmichaud: I mean, is not important.
15:39 jnthn pmichaud: While you can use is default here, part of me wonders if we're missing something somehow.
15:40 pmichaud I don't mind if it's a stop-gap until we have something better.
15:40 jnthn But my brain is too mush today to think beyond that. ;-)
15:40 jnthn OK, in that case certainly go for it.
15:40 pmichaud I'd just like to see us get to where people can overload the operators.
15:40 pmichaud in particular, to resolve some of:  http://lastofthecarelessmen.blogspot.com/2009/08/perl-6-class-vector.html
15:41 pmichaud "The only drawback I have found so far is a significant Rakudobug -- you cannot define an operator which uses any version of that operator internally."
15:41 jnthn pmichaud: OK. Go for it. No objections, the wins are worth it. And it may well be the Right Thing.
15:41 jnthn pmichaud: Something just feels a little almost-but-not-quite-right about it.
15:41 pmichaud I suspect it's not the Right Thing, but it would lift a significant barrier for folks.  It will also be interesting to see how much of a speed hit we take
15:42 rfordinal joined #perl6
15:42 pmichaud egads
15:42 TimToady pmurias: I think $bar is contextual is the simplest answer, probably, and people who use aliasing like that should be taken out and made to dig holes all day
15:42 pmichaud I just did "git merge ins2" to bring the ins2 branch into trunk and.... everything passes.
15:42 jnthn Quite a bit, but because of signature binding, rather than Rakudo multi dispatch.
15:42 masak ins2++
15:42 pmichaud running spectest now
15:43 moritz_ pmichaud: that was my experience too, when last I tried it
15:43 moritz_ (about a week ago)
15:43 pmichaud I'm quite impressed that git was able to merge the ins2 branch without any difficulties -- that branch is three weeks old
15:43 PerlJam pmichaud: you're just used to the brain-dead merging of other SCMs.
15:43 pmichaud PerlJam: yes, I am.
15:44 KyleHa I notice that on one machine with newer TAP::Harness, everything passes, but with the older one on another machine there's always two that fail.
15:44 frettled pmichaud: are you less worried about branches now, then?  :D
15:45 moritz_ pmichaud: actually now and again I rebase the autounfudge-with-limits branch, which is now months old. The worst thing that happened so far was a merge conflict in build/PARROT_REVISION
15:45 pmichaud KyleHa: I added an option to t/harness that tells newer TAP::Harness to ignore exit-code-errors
15:45 KyleHa pmichaud: That explains it.
15:45 pmichaud older Test::Harness doesn't understand that option, so it still reports the exit code errors
15:46 pmichaud (that's my guess, anyway)
15:46 KyleHa I figured it was something like that, which is why I highlighted the harness difference.
15:46 KyleHa There are other differences too, of course.  One's Debian, one's Ubuntu...
15:54 pmurias ruoso: should i update the perl5 fork on gitorious or start a new one on github?
16:01 pugs_svn r27969 | lwall++ | [STD] catch #` with no opener, moritz++
16:02 stepnem joined #perl6
16:04 payload joined #perl6
16:04 stepnem joined #perl6
16:12 Guest1717 joined #perl6
16:15 pmichaud Okay, I just pushed the 'ins2' branch to github.  Testing welcome.
16:15 pmichaud (merged to trunk, that is)
16:16 dalek rakudo: a50e07d | pmichaud++ | :
16:16 dalek rakudo: Merge branch 'ins2'
16:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a50e07de775b062d4bf03292330dcb3bc64f8e18
16:17 masak moritz_++ # http://perlgeek.de/blog-en/perl-6/timeline-for-a-syntax-change.writeback
16:18 pmichaud I would've liked to have seen the time in the title, though :)
16:18 moritz_ pmichaud: you mean "less than one hour"
16:18 pmichaud "Timeline for a syntax change in Perl 6 -- 43 minutes)
16:18 moritz_ ?
16:18 pmichaud yes, something like that
16:18 pmichaud I'm starting to see how much good titles matter
16:19 masak I expect some people will look at such a list of events and exclaim "wha'? you're still fiddling with pieces of syntax, X years later?", completely ignoring the well-oiled machinery that must be in place for a change to go through this quickly.
16:19 masak aye, good titles are really important.
16:19 pmichaud I liked the example that cog gave in the closing yapc::eu keynote, showing that the blog post entitled "YAPC::EU fail"  was quite misleading
16:19 PerlJam masak: one battle at a time :)
16:19 frettled pmichaud: yes!
16:20 frettled pmichaud: he did well to say so, in the way that he did.
16:20 pmichaud the other one was  "Why do corporations hate Perl?", when the article then went on to basically prove that corporations like perl.  But someone just reading the title would conclude that corporations don't like Perl.
16:20 frederico joined #perl6
16:20 frettled yup
16:21 pmichaud so I'm looking at titles a bit more closely these days.  Many times in my feed reader I don't get past the title :)
16:21 frettled I have the same problem, but many times, I don't even get to read the titles.  :D
16:22 masak frettled: that's why absolutely nothing is important. :P
16:22 DQuest left #perl6
16:24 frettled I see that I've mostly avoided the trap of being dangerously negative in my blog titles, thank goodness.
16:25 jd8hh57 left #perl6
16:26 nickcammarata joined #perl6
16:29 pmurias TimToady: one problem with the contextual bit being kept on the container is if you get the container from somwhere else like $foo := foo() or even worse sub foo($foo is ref) {...}
16:34 justatheory joined #perl6
16:34 masak mberends: you still there?
16:35 akl_ joined #perl6
16:35 guest_007 joined #perl6
16:39 iblechbot joined #perl6
16:43 TimToady pmurias: good point, and it might actually be easier to scan symbol tables than the actual containers
16:44 TimToady using "symbol table" to mean the hash containing names, which there is only one of, regardless of how many times the closure is cloned.
16:44 TimToady 1 stash corresponds to (potentially) many pads
16:45 TimToady btw, was it you who was using "stash" to mean something other than "symbol table hash" a week or so ago?  that bothered me
16:46 TimToady not because "stash" doesn't mean the other thing in English, but merely because we were using the term ambiguously
16:46 pmurias TimToady: don't think so, i always thought stashes were something Template Toolkit uses
16:47 moritz_ actually the word doesn't appear in the synopsis anywhere
16:47 TimToady "stash" is a technical term in P5 innards for symbol table hash, so I tend to carry that over
16:48 TimToady you'll find it in the method names in STD
16:48 moritz_ does it contain lexicals, too?
16:48 TimToady find_stash and such
16:48 TimToady yes
16:48 TimToady (in p6)
16:51 TimToady or, at least, a desciption of how to find the lexical in whatever the current pad is
16:52 TimToady package stashes don't have to deal with cloning, generally
16:55 moritz_ does anbody know if rakudo needs the 'parrot-devel' or 'libparrot-dev' packages?
17:03 ruoso pmurias, is there a p5 repo on github already? if there is, you can use it... if not it probably make sense to keep it on gitorious
17:04 moritz_ I know that chip has one on github. Don't know if there's an "official" one
17:05 moritz_ http://github.com/chipdude/perl/
17:05 ruoso TimToady, I think when we (in SMOP/mildew) say stash, we refer to the lexical scope object
17:05 dalek rakudo: 006ae4d | moritz++ | README:
17:05 dalek rakudo: notes on installed parrots in README
17:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/006ae4dbdad08c279bff0c783fc43f4316441f46
17:05 dalek rakudo: a5aea15 | moritz++ | README:
17:05 dalek rakudo: mention perl6-projects.org in README
17:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a5aea15d93f3a49d24f3d05a2acf98168eb1c58d
17:05 ruoso which is a hash, but is something more than that...
17:06 moritz_ http://github.com/github/perl/tree/blead looks rather official
17:07 mberends masak: just git checked http://gist.github.com/masak/temporal-flux-perl6syn/tree/master
17:09 stepnem joined #perl6
17:09 masak mberends: grand. I'm going home now, but I'd like to sit down at some point and build some kind of bridge between HTTP::Daemon and Web.pm.
17:10 mberends right. tomorrow morning, fairly early?
17:11 * moritz_ reminds people of #perl6-soc
17:13 mikehh_ joined #perl6
17:14 pyrimidine joined #perl6
17:15 masak mberends: deal.
17:15 mberends aweso^W grand!
17:15 kane_ joined #perl6
17:15 pmurias ruoso: there seems to be a mirror of perl at github
17:15 pmurias what's wrong with awesome?
17:16 riffraff joined #perl6
17:16 masak moritz_: aye, good. I'm going home to eat now, but will be back for 19:00 UTC.
17:17 masak literal: meeting tonight. :)
17:17 ruoso pmurias, so I guess you can work there...
17:17 moritz_ masak: he's already in there ;-)
17:17 ruoso the gitorious branch is unused and outdated
17:17 mberends pmurias: awesome was been (temporarily I think) eclipsed by the Irish term. See today's backlog
17:17 moritz_ food is a good idea, though
17:17 pyrimidine left #perl6
17:18 literal masak: aye
17:18 phenny literal: 06 Aug 13:45Z <masak> tell literal was going to tell you that I was going to miss yesterday's meeting, but was too preoccupied to do even that. looking forward to an update the next time we happen to intersect (my life will be returning to normality starting Sunday)
17:18 * masak refuses to cede on awesome
17:18 pyrimidine joined #perl6
17:19 literal masak: you were abroad, I heard?
17:19 masak literal: good. see you then, for two weeks of resume. :)
17:19 masak literal: aye, YAPC::EU, Lisbon.
17:19 Psyche^ joined #perl6
17:19 masak food &
17:20 abra joined #perl6
17:22 M_o_C joined #perl6
17:23 pmurias ruoso: adding you as a repository collaborator is enough to grant you a commit bit?
17:23 literal on github? yep
17:26 pmichaud at the moment I'm sticking with awesome, until/unless I find myself in Ireland.
17:26 pugs_svn r27970 | fglock++ | starting a Lisp (SBCL) emitter for MiniPerl6
17:26 pugs_svn r27970 | fglock++ |
17:26 pugs_svn r27970 | fglock++ | $ echo 'class Main { say "hello, World" }' | perl -Ilib5 mp6-lisp.pl
17:26 pugs_svn r27970 | fglock++ | ;; Do not edit this file - Generated by MiniPerl6
17:26 pugs_svn r27970 | fglock++ | (if (not (ignore-errors (find-class 'Main)))
17:26 pmichaud I personally find "grand" to be less than "awesome", and in Perl 6 we don't do "less than awesome".  :-)
17:26 pugs_svn r27970 | fglock++ |   (defclass Main ()
17:26 pugs_svn r27970 | fglock++ |       ((my-arg :initarg nil))))
17:27 pugs_svn r27970 | fglock++ | (Main:say "hello, World")
17:27 pmichaud I'll even submit a proof:  Would awesome be more than $1000?  If so, then "awesome" is greater than (a) "grand".  QED
17:28 pmichaud :-)
17:29 pmichaud afk, lunch
17:32 jeekobu Some things are more grand than others http://www.newel.com/PreviewImage.aspx?ItemID=6955
17:42 pmurias ruoso: is using pkg-conf sane?
17:51 dalek grok: 5a38b11 | (Hinrik Örn Sigurðsson)++ |  (2 files):
17:51 dalek grok: Depend on Pod::Text::Ansi 0.04
17:51 dalek grok: review: http://github.com/hinrik/grok/commit/5a38b11a9cc2888452abd7e2eaeeb24637203dd7
17:51 dalek grok: c0c8ec4 | (Hinrik Örn Sigurðsson)++ |  (9 files):
17:51 dalek grok: Bump version to 0.19
17:51 dalek grok: review: http://github.com/hinrik/grok/commit/c0c8ec43d1a63cf9c9b795c79bd7396801780085
18:00 frettled pmichaud: if the dollar has depreciated enough, sure!  ;)
18:04 frettled moritz_: regarding which package would be required by rakudo, check the contents of the packages (should be on the web, or if you can be bothered with installing them and uninstalling the one you don't need, dpkg -L packagename).  In my install, made by proto, rakudo links to libparrot.so.1.4.0.
18:07 frettled rakudo: my $1000 = 1; say $1000;
18:07 p6eval rakudo a5aea1: OUTPUT«Use of uninitialized value␤␤»
18:08 mberends rakudo a5aea1: OUTPUT«Use of less than awesome value␤␤»
18:09 PerlJam shouldn't that be "Use of less than grand value"?  :)
18:10 mberends In the Irish locale, yes :)
18:10 frettled :)
18:10 frettled See, this is why we need locale support in the core!
18:10 zamolxes joined #perl6
18:13 masak joined #perl6
18:16 colomon_ I must say (after scanning the morning's #perl6) that my (admittedly rough) understanding of Irish English would have "grand" as much less impressive than American English's "awesome".
18:17 colomon_ I'd think their "mighty" would be closer...
18:18 frettled colomon_: Well, you have to take into account that everything in American English is grossly exaggerated.
18:18 frettled When an American says "great!", they don't necessarily mean that it's great, only that it's okay.  :D
18:19 moritz_ in Frakonia it's just the other way round
18:19 masak colomon_: I could go with 'mighty'. :)
18:19 moritz_ a "ok" or "not bad" is about the highest praise you ever get
18:19 masak "less than mighty error message..." :P
18:19 moritz_ "baassd scho"
18:19 colomon_ But that's exactly how I hear the Irish "grand" -- positive approval, but nothing special.
18:20 frettled colomon_: are you American, by any chance? :D
18:20 colomon_ frettled: Yup.
18:20 frettled See?
18:20 _timbunce colomon_: I agree
18:20 mikehh_ rakudo does not build on parrot anymore
18:21 moritz_ mikehh_: have you tried 'perl Configure --gen-parrot', or an installed parrot?
18:21 colomon_ frettled: but I mean, my understanding of Irish "grand" is about your understanding of American "great".
18:21 frettled colomon_: aha
18:21 colomon_ I play Irish traditional music, which makes for a fair amount of contact with Irish natives.  :)
18:22 mikehh_ using  perl Configure.pl --parrot-config=../parrot/parrrot_config
18:22 moritz_ mikehh_: that only works with an installed parrot these days
18:22 frettled Isn't "mighty" used mostly with "fine", e.g. "mighty fine"?  That makes the usage different from "grand".
18:22 moritz_ mikehh_: pmichaud++ merged the ins2 branch a while ago
18:23 mikehh_ thats BS - it worked this morning
18:23 frettled The ins2 branch was merged today.
18:23 colomon_ frettled: I'd think of "mighty fine" as an American expression, not Irish at all.
18:23 moritz_ mikehh_: what exactly is BS?
18:24 nickcammarata joined #perl6
18:24 mikehh_ I don't want to INSTALL parrot - I build it and test it myself - I do this 4 or 5 times a day - why would I want to install it
18:24 moritz_ mikehh_: you can install it locally, which is what --gen-parrot does - really not much more effort than building it
18:25 moritz_ heck, it doesn't even have to be in $PATH if you pass the appropriate options to COnfigure.pl
18:25 moritz_ but supporting both installed and build tree parrot is nearly impossible today
18:25 masak wow, sometimes I can feel the currents of information between #perl6 and Twitter intersecting. it tickles, sort of.
18:25 masak s/between/in/
18:25 mikehh_ why would I want to do that - I use different compilers and lots of different config options
18:26 moritz_ mikehh_: because you want to build rakudo?
18:27 mikehh_ I thought our idea was to get the build tree and install tree to be the same
18:27 moritz_ yes. But nobody implemented that
18:27 moritz_ so we took a different route
18:28 moritz_ when somebody implements install tree == build tree  we'll happily pick up the auld ways again
18:28 mikehh_ I will look at it
18:29 nihiliad joined #perl6
18:29 frettled colomon_: "mighty fine" was British English in 1830, at least, according to Bellenger (A dictionary of idioms: French and English"
18:29 frettled colomon_: anyhoo, just in -Ofun - I'll stop stretching it further
18:32 colomon_ :)
18:33 * jnthn hopes he can get away with moving a git repo on disk and having it still Just Work without having to clone it freshly.
18:33 jnthn Oooh, looks like yes.
18:33 jnthn git++
18:34 masak jnthn: aye; all of the info is relative to the top dir of the checkout.
18:34 jnthn That's nice. :-)
18:34 masak git tends to be nice.
18:35 jnthn Often.
18:35 jnthn Aside from the learning curve.
18:35 PerlJam git is SCM done right.
18:35 PerlJam jnthn: perl has a learning curve too you know  :)
18:35 * jnthn tries a build now ins2 is merged in.
18:35 masak I've been time traveling at work today with git, picking up files from a year ago. it felt like science fiction.
18:35 moritz_ actually even svn repos can be relocated without trouble, IME
18:35 jnthn PerlJam: I know, but Perl seemed to mind my baby speak less. ;-)
18:35 masak jnthn: I find the learning curve mostly consists of unlearning what I used to think I knew about RCSes. :)
18:36 jnthn masak: Heh, yeah, but I still have to deal with other RCSes. ;-)
18:36 pmichaud other than mikehh's notes above, anyone else having trouble with the ins2 branch merge?
18:36 jnthn But in terms of what to expect, I can see that, yes.
18:36 pmichaud (more precisely, with rakudo trunk after the ins2 branch merge?)
18:36 jnthn pmichaud: Configure.pl --gen-parrot here spat out a "Path not found" style error right at the start.
18:37 jnthn But then has continued to check out Parrot and is now building it.
18:37 moritz_ pmichaud: worked fine here, after I spend 2 minutes reworking my custom scripts
18:37 masak I think Aristotle is the one brandishing the slogan that git is really, really simple -- and it is.
18:37 PerlJam masak: once you understand the number and scope of the things you have to deal with it's simple  :)
18:38 masak it's just that to get to the complexity level you're used to from other systems, using the simple primitives found in git, you have to tear down a lot of useless knowledge in order to take in the git way of things.
18:38 masak a year ago, I didn't completely buy into distributed version control. now, I'm sold.
18:39 PerlJam masak: what specifically sold you?  (if it was any one thing)
18:39 masak PerlJam: hm. let me think.
18:40 pmichaud I was already sold on git a bit earlier in the year, but if I hadn't been, the ability for people to clone the rakudo git repository and build their own releases would've done it for me
18:40 pmichaud to me, that's a feature we never really had with svn
18:41 masak PerlJam: it's hard to pinpoint any one thing. but I think two things independently made me super-happy: offline commits and (somewhat later) rebasing.
18:41 pmichaud having "git merge ins2" work this morning was a happy surprise, though
18:42 kane_ joined #perl6
18:42 jnthn pmichaud: fail :-(
18:43 jnthn src\pmc\perl6_group.dll : fatal error LNK1120: 68 unresolved externals
18:43 pmichaud hmmm
18:43 pmichaud I wonder what's up with that
18:44 takadonet omg Perl 6 is broken!!!
18:44 masak ok, so what's the new way to build Rakudo? my usual build sequence fails now.
18:44 [particle]1 joined #perl6
18:44 pmichaud it's supposed to be same as before
18:44 masak then something broke, yes.
18:44 pmichaud perl Configure.pl --gen-parrot; make
18:45 masak pmichaud: oh, but I've always build Rakudo-in-Parrot.
18:45 pmichaud if you're building your own parrot, you need to do "make install" and point Configure.pl at the installed parrot_config
18:45 masak aha.
18:45 pmichaud Rakudo no longer builds from the Parrot build tree
18:45 masak so I need to install my Parrot from now on.
18:45 masak gotcha.
18:45 pmichaud it can be installed to a local dir -- this is what --gen-parrot now does
18:45 tann joined #perl6
18:46 pmichaud oh, and it needs to be "make install-dev"
18:46 pmichaud (for parrot)
18:46 tann perl6: 1 ff 1 and say 'plop!';
18:46 PerlJam pmichaud: except that his version of parrot was probably already up to date, so it didn't do that
18:46 masak hm, I already did 'make install'
18:46 p6eval pugs: OUTPUT«*** No such subroutine: "&infix:ff"␤    at /tmp/IHos3behmT line 1, column 1-23␤»
18:46 p6eval ..rakudo a5aea1: OUTPUT«sh: ./perl6: No such file or directory␤»
18:46 p6eval ..elf 27970: OUTPUT«Undefined subroutine &GLOBAL::infix_ff called at (eval 127) line 3.␤ at ./elf_h line 5881␤»
18:46 pmichaud needs to be "make install-dev"
18:46 masak oki.
18:47 jnthn pmichaud: I did perl Configure.pl --gen-parrot
18:47 masak tann: very unimplemented, as you can see...
18:47 arthur-_ do grammars work in rakudo ?
18:47 jnthn pmichaud: And then make.
18:47 masak arthur-_: oh yes.
18:47 jnthn pmichaud: Is that the expected sequence?
18:47 pmichaud jnthn: yes, I'm not sure what's up there.  Other people have been able to get it to work under windows
18:47 arthur-_ masak: ok cool, i'll try to use them to get paths in queries
18:48 masak tann: and I can see why, given that those operators have special state connected to their source location.
18:48 masak arthur-_: nice! looking forward to it.
18:48 pmichaud jnthn: is it failing while creating the .dll itself, or at some other step?
18:48 jnthn pmichaud: When linking the DLL
18:48 jnthn pmichaud: It looks like it can't resolve any of the symbols from Parrot.
18:48 pmichaud I wonder if there's an option missing there
18:48 masak pmichaud: Rakudo builds here. thanks.
18:49 jnthn pmichaud: The link line looks wrong.
18:49 jnthn pmichaud: It's missing stuff.
18:49 TimToady to get the Irish on board, maybe we should go with "gobsmacked" instead :)
18:49 pmichaud jnthn: I just basically copied from what partcl did
18:49 TimToady though the valence is a bit wrong
18:49 pmichaud jnthn: if the link line is missing stuff, I'm not sure what should go there :-|
18:50 masak TimToady: "less than gobsmacked error message..." ? :P
18:51 jnthn pmichaud: link -out:src\pmc\perl6_group.dll perl6_group.obj src\pmc\\*.obj -nologo -nodefaultlib -debug -dll
18:51 jnthn pmichaud: That is not even referencing libparrot.dll
18:51 jnthn pmichaud: Not only that, but it's missing references to any of the standard Windows lib too.
18:51 TimToady it'd have to be "less than gobsmacking", I expect
18:52 pmichaud how does it work for pbctoexe, I wonder?
18:52 frettled TimToady++
18:52 jnthn The missing Windows lib(s) causes __DllMainCRTStartup@12 to be not found too...
18:53 frettled Perl 6 is gobsmacking!
18:53 jnthn Ah, this looks wrong
18:53 jnthn LIBPARROT     =
18:53 jnthn (that is, not set to anything)
18:53 colomon_ TimToady: Isn't gobsmacking British, too?  I think I'd go for "desperate" rather than "less than gobsmacking" to appeal to the Irish.  :)
18:53 SmokeMachine joined #perl6
18:54 pmichaud jnthn: what does parrot_config produce for 'inst_libparrot_ldflags' ?
18:54 pmichaud aha!
18:54 pmichaud looks like the name changed
18:54 pmichaud inst_libparrot_linkflags => '-L/home/pmichaud/rakudo/parrot_install/lib -lparrot'
18:54 pmichaud would that be closer to correct?
18:55 pmichaud (I wonder why we have two configuration variables here)
18:55 TimToady maybe one of them is Irish?
18:56 jnthn pmichaud: That looks to be part of what's missing.
18:56 jnthn pmichaud: Also the contents of libs
18:56 pmichaud jnthn: try changing build/Makefile.in:19  to have   LIBPARROT = @inst_libparrot_linkflags@
18:57 frettled colomon_: "Perl 6 - more than desperate" doesn't have quite that ring to it.
18:58 jnthn pmichaud: Trying.
18:59 fridim_ joined #perl6
19:00 masak #p6s starting now.
19:00 colomon_ frettled: You're quite right.  But "desperate error message" has a nice ring to it.
19:00 frettled yep
19:01 jnthn pmichaud: Oh gah
19:01 leedo__ joined #perl6
19:01 jnthn pmichaud: While on the one hand it adds what is needed in terms of linking in libparrot
19:01 jnthn pmichaud: It does it with gcc syntax, not msvc++ syntax.
19:01 jnthn LINK : warning LNK4044: unrecognized option "LC:\Consulting\rakudo\parrot_instal
19:01 jnthn l\lib"; ignored
19:01 jnthn LINK : warning LNK4044: unrecognized option "lparrot"; ignored
19:01 pmichaud rakudo's makefile doesn't (afaik) add anything in terms of its own ideas about syntax
19:02 pmichaud it just takes whatever comes from parrot_config
19:02 pmichaud so, try parrot_config --dump and see if any of the options there have the linker values that would "look correct" to you
19:02 mikehh I did a sudo make install, but it alsao needs sudo make install-dev
19:02 Matt-W So, new build process then?
19:02 pmichaud mikehh: correct -- we have to have "make install-dev" to build
19:03 pmichaud Matt-W: the --gen-parrot option to Configure.pl should continue to work
19:03 pmichaud it only requires a new build process for those who are doing something different with parrot
19:03 mikehh anyway it built and is now running make spectest
19:03 Matt-W pmichaud: ah excellent, that suits me very well
19:03 Matt-W not doing any parrot development myself
19:03 pmichaud also, it doesn't require that one do a system-wide install of parrot --any installation location will work
19:04 pmichaud in fact, that's what --gen-parrot does by default -- it "installs" parrot into a subdirectory of the rakudo dir
19:06 eternaleye joined #perl6
19:06 jnthn pmichaud: bbia little bit - nomming dinner
19:07 mberends frettled: you'll pay for RT#68434 (sorry, no patch) one day! It only seems fixable by a lookup table for a wiggly curve like this: http://hpiers.obspm.fr/eop-pc/earthor/utc/leapsecond.html
19:09 pmichaud I'm not sure I'm willing to classify 68434 as a bug yet
19:09 frettled mberends: :)
19:09 frettled mberends: yes, I know, a LUT is the only solution for that one.
19:10 frettled mberends: http://hpiers.obspm.fr/eop-pc/earthor/utc/UTC-offsets_tab.html
19:10 frettled pmichaud: it's not an urgent bug, at least.
19:10 frettled But it's nice to have there in case one wants to implement UTC support.
19:11 mikehh ok - make test/make spectest PASS rakudo (a5a515) on installed parrot r40503 (spectest up to 27970)
19:11 mikehh thats on Ubuntu 9.04 amd64
19:12 [particle] smolder reports would be so much nicer
19:12 pmichaud frettled: yes, but I'm not sure that leap-second-aware UTC support should be exposed in the core
19:12 [particle] i wonder what's needed for that to happen
19:12 pmichaud it should be available via a module, certainly
19:12 * pmichaud reads up on tai and utc again
19:13 frettled pmichaud: if so, we should change the spec a bit, so that it doesn't appear to give the impression that gmtime is UTC based.
19:13 mikehh it worked earlier on Ubuntu 9.04 i386 - rakudo (a5dfe95) on parrot r50503 spectest up to 27968
19:14 mikehh r40503
19:16 PerlJam masak: your YAPC::EU talk looks like it's trying to be takahashi, but the font needs to be bigger :)
19:16 masak PerlJam: is takahashi a fixed set of rules?
19:17 PerlJam no, but takahashi is typically few words, large font
19:17 masak PerlJam: anyway, I think you're quite right. my slide guidelines have been inspired by many things, takahashi among others.
19:17 masak PerlJam: I hope to be releasing that slide software soonish as a CPAN module.
19:18 PerlJam I like the way you rotated the whipuptitude/manuplexity graph 45 degrees.
19:19 mikehh_ joined #perl6
19:20 masak thanks -- that's the second time I steal that graph for my purposes. :)
19:22 colomon_ pmichaud: Getting the main rakudo from github post ins2 -- configures and builds okay on OS X, make test is fine, make spectest fails on a bunch of tests.
19:24 mikehh_ BTW the build used g++ rather than gcc on Ubuntu 9.04 amd64
19:26 pmichaud colomon_: what is "a bunch of tests"?
19:26 pmichaud Rakudo just uses whatever was used to build Parrot (or whatever parrot_config reports was used to build it)
19:26 SmokeMachine joined #perl6
19:27 lisppaste3 colomon pasted "Tests failing on OS X" at http://paste.lisp.org/display/85283
19:27 mikehh_ pmichaud: yes - but just letting you know I build using g++ rather than gcc
19:27 frederico joined #perl6
19:30 pyrimidine colomon_: I'm using an installed parrot on OS X and am running spectests (still going), but so far everything is passing (S02, S03 tests all passed so far)
19:31 pyrimidine installed parrot with 'make install-dev'
19:34 jnthn pmichaud: Got a few @task to deal with now - will look later at the linking issue.
19:35 colomon_ pyrimidine: I just used the classic "perl Configure.pl --gen-parrot", which I believe the above conversation indicated is supposed to work still.
19:39 pyrimidine colomon_: ok, I'll try that.  Using 'make install-dev' and 'make spectest' everything passes
19:47 masak joined #perl6
19:48 pyrimidine colomon_: so far, all spectests passing (up to S04 now) after removing my installed parrot and using 'perl Configure --gen-parrot'
19:50 colomon_ Hmmm.  Wonder what could be different between our builds?
19:50 eMaX joined #perl6
19:51 pmichaud colomon_: any idea what version of Parrot you're building with?
19:51 pmichaud The errors you're getting look to me like a much older parrot.
19:51 colomon_ r40428
19:51 colomon_ according to SVN.
19:52 pmichaud what does "parrot_config revision" report?
19:52 colomon_ 40428
19:52 pmichaud what does "parrot_config has_icu" report?
19:53 colomon_ Is it possible it might build parrot using --gen-parrot and then link parrot somewhere else?
19:53 pmichaud it's possible, yes, if there's another parrot on the system
19:53 colomon_ I might have installed a parrot sometime last year that doesn't get used for anything now.  (Until this, maybe.)
19:53 colomon_ How to tell?
19:53 pmichaud anyway, those failing tests are all files that are marked as "# icu" in spectest.data
19:54 pmichaud so it looks like rakudo is having trouble finding your icu library
19:54 SmokeMachine joined #perl6
19:54 pmichaud so either parrot_config is improperly reporting that you have icu available when you don't, or t/harness is improperly testing for icu
19:54 pmichaud ...checking the latter now
19:54 PerlJam pm: are the failed assertions a known thing (with make spectest) ?
19:55 pmichaud ...what failed assertions?  you mean on exit?  Yes, they're known.
19:55 PerlJam src/call/pcc.c:613: failed assertion 'PObj_is_PMC_TEST(sig_pmc)'
19:55 pmichaud PerlJam: is that on exit?
19:55 pmichaud colomon_: what does the HAS_ICU line in your Makefile say?
19:56 pyrimidine './parrot_config has_icu' on mine is 1
19:56 pmichaud aha.  there doesn't seem to be a HAS_ICU line in the makefile
19:56 pmichaud that's a bug
19:56 colomon_ grep HAS_ICU Makefile gets HARNESS_WITH_FUDGE = $(PERL) t/harness --fudge --keep-exit-code --icu=$(HAS_ICU)
19:57 pmichaud right
19:57 pmichaud I don't see where HAS_ICU is being defined now
19:57 PerlJam I get that twice.  for t/spec/S14-roles/basic.rakudo and t/spec/S12-attributes/class.rakudo
19:57 colomon_ I have to deal with meatspace issues.  Back in 10.
19:57 pmichaud PerlJam: yes, known bug in Parrot
19:57 PerlJam figured.  It seemed familiarish.
19:59 pyrimidine PerlJam: Seeing the same thing (failed assertions) during S12-attributes/clone.t, S14-roles/composition.rakudo
20:00 nErVe joined #perl6
20:00 pmichaud colomon_: just pushed a fix for the icu issue to github -- try again when you get a chance
20:00 pmichaud phone
20:01 dalek rakudo: a04c54b | pmichaud++ | build/Makefile.in:
20:01 dalek rakudo: Restore lost HAS_ICU definition (colomon++)
20:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a04c54b03b84ff0e44a748ee0bbfc704cb5755c5
20:01 dalek rakudo: 67e3439 | pmichaud++ | :
20:01 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
20:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/67e3439f9a89143262c52c3f01e45c076335735f
20:06 arthur-_ masak: first sucessfull astaire run with w::rq and w::rs
20:06 masak arthur-_: wow, neat!
20:06 arthur-_ i start writing tests tomorrow
20:06 * masak heads over to november-wiki
20:11 eMaX joined #perl6
20:15 cxreg i think the ins2 merge broke the build
20:15 cxreg make: *** No rule to make target `/usr/local/lib/parrot/1.4.0-devel/library/PGE/Perl6Grammar.pbc', needed by `src/gen_grammar.pir'.  Stop.
20:23 [particle]1 joined #perl6
20:24 cxreg parrot_config is reporting /usr/local/lib even when run with a relative path.  maybe this is a parrot bug.
20:26 colomon_ pmichaud++ # looks like that cleared up the S02 errors I was getting, at least....
20:27 stepnem joined #perl6
20:32 polettix joined #perl6
20:37 mzedeler joined #perl6
20:38 Tene joined #perl6
20:39 kane__ joined #perl6
20:40 pmichaud cxreg:  did you try rebuilding with --gen-parrot ?
20:40 cxreg no, i have a separate parrot checkout already
20:40 pmichaud ah
20:40 cxreg so i used --parrot-config
20:41 pmichaud Rakudo now only works from a "make install-dev" copy of Parrot
20:41 cxreg oh, ok.
20:41 pmichaud we can no longer build Rakudo from a Parrot build tree
20:42 pmichaud I should probably add some sort of check into rakudo's Configure.pl that gives a helpful message when trying to build from a build-tree copy of Parrot
20:42 cxreg "(If you want to build Rakudo on top of an installed parrot, make sure.  that the development files are also installed (C<make install-dev> when installing parrot, or the C<parrot-devel> and C<libparrot-dev> packages on Debian)."
20:42 cxreg that should probably not be conditional, then
20:42 pmichaud I suspect the parrot-devel packages won't be sufficient for rakudo clone checkouts
20:43 pmichaud the packages are only for the latest 1.4.0 release -- rakudo often relies on features added/changed in Parrot since its last monthly release
20:43 moritz_ cxreg: read on.
20:43 moritz_ Note that an installed parrot still has to
20:43 moritz_ satisfy the minimum version requirement, so if you have an official
20:43 moritz_ parrot release installed, chances are that you can only build the
20:43 moritz_ corresponding Rakudo release on top of that, not the latest
20:43 moritz_ development version
20:43 cxreg that still implies that an install is not required
20:44 pmichaud I can re-work the readme a bit
20:45 pmichaud also, rakudo does now have a "make install" target -- it installs in the same location(s) that parrot installs
20:45 frettled There, finally got git-core installed from ports, now I can clone Rakudo and test on MacOS 10.4 :)
20:45 lisppaste3 colomon annotated #85283 "One remaining failing test on OS X" at http://paste.lisp.org/display/85283#1
20:45 * cxreg rebuilds parrot with a --prefix
20:46 colomon_ I think that one failed a couple of days ago when I built the then-current Rakudo on my 64-bit Linux box.
20:47 Matt-W I'm sure rakudo builds much faster these days than it used to
20:47 colomon_ (and I'm off to dinner, back in a few.)
20:53 mberends pmichaud: the post-ins2 perl6 executable runs fine on Jaunty (and make test/spectest) *only* if rakudo is the current working directory :(
20:54 pmichaud mberends: yes, because the dynamic libraries always look in "dynext/".  Doing "make install" for Rakudo will cause it to install itself in Parrot and then work for other directories.
20:55 mberends ok, thanks :)
20:56 frederico joined #perl6
20:57 KyleHa rakudo: my @av; @av[0][0] = 'boo'; say 'yay';
20:57 p6eval rakudo 67e343: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'Failure'␤»
20:57 pmichaud known autovivification bug
20:57 KyleHa Thanks, pmichaud++
20:57 [particle] joined #perl6
20:58 hercynium joined #perl6
20:58 Tene pmichaud: if I have: module Curses { use Curses:from<parrot>; ... }; do you have any ideas on the appropriate way to re-export everything from Curses:from<parrot>; ?
20:59 pmichaud use Curses:from<parrot> :EXPORT
20:59 pmichaud (nyi, of course)
21:01 Tene Ah, nice.
21:02 Tene would implementing that conflict with anything you have scheduled?
21:02 mzedeler I have a question regarding instantiation of object instances: how do I call the constructor of my super class inside a constructor in order to make it set the attributes it is responsible for?
21:02 pmichaud mzedeler: that normally happens "automatically", if you're overriding BUILD
21:03 pmichaud Tene: implementing that shouldn't be a major conflict for me right now, no
21:03 dalek rakudo: 81e46d5 | pmichaud++ | README:
21:03 dalek rakudo: Update the README a bit more to explain build+installation process.
21:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/81e46d51a8f9ca27c8a39daed0d8e2ccd84f9897
21:04 mzedeler So BUILD basically is the replacement of $class->SUPER::new( ... )?
21:04 KyleHa pmichaud: How you decide what to work on?  Are you driven by the road map?  RT tickets?  Regressed tests?  Unpassing tests?  Personal interest?  I'm just curious...
21:04 KyleHa s/How you/How do you/
21:04 Limbic_Region joined #perl6
21:05 pmichaud KyleHa: it depends.  Things that are blocking others tend to get my attention a bit more
21:05 jnthn mzedeler: BUILDALL calls the BUILD down the hierarchy.
21:05 mzedeler Hmm... top-down?
21:05 pmichaud beyond that, it somewhat depends on what I feel like doing for any given day
21:05 jnthn mzedeler: Thus you can just specify the initialization for the current class.
21:06 * Tene again debates trying to dive in and fix a problem with threading in parrot.
21:06 jnthn And know that BUILD has been called for all of your parents already.
21:06 KyleHa pmichaud:  Makes sense, thanks.
21:06 jnthn Yes, top-down, so you can rely on your parents being ready before you. :-)
21:06 jnthn Unless you are wanting to munge the parameters to new.
21:07 jnthn In which case you write a custom new method.
21:07 jnthn It depends exactly on the use case, whether you override new or write a submethod BUILD.
21:07 pugs_svn r27971 | kyle++ | [t/spec] Better RT #64948 tests
21:07 pugs_svn r27972 | kyle++ | [t/spec] Tests for RT #64952
21:07 mzedeler jnthn: I'll look at it. Not sure I got it, but I have a case where I can try it. Maybe I'll be back in a couple of minutes. Thanks!
21:08 * mzedeler reading S12 again.
21:10 jnthn mzedeler: If you want more of a real-code example, I think masak used them heavily in Druid
21:10 jnthn http://github.com/masak/druid/
21:11 jnthn phenny: tell masak submethod BUILD(Druid::Game :$game!, Int :$color! where { $_ == 1|2 }) { # can just write where 1|2
21:11 phenny jnthn: I'll pass that on when masak is around.
21:13 mzedeler jnthn: yes, and he is using .* and .+ that I refuse to use. I raised it at YAPC::Europe 2009 and has talked to Masak about it later. Will write a posting on the mailing list about why I consider them both harmful.
21:13 Tene rakudo: module Foo { sub bar { say 'called bar' }; class Omg { method wut { bar() } } }; my Foo::Omg $o .= new(); $o.wut();
21:14 p6eval rakudo 67e343: OUTPUT«Could not find non-existent sub bar␤»
21:14 Tene jnthn: can you confirm whether my pasted snippet should work?
21:14 Tene mzedeler: I'm very curious about why you consider them harmful.  I look forward to your post.
21:14 pmichaud Tene: I'm not sure we correctly handle nested classes yet
21:15 Tene pmichaud: that's a class in a module, not in another class.  Works fine for me, though.
21:15 explorer__ joined #perl6
21:15 Tene rakudo: module Foo { class Bar { } }; my Foo::Bar $f .= new(); say $f.WHAT;
21:15 p6eval rakudo 67e343: OUTPUT«Foo::Bar()␤»
21:15 pmichaud okay.
21:16 pmichaud the problem is that class Omg doesn't see a lexical declaration of bar() then
21:16 Tene Yes.
21:16 pmichaud and method "wut" is not in the same package.
21:16 Tene It fails at compile-time.
21:17 KyleHa rakudo: my @x; ( @x.defined ?? "defined with no value?" !! "this is what P5 does" ).say
21:17 p6eval rakudo 67e343: OUTPUT«defined with no value?␤»
21:17 pmichaud ...fails at compile-time ?
21:17 pmichaud I don't understand... the example you did above failed at runtime
21:17 mzedeler To whoever came up with the idea of encapsulating key/values in Pairs: thanks! Its really great.
21:17 Tene Oh, maybe not.  Not sure.
21:17 Tene Yeah, I think I was misremembering.
21:18 cxreg oh geez.  --prefix does not imply --exec-prefix?
21:18 KyleHa Is it right that "my @x" immediately defines @x even though "my $x" does not?
21:18 moritz_ KyleHa: both should
21:19 KyleHa moritz:  SRSLY?
21:20 pmichaud my $x doesn't give $x a defined value, no
21:20 pmichaud I think that "my @x" does.
21:20 KyleHa pmichaud: Yes, and RT 64968 calls that a bug.  Is it really?
21:20 moritz_ KyleHa: sorry, I was thinking about "declare", not "define"
21:21 pmichaud KyleHa: I'd want clarification from p6l on this point
21:21 KyleHa Aw, heck declarations go back in time.  8-)
21:21 pmichaud I can argue it either way
21:21 mberends pmichaud++: 'make install' works as you said :) I think I'll add a mention of when you would need to use install into the README if that's ok.
21:21 * moritz_ doesn't feel that .defined on arrays/hashes makes much sense
21:21 pmichaud mberends: that would be great.  Note that I just updated the README a short bit ago
21:22 mberends yes, pulled that :)
21:22 pmichaud okay.  anything you can do to make it clearer will be greatly appreciated
21:22 KyleHa OK, I'll talk to the p6l.
21:23 pmichaud since it's the case that lexicals are vivified at the beginning of the block in which they're declared, the question becomes whether it's good to have an undefined Array
21:23 pmichaud i.e.,  does   "my @x"  result in a defined-but-empty Array, or is it bound to an undefined Array that is vivified when something is first stored into it
21:24 pmichaud s/bound to//
21:26 KyleHa I like the latter.
21:26 cxreg i swear to god, i give up.  nothing i do will make parrot not install to /usr/local
21:26 KyleHa Maybe the @new[0][1] bug would go away if that were the case.
21:27 KyleHa (I say, knowing nothing about it.)
21:28 leedo_ joined #perl6
21:28 pmichaud cxreg: --prefix to the parrot config is the normal way of adjusting things
21:28 cxreg pmichaud: nope
21:29 cxreg i'm setting both --prefix and --exec-prefix, and neither has any effect that I can tell
21:29 pmichaud where are you looking for an effect ?
21:29 cxreg i'm expecting "make install" not to fail
21:29 pmichaud still talking about a Parrot "make install"?
21:29 cxreg indeed
21:30 pmichaud --prefix works for me, otherwise Rakudo wouldn't build
21:30 cxreg oh wait, I'm passing those to Makefile.PL, not Configure.pl
21:30 moritz_ parrot$ perl Configure.pl --prefix=~/rakudo/install/
21:30 pmichaud :-)
21:30 cxreg self.shoot
21:31 pmichaud that sounds like a Makefile.PL bug, then
21:32 mzedeler I am writing a binary tree implementation for perl 6. Is anyone out there aware of any existing implementations?
21:33 KyleHa rakudo:  loop(my $i=0; $i<10; $i++) { say $i } # >
21:33 p6eval rakudo 67e343: OUTPUT«Redeclaration of variable $i␤Redeclaration of variable $i␤Statement not terminated properly at line 2, near "(my $i=0; "␤in Main (src/gen_setting.pm:3369)␤»
21:34 pmichaud hmmm, that's bogus.
21:34 pmichaud loop( needs a space
21:34 KyleHa rakudo:  loop (my $i=0; $i<10; $i++) { say $i } # >
21:34 p6eval rakudo 67e343: OUTPUT«Redeclaration of variable $i␤Statement not terminated properly at line 2, near "(my $i=0; "␤in Main (src/gen_setting.pm:3369)␤»
21:35 KyleHa Anything else that's wrong?
21:35 pmichaud rakudobug, looks lik
21:35 pmichaud *like
21:35 jnthn rakudo:  my $i; loop ($i=0; $i<10; $i++) { say $i }
21:35 p6eval rakudo 67e343: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
21:35 jnthn Rakudo bug.
21:35 pyrimidine rakudo: loop (my $i=0; $i<10; $i++) { say $i } #
21:35 p6eval rakudo 67e343: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
21:35 KyleHa rakudo:  my $i; loop ($i=0; $i<10; $i++) { say $i } # >
21:35 p6eval rakudo 67e343: OUTPUT«Statement not terminated properly at line 2, near "($i=0; $i<"␤in Main (src/gen_setting.pm:3369)␤»
21:35 jnthn wow
21:36 pmichaud maybe it thinks the <...>  are a postcircumfix?
21:36 jnthn Looks like it!
21:36 moritz_ yes
21:36 jnthn std: my $i; loop ($i=0; $i<10; $i++) { say $i } # >
21:36 pmichaud rakudo:  my $i;  loop ($i=0; $i < 10; $i++) { say $i } # >
21:36 p6eval std 27972: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing block at /tmp/PrsyuJZWs8 line 1 (EOF):␤------> [32m loop ($i=0; $i<10; $i++) { say $i } # >[33m⏏[31m<EOL>[0m␤    expecting any of:␤ noun␤   prefix or noun␤     standard stopper␤ term␤   terminator␤       whitespace␤FAILED 00:03 41m␤»
21:36 p6eval rakudo 67e343: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
21:36 pmichaud std thinks it's a postcircumfix too :-)
21:37 jnthn lol
21:37 jnthn That's...a little painful.
21:37 * moritz_ strongly recommends whitespaces around infix operators
21:37 frettled Hmm.
21:38 KyleHa I recall hearing that whitespace around infix was required.  That's why I brought it here to ask.  I thought maybe it wasn't supposed to work.
21:38 jnthn It's not required.
21:38 jnthn But I guess you run the risk of things like the above.
21:38 literal rakudo: say "  foo  ".trim
21:38 moritz_ KyleHa: they are only required where ambiguous
21:38 p6eval rakudo 67e343: OUTPUT«foo␤»
21:38 jnthn std: loop (my $i=0; $i<10; $i++) { say $i } #
21:38 moritz_ KyleHa: and that's one of these ambiguous cases
21:38 p6eval std 27972: OUTPUT«[31m===[0mSORRY![31m===[0m␤(Possible runaway string from line 1)␤Unable to parse quote-words subscript; couldn't find right angle quote at /tmp/gQwvAZk5hu line 1 (EOF):␤------> [32mloop (my $i=0; $i<10; $i++) { say $i } #[33m⏏[31m<EOL>[0m␤FAILED 00:02 38m␤»
21:39 jan joined #perl6
21:39 jnthn Oh hmm.
21:39 KyleHa Moritz: In that case, should this bug be rejected?
21:42 moritz_ KyleHa: which ticket is that?
21:42 KyleHa http://rt.perl.org/rt3/Ticket/Display.html?id=64974
21:43 stepnem joined #perl6
21:43 moritz_ yes, reject
21:43 gigabo joined #perl6
21:43 literal rakudo: my $str = "  foo  "; $str .= trim; say $str;
21:43 p6eval rakudo 67e343: OUTPUT«foo␤»
21:44 frettled
21:47 literal http://en.wikipedia.org/wiki/Trim_%28programming%29#Usage
21:47 * literal snickers at Objective-C
21:48 Whiteknight joined #perl6
21:48 frettled Is it safe to do «make -j5» with rakudo, or is it sensitive to parallelism?
21:48 frettled literal: crikey.
21:49 KyleHa I "make -j 4" all the time.  No problems that I have noticed.
21:49 literal KyleHa: you have 3 cores?
21:49 KyleHa I have four.
21:49 literal I thought the rule of thumb for -j was "number of cores/CPUs plus one"
21:50 moritz_ frettled: parallel build works fine for me
21:50 KyleHa literal: Might be, but I haven't learned that rule yet.  8-)
21:50 frettled moritz_: thanks
21:50 frettled oh, and thanks to KyleHa as well, I just triggered on the highlight first.
21:51 frettled /usr/bin/ld: flag: -undefined dynamic_lookup can't be used with MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1
21:51 frettled hmm.
21:53 frettled That's rather interesting. If I read it right, it implies that it attempts to build as 10.1, even though it seems to have detected that I'm at 10.4 correctly.
22:00 frettled MACOSX_DEPLOYMENT_TARGET seemed to be undefined in the environment, but when I set it manually to 10.4, then the build continues.
22:01 timbunce joined #perl6
22:02 frettled Seems like a possible parrot bug.
22:03 jnthn pmichaud: About?
22:03 pmichaud jnthn: yes
22:04 jnthn pmichaud: I'm looking at the output of parrot_config --dump
22:04 jnthn pmichaud: And it looks kinda screwed up.
22:04 pmichaud are you looking at the installed version of parrot_config ?
22:04 jnthn Yes, installed.
22:04 jnthn The value for inst_libparrot_linkflags is pre-formated as a linker line.
22:05 pmichaud I don't understand "preformatted as a linker line"
22:05 jnthn ...but in a syntax my linker doesn't accept.
22:05 jnthn -LC:/Consulting/rakudo/parrot_install/lib -lparro
22:05 jnthn That is the output of parrot_config inst_libparrot_linkflags
22:06 jnthn oh, I missed the last char, it's -lparrot
22:06 pmichaud what is Parrot itself using to link things when it does it?
22:07 frettled Except for that little version thingy error, it appears that Rakudo builds nicely on MacOS 10.4/PowerPC, and I'm now running spectests.
22:07 pmichaud would @ld_share_flags@ be a better option here?
22:08 jnthn For me that's just -dll
22:08 pmichaud isn't that what we're building at this step?
22:09 jnthn Yes
22:09 jnthn But we're already getting -dll in there
22:09 jnthn The problem is that we're not getting a reference to libparrot.
22:09 pmichaud and a dll needs that?
22:10 jnthn Well, it needs to know it's linking against libparrot to be able to resolve the various calls into Parrot.
22:10 pmichaud again, my question is then "what does Parrot use for its dynpmcs"?
22:12 jnthn LINKARGS        = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT)  kernel32.lib ws2_32.lib msvcrt.lib oldnames.lib]
22:12 pmichaud looks like Parrot is using @ld_load_args@, among other things
22:12 jnthn oh, that's in the generated makefile
22:12 pmichaud sorry, @ld_load_flags@
22:12 jnthn let me check what that's generated from.
22:13 pmichaud config/gen/makefiles/dynpmc.in
22:13 pmichaud does ld_load_flags look more like what you would expect ?
22:13 jnthn LINKARGS        := $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @icu_shared@ @libs@
22:13 pmichaud (in parrot_config)
22:13 jnthn LD_LOAD_FLAGS := @ld_load_flags@
22:13 jnthn LIBPARROT     := @libparrot_ldflags@
22:13 pmichaud does ld_load_flags look more like what you would expect ?
22:14 jnthn ld_load_flags is fine.
22:14 jnthn @libparrot_ldflags@ is what we are missing
22:14 lambdabot Unknown command, try @list
22:14 pmichaud should we use that in our makefile instead of inst_ld_*
22:14 jnthn Well, it's a necesary-but-not-sufficient issue.
22:14 pmichaud feel free to fix up the targets
22:14 jnthn Well, I'm not sure what to fix them up to.
22:15 jnthn OK, I know addoing @libs@ to the link line will help
22:15 duckyd joined #perl6
22:15 jnthn But unless I'm missing it, I don't see a single key that contains the location of the (installed) libparrot.
22:15 pmichaud I'm still not sure I understand why libparrot is needed there
22:16 pmichaud but I'll take your word for it :)
22:16 jnthn Because otherwise the linker can't resolve the symbols?
22:16 pmichaud the linker normally doesn't need to resolve all of the symbols at this point
22:16 pmichaud i.e., there should be some unresolved symbols that get resolved when the library is loaded
22:16 jnthn Hmm
22:16 jnthn Maybe there's a way to tell it that.
22:16 pmichaud we don't need the symbols to be resolved to produce the dll
22:17 pmichaud I suspect @libs@ might do that
22:17 pmichaud on my system, @libs@ contains the --shared flag
22:17 pmichaud oh wait, not that
22:17 pmichaud just s ec
22:17 pmichaud ld_shared_flags has it
22:17 pmichaud although ld_load_flags has it also
22:18 pmichaud but on my system, "-shared" is what tells the linker it's okay for some symbols to still be unresolved
22:18 jnthn OK, trying adding @libs@ to link line.
22:18 pmichaud anyway, I'm guessing we need our makefile to look more like the dynpmc Makefile
22:19 jnthn @libs@ being added helps.
22:19 lambdabot No module "being added helps." loaded
22:19 jnthn But doesn't fix it.
22:19 jnthn lambdabot: ffs, shut up
22:20 jnthn (That is, it gets rid of one of the linker erros)
22:21 pmichaud what does "libparrot_ldflags" look like on your system?
22:21 pmichaud and WHY OH WHY does parrot_config have both "libparrot_linkflags" and "libparrot_ldflags"?!?
22:23 jnthn pmichaud: http://gist.github.com/166823 # this gets it to work
22:23 jnthn It looks like:
22:24 jnthn "C:/Consulting/rakudo/parrot\libparrot.lib"
22:24 pmichaud feel free to commit that
22:24 jnthn Is it right though?
22:24 pmichaud I suspect there is no "right" here.
22:24 jnthn Note that path is parrot, not parrot_install?
22:24 jnthn OK.
22:24 explorer__ joined #perl6
22:24 pmichaud Oh.
22:24 pmichaud You're right, wrong path
22:24 pmichaud is there one that refers to the installed libparrot.lib ?
22:24 jnthn Right. And I don't have anything I can see when I --dump that is containing this same thing but with parrot_install instead of parrot.
22:25 pmichaud bleah
22:25 jnthn pmichaud: Yup. Just searched to make sure.
22:26 jnthn fwiw libparrot_linkflags and libparrot_ldflags are identical here.
22:26 pmichaud they're not identical here.  ldflags is empty on my box.
22:26 pmichaud same is true for the install* versions
22:26 pmichaud linkflags is non-empty, ldflags is empty
22:26 jnthn uff
22:27 pmichaud libparrot_ldflags => ''
22:27 jnthn IO have
22:27 jnthn inst_libparrot_ldflags => ''
22:27 pmichaud libparrot_linkflags => '-L/home/pmichaud/rakudo/parrot/blib/lib -lparrot'
22:27 jnthn And
22:27 jnthn inst_libparrot_linkflags => '-LC:/Consulting/rakudo/parrot_install/lib -lparrot'
22:27 jnthn Which is wrong for Win32
22:27 pmichaud inst_libparrot_linkflags => '-L/home/pmichaud/rakudo/parrot_install/lib -lparrot'
22:27 pmichaud inst_libparrot_ldflags => ''
22:28 jnthn (Should simply be inst_libparrot_linkflags => '"C:/Consulting/rakudo/parrot_install/libparrot.lib"'
22:28 jnthn )
22:28 jnthn That would likely work.
22:28 * jnthn wonders however we get to that config key.
22:28 pmichaud I think we want inst_libparrot_ldflags to be fixed
22:29 pmichaud at the moment we don't use linkflags
22:29 jnthn OK
22:29 jnthn Even with my makefile tweaks, we still have an issue.
22:29 jnthn $(OPS_DIR)/$(OPS)_cg$(LOAD_EXT) \
22:29 jnthn $(OPS_DIR)/$(OPS)_cgp$(LOAD_EXT) \
22:29 jnthn When we had scripts managing the process, they were smart enough to know only to build files for the runcores that were actually built by Parrot.
22:30 pmichaud right.
22:30 jnthn That is, computed goto doesn't work away from gcc, so it didn't build the _cg and _cgp
22:30 jnthn In my makefile here it tries to do both.
22:30 jnthn Neither of those two will work.
22:30 pmichaud right.  For some reason I thought you had already tried and succeeded with the ins2 branch.
22:31 pmichaud and other windows folks had reported they were able to build okay.  I guess they were all using gcc.
22:31 jnthn No.
22:31 jnthn I'm guessing they were, in which case this would probably have worked fine.
22:31 pmichaud I don't have an easy mechanism to do conditional compilation of those items at the moment.
22:31 jnthn I thought somebody had said it worked on MS VC++. But even discounting version specific issues, I'm struggling to see how that was done.
22:32 PZt joined #perl6
22:32 jnthn I'm going to just rip them out now to see if we get through a build.
22:32 pmichaud that's a good first step
22:32 jnthn If so, at least we know it's just two issues that need solving, not more.
22:33 icwiener_ joined #perl6
22:33 jnthn I'm guessing we're going to need a Parrot fix somewhere in all of this.
22:34 pmichaud well, inst_libparrot_ldflags sounds like it needs fixing.
22:34 jnthn *sigh* allison may have been right that the previous scripts for building these things were scary, but they were scary because they incorporated a bunch of learned platform knowledge.
22:34 pmichaud allison did say that we could write our own tool for this if we wanted to.
22:34 * jnthn distinctly remembers patching them up in the past for Windows support
22:35 pmichaud I decided I didn't want to do that.
22:35 Limbic_Region pmichaud - happy early birthday to you, you live in a zoo, you look like a monkey - and you smell like one too
22:35 jnthn Aye. Having contributed to one that was in Parrot that got tossed, I'm not exactly encouraged to hack on another one.
22:35 * pmichaud tosses a banana peel at L_R
22:36 pmichaud "Thanks!"
22:36 pmichaud :-D
22:36 Limbic_Region my wife's is today
22:36 pmichaud did you give her the same birthday story?  ;-)
22:36 moritz_ is it time to say "pmichaud++"?
22:36 Limbic_Region yes, it is a long standing tradition
22:36 pmichaud okay.
22:36 pmichaud I definitely live in a zoo.  With two young monkeys.
22:37 jnthn pmichaud: Oh gah. Well, then it tries to use the broken link flags line to build the fake executable.
22:37 moritz_ how many older monkeys? ;-)
22:37 pmichaud Only one, and he has a birthday tomorrow. :)
22:37 jnthn But anyway, it's the same underlying fix.
22:37 pmichaud jnthn: is it using *_linkflags or *_ldflags ?
22:37 pmichaud ultimately I think we need to fix inst_libparrot_ldflags
22:38 pmichaud fwiw, I now have a win32+gcc build environment so I can test that pretty easily
22:38 jnthn inst_libparrot_linkflags
22:38 pmichaud I can't find anywhere that really uses _linkflags, though
22:38 jnthn inst_libparrot_ldflags is empty here
22:38 pmichaud I don't mind if we switch to _linkflags, but I _really_ wish I knew what the difference between the two is intended to be
22:38 jnthn oh
22:38 jnthn $(PBC_TO_EXE) perl6.pbc
22:38 jnthn We don't use them ourselves it seems
22:39 pmichaud right
22:39 pmichaud that's why I think the fix has to be in the parrot config, not just our use of them
22:39 jnthn PBC_TO_EXE is what is using them.
22:39 jnthn Right, I agree.
22:39 jnthn Well, to quote a talk title at last year's YAPC::EU, "F**k, the f**king things f**ked". ;-)
22:40 pmichaud although it appears that pbctoexe uses _linkflags
22:40 pmichaud libparrot    = $P0['libparrot_linkflags']
22:40 jnthn Yes, agree
22:40 jnthn That's the one that is closer to correct.
22:40 jnthn As in, not empty
22:40 jnthn On my system.
22:40 pmichaud libparrot  = $P0['inst_libparrot_linkflags']
22:40 jnthn But it's still wrong.
22:40 jnthn Because it assumes gcc-isms.
22:40 pmichaud maybe allison is available on #parrot
22:41 pmichaud I'm being called to dinner, though
22:41 jnthn OK, I'm still sick, and more sleepy than I otherwise would be, so I'm going to give it a break for today.
22:41 pmichaud oh
22:41 pmichaud allison was on #parrot 16 mins ago
22:41 pmichaud if we can at least get a clarification on the flags meanings, that might help
22:41 pmichaud anyway, I'll see if I can get a clarification after dinner
22:42 jnthn OK, sounds good.
22:42 jnthn I'm really struggling to concentrate.
22:42 jnthn But anyway, will backlog #parrot in the morning and see if an answer was forthcoming.
22:47 ascent_ joined #perl6
22:48 TimToady eternaleye: ff * doesn't make whatevercode, just as .. * and xx * don't; in all these cases * means "go on forever, as long as you need to"
22:50 dalek rakudo: 5c404cb | (Martin Berends)++ | README:
22:50 dalek rakudo: [README] tweak the build and install instructions
22:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5c404cb92dfefefe64df86f1123a66eeec88c249
22:54 eternaleye TimToady: Okay, thanks
22:58 * mberends must sleep
23:02 ihrd joined #perl6
23:03 ruoso joined #perl6
23:03 ihrd left #perl6
23:25 pjcj_ joined #perl6
23:30 xinming_ eval: multi contact (Str $s, Str $_ is copy) { q:s:c |$s {s/!(.+)!/@$0./ and $_}| }; "My email address is:".contact("yiyihu!gmail!com");
23:31 xinming_ rakudo: multi contact (Str $s, Str $_ is copy) { q:s:c |$s {s/!(.+)!/@$0./ and $_}| }; "My email address is:".contact("yiyihu!gmail!com");
23:31 p6eval rakudo 81e46d: OUTPUT«Statement not terminated properly at line 2, near "{s/!(.+)!/"␤in Main (src/gen_setting.pm:3369)␤»
23:31 xinming_ Seems my oneliner needs to be upgraded. :-)
23:31 TimToady no failover form single to multiple dispatch
23:31 TimToady *from
23:31 frew__ joined #perl6
23:32 xinming_ TimToady: Thanks, I wrote it 2 years ago. ;-)
23:32 TimToady we keep simplifying the semantics :)
23:32 TimToady right now I'm thinking of throwing out p5-style locals entirely in favor of only supporting contextuals
23:33 pmichaud ...no temp?
23:33 pmichaud or am I thinking of something different?
23:33 TimToady temp might retarget to only handle temp $*FOO
23:33 pmichaud nice
23:34 pmichaud that would likely be quite helpful to rakudo, fwiw
23:34 TimToady nobody implements plain temp yet anyway, I think
23:34 pmichaud correct.  we don't implement it because we need better leave semantics on our blocks
23:34 TimToady perl6: my $x; { temp $x = 42; say $x }; say $x;
23:34 pmichaud (which we'll _get_ eventually one way or another)
23:34 p6eval rakudo 81e46d: OUTPUT«Could not find non-existent sub temp␤»
23:34 p6eval ..pugs: OUTPUT«*** No such subroutine: "&temp"␤    at /tmp/gCZ9ix32FL line 1, column 10-22␤»
23:34 p6eval ..elf 27972: OUTPUT«Can't localize lexical variable $x at (eval 123) line 4.␤ at ./elf_h line 5881␤»
23:35 TimToady p5 local semantics don't work well with multithreads anyway
23:36 * xinming_ found, perl 6 is really write once. >_< I can't even understand how I achieved that in old days. >_<
23:36 TimToady @tell pmurias we may store contextuals as $*FOO in the symbol table, so the twigil is the indication that it is visible to dynamic scope
23:36 lambdabot Consider it noted.
23:36 TimToady @tell pmurias the rw will need to be handled separately in that case
23:36 lambdabot Consider it noted.
23:37 simcop2387 left #perl6
23:37 stepnem joined #perl6
23:38 TimToady @tell pmurias the ro/rw should probably stay with the container in any case so you can't cheat on a contextual by aliasing it
23:38 lambdabot Consider it noted.
23:38 xinming_ I got it finally. >_<
23:38 jrtayloriv joined #perl6
23:39 xinming_ TimToady: hmm, For now, How do we injecting a method into a class dynamically? We have to use Monkey patch?
23:39 TimToady rakudo still uses "is also" rather than augment
23:39 TimToady I don't know whether it requires MONKEY_TYPING yet
23:40 pmichaud we don't require MONKEY_TYPING yet
23:40 xinming_ TimToady: hmm, Why do you choose the name Monkey_Typing?
23:41 pmichaud we still use "is also".  Sorry.  We have a plan to fix it, but we really need contextuals working first
23:41 pmichaud and for that we want to revamp our lexicals handling
23:41 xinming_ I did laughed when I first saw it. But can't get the meaning of it.
23:41 TimToady it has two meanings
23:42 jrtayloriv I'm having trouble building rakudo. I fetched the latest SVN sources for Parrot, into parrot/, then 'cd parrot'; 'perl Configure.pl'; 'make'; 'mkdir languages/'; 'cd languages/'; 'git clone git://github.com/rakudo/rakudo.git'; 'cd rakudo'; 'perl Configure.pl' ... then 'make' dies with: "make: *** No rule to make target `/usr/local/lib/parrot/1.4.0-devel/library/PGE/Perl6Grammar.pbc', needed by `src/gen_grammar.pir'.  Stop." ... What am I d
23:42 snarkyboojum joined #perl6
23:42 TimToady one is you reach in and "monkey around" with an existing class in a way it wasn't expecting
23:42 TimToady the other meaning is a play on the story of having a million monkeys typing on typewriters and eventually one of them types some Shakespeare
23:43 xinming Got it, thanks, I mis-understand the meaning of monkey, I only know the meaning of an animal which is smaller than an ape. :-)
23:43 pmichaud jrtayloriv: those steps no longer work to build rakudo.  Rakudo now requires an "installed" parrot to biuld.
23:43 TimToady Joe: Hey Bill, come over here to monkey #402834.  We might have something.  It says: To be, or not to be, that is the frabsnotz.
23:44 pmichaud jrtayloriv: see the README file for more details
23:45 jrtayloriv pmichaud: If I just do 'make install' for parrot, would I regret this? Is there a "proper" way for me to "pseudo-install" parrot while I'm just playing around with development versions?
23:45 jrtayloriv OK will do. Thanks.
23:45 pmichaud jrtayloriv: if you use the "--gen-parrot" option to Rakudo's Configure.pl, it'll always do the right thing
23:45 pmichaud see also http://rakudo.org/how-to-get-rakudo
23:46 TimToady pmichaud: would it help your rakudo contextuals if the contextualness was indicated by a * twigil in the lexical symbol table?
23:46 pmichaud TimToady: that's what I'm planning to do already
23:46 xinming rakudo: say "hello"
23:46 p6eval rakudo 81e46d: OUTPUT«sh: ./perl6: No such file or directory␤»
23:46 jrtayloriv pmichaud: Right I see that now -- sorry for not reading more before bothering you -- should have seen that ....
23:46 xinming Seems dead right now.
23:46 pmichaud jrtayloriv: no problem -- we just changed things today
23:46 pmichaud TimToady: the general issue with contextuals is that we need PGE support them
23:46 TimToady of course, that doesn't work for $/ or $! quite so well...
23:47 pmichaud actually, PGE needs lexicals support in general, since it comes from a time from well-before when Parrot had decent lexicals support
23:47 pmichaud but more to the point, jnthn++ and I have plans to refactor Rakudo's lexical handling altogether, to improve their runtime characteristics and to make sure they're vivified at the start of a block (instead of at the point of declaration)
23:48 pmichaud and doing that requires contextuals so that we can get the declarations correct
23:48 pmichaud we're still doing things bottom-up, from a time before STD.pm was using contextuals to make the declarators available to the lower subrules
23:48 TimToady I'm also thinking the constant declarator is going to end up in the sub slot, not the my slot, so you can distinguish my constant from our constant and has constant
23:49 TimToady and I'm also rethinking all the defaulting to "our" that could potentially default to "my" instead
23:49 pmichaud hmmm, that would be interesting
23:49 pmichaud feels more consistent somehow, yes.
23:49 TimToady might even work well for subs, given postdeclaration of those is allowed
23:50 TimToady well, we rely on that already anyway, since multi dispatch isn't supposed to look at packqges
23:50 TimToady s/q/a/
23:51 pmichaud anyway, Rakudo has had to handle scope declarators in the action for the scope_declarator rule itself, because at the point of <variable> we didn't have the contextual information available to tell us that it was being declared (or what it was being declared as)
23:51 pmichaud the same issue exists for augment -- "is also" was a trait that we could apply after we had already figured out we had a class
23:51 pmichaud but as a declarator, "augment" needs to be something that we detect upon parsing the class -- it's much hard to fix it up "after the fact"
23:51 pmichaud *harder
23:52 TimToady yes, those are handled with context in STD
23:52 pmichaud right
23:52 pmichaud so, contextuals are high on our list... particularly the ability to create contextuals in the grammar itself
23:52 pmichaud but yes, I'm planning to store them with the twigil, to distinguish the contextual from its non-twigiled counterpart (which may have different accessors)
23:53 pmichaud and once we have contextuals, we can fix our lexical and other declarators to be a lot more std-like
23:54 pmichaud because we can figure out things on the way down, instead of "after the fact"
23:55 TimToady traits should generally be used for "tweaky" things, not to change the basic nature of what came before
23:55 TimToady that's why augment had to come out front, since the very existence of the entity changes
23:55 pmichaud agreed totally
23:56 TimToady and I think context is similar, so "is context" is probably going away
23:56 TimToady don't know whether I can do it all with "temp" though
23:56 pmichaud good to know that "is context" might depart
23:56 pmichaud but then while we're on the topic, I wonder about other forms of "is"
23:56 pmichaud for example:    my $x is Foo
23:57 TimToady I like being able to distinguish make a new outermost context (defaults to empty) from a temporized outer contextual (defaults to same value)
23:57 pmichaud and the one that has me really feeling awkward is    my int $x
23:57 pmichaud because "int" here really describes the storage format of $x somehow.  Although I agree we should keep similarity with  "my int @foo"
23:58 TimToady I think that's a necessary user convenience, even if only describing the container
23:58 pmichaud I'm fine with that.
23:58 pmichaud It just feels like a disconnect at the implementation level.  (And the point of the implementation level is to have such disconnects for user convenience :-)
23:59 TimToady yes, well, but sometimes it indicates that something is too complicated at the user level as well
23:59 pmichaud anyway, since  "Array of int"  implies something special about the Array, I'm guessing "Scalar of int" can be similar.

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

Perl 6 | Reference Documentation | Rakudo