Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-03-09

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:13 leprevost joined #perl6
00:14 felher 'night, #perl6
00:16 skids joined #perl6
00:20 * jnthn blug: http://6guts.wordpress.com/2012/03/09/meta​-programming-slides-and-some-rakudo-news/
00:20 jnthn And now, sleep &
00:41 benabik joined #perl6
00:55 lestrrat joined #perl6
01:10 whiteknight joined #perl6
01:14 timotimo oh. do i understand correctly that nqp can be a tool to set rakudo atop non-parrot?
01:17 scott__ joined #perl6
01:35 [Coke] S32-num/exp.t - any reason the last block needs a ... ? mind if I convert it to .. so pugs can run it?
01:35 [Coke] timotimo: eventually, yes
01:36 * [Coke] invokes forgiveness.
01:42 lestrrat joined #perl6
01:45 sivoais joined #perl6
01:48 elkng joined #perl6
01:56 elkng if one decided to learn perl should one start to learn perl6 and never to look at perl5 ?
01:56 araujo they are different , though yet perlish, languages
01:56 araujo :)
01:57 elkng which one beginner should pick ? perl5 or perl6 ?
01:59 elkng "Perl 6 is under-documented. Unfortunately that means that it's not easy to learn Perl 6, and that you have to have a profound interest in Perl 6 to actually find the motivation to learn it from the specification", thats it ?
02:07 timotimo it depends on what you're up to
02:07 timotimo do you need to become productive soon?
02:08 timotimo perl5 has a huge ecosystem of packages, perl6 doesn't yet (although with niecza you can apparently very easily use .net/mono libraries)
02:08 aindilis joined #perl6
02:08 timotimo i'd also guess, that the performance of perl5 is better than perl6s performance (niecza offering better performance than rakudo usually)
02:08 elkng no, want to know why are they different if they same language, and if they different why dont perl6 called differently but just changed version number
02:10 timotimo for one, you can put perl5 code into perl6
02:11 timotimo well, okay, that sounds like "you can put assembler code into C code, so C should instead be called 'assembler 2'", but meh
02:11 timotimo perl5 and pero6 apparently share lots of syntax and ideas
02:14 elkng perl5 -> perl6 something like C -> C++ ?
02:18 timotimo no, don't think so
02:19 timotimo what i meant with "put perl5 code into perl6" is that you can go "use v5;" or "use v6;" on a block-per-block level
02:20 araujo elkng, perl6 is a different language
02:20 araujo but still perl
02:20 timotimo while perl6 features what i, as a never-used-perl5-person understand, is a dramatically improved system of method calls (signatures, multiple dispatch) and an actual object system with meta object stuff, perl5 has gotten many apparently very good object systems in the mean time, too (moose, moosex, moo, mo, m and )
02:22 timotimo i invite anyone to call me out on any obvious mistakes/misinformation
02:32 [Coke] b: say 8204-7403
02:32 p6eval b 1b7dd1: OUTPUT«801␤»
02:32 [Coke] b: say 8204/21099
02:32 p6eval b 1b7dd1: OUTPUT«0.388833594009195␤»
02:34 dalek roast: b1c8167 | coke++ | / (17 files):
02:34 dalek roast: pugs fudge
02:34 dalek roast: review: https://github.com/perl6/roast/commit/b1c8167e88
02:34 dalek Pugs.hs: 15e9360 | coke++ | t/spectest.data:
02:34 dalek Pugs.hs: run fudged test
02:34 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/15e93605ef
02:34 dalek Pugs.hs: 9eb738a | coke++ | t/spectest.data:
02:34 dalek Pugs.hs: run fudged tests
02:34 dalek Pugs.hs:
02:34 dalek Pugs.hs: begin to document unrunnable tests.
02:34 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/9eb738ab83
02:48 [Coke] masak: fudging pugs is getting harder and less fun.
03:02 thou joined #perl6
03:07 orafu joined #perl6
03:13 thou joined #perl6
03:55 Khisanth joined #perl6
03:58 leprevost joined #perl6
04:12 elkng there no #perl6-users ?
04:19 elkng this loop "for 1..3 -> $x { }" better looks like: "for $x:1..3 {"
04:23 skids if you only have one variable going in, why not 'for 1..3 { .say }' ?
04:27 elkng isnt "$#b" better looking and faster to write than "@b.end"
04:27 benabik +@b
04:27 benabik nom: my @b = 1, 2, 3; say +@b
04:27 p6eval rakudo 4235df: OUTPUT«3␤»
04:28 elkng OUTPUT«3NL»  ?
04:28 skids evalbot folds newlines.
04:28 elkng shouldnt there be "123"
04:29 skids no, you were asking for a short way to write .end.  That's it.
04:29 benabik nom: my @b = <a b c>; say +@b
04:29 p6eval rakudo 4235df: OUTPUT«3␤»
04:29 benabik 3 is the length
05:14 thou joined #perl6
05:25 araujo joined #perl6
05:25 araujo joined #perl6
05:45 alc joined #perl6
05:45 sftp joined #perl6
05:49 NamelessTee joined #perl6
06:00 tadzik \o/
06:18 moritz \o
06:18 phenny moritz: 08 Mar 22:54Z <jnthn> tell moritz fixed the issue that sunk your progress earlier
06:18 moritz tadzik is back. That means his travel can't have beeen delayed too long :-)
06:41 * mathw is excited to be building Rakudo for the first time in aaaaages
06:44 jeffreykegler joined #perl6
06:47 MayDaniel joined #perl6
06:54 moritz elkng: re $#b, that only works if you keep the array in an @-sigiled variable, which doesn't need to be the case
06:54 moritz elkng: also in Perl 6 we need the last index only in rare cases explicitly, so it doesn't make sense to introduce extra syntax for it
06:55 moritz we also don't change the sigils anymore. The variable is called @b, so whatever we do with it, there'll be a @ at the start
06:55 moritz if you want to iterate over the indexes of an array, you'd just do   for @b.keys { }
06:57 sorear goodish * #perl6
06:58 mathw oh hai
06:58 moritz \o sorearish
07:01 sorear o/ moritz
07:02 tadzik moritz: it was actually like 14 hours, it went through Czech Rep.
07:03 sorear elkng: right, there are no Perl 6 users. :p
07:03 sorear (for sufficiently scottish definitions of users)
07:03 sorear right now, everyone is involved in language design, so we have everyone crammed together
07:17 * mathw is trying to figure out what's upsetting rakudo when it tries to compile the much-neglected Form
07:18 mathw 'missing block' is not the most useful error message when there appears to be a block right where the compiler's complaining
07:23 mathw there doesn't seem to have been a syntactic alteration of given/when either, so it's not that
07:23 mathw hmm
07:26 mathw ahah
07:27 mathw that's what's wrong
07:27 mathw good
07:27 mathw now how to fix it...
07:33 mathw is it possible to export an enum from a module?
07:46 moritz I dearly hope so
07:47 moritz nom: enum A is export <a b c>;
07:47 p6eval rakudo 4235df:  ( no output )
07:47 moritz nom: enum A <a b c > is export;
07:47 p6eval rakudo 4235df: OUTPUT«===SORRY!===␤Confused␤at /tmp/c7tlkI4Har:1␤»
07:49 mathw okay that was my stupid morning brain's fault
07:49 mathw overcome that little hurdle
07:49 mathw hurrah
07:50 mathw now to investigate Cannot call 'trait_mod:<is>'; none of these signatures match:
07:50 mathw fortunately there are only two calls to that in this file
07:51 mathw so it should be easy enough to figure out which one's the problem :)
07:51 moritz mathw: are you using nested namespaces?
07:52 moritz if you have something like
07:52 moritz Foo.pm: module Foo; class A { };
07:52 moritz and then you 'use Foo;'
07:52 moritz you must now refer to A as  Foo::A
07:53 moritz unless you explicitly export A separately
07:53 mathw yes
07:53 mathw this pleases me
07:53 moritz it might lead to the error you pasted, if you inherit from something that is referenced in the wrong way, or so
07:54 mathw \o/ form is now in to test run
07:55 moritz \o/
07:55 moritz push push push
07:55 mathw unsurprisingly
07:55 mathw they don't all pass
07:55 mathw looks like they're crashing
07:55 mathw some of them
07:55 * moritz commutes
07:55 mathw probably thetest files also don't conform to shiny new rakudo
08:04 mathw nom: my @a = gather loop { take 1; last; }; say @a
08:04 p6eval rakudo 4235df: OUTPUT«Method 'eager' not found for invocant of class 'Integer'␤  in sub coro at src/gen/CORE.setting:4775␤  in method reify at src/gen/CORE.setting:4756␤  in method reify at src/gen/CORE.setting:4527␤  in method reify at src/gen/CORE.setting:4527␤  in method gimme at src…
08:05 mathw is this me or nom?
08:18 mj41 joined #perl6
08:24 moritz that' nom
08:25 mathw whew
08:25 mathw also :(
08:25 moritz I think a block after the gather helps
08:25 moritz nom: my @a = gather { loop { take 1; last; }}; say @a
08:25 p6eval rakudo 4235df: OUTPUT«Method 'eager' not found for invocant of class 'Integer'␤  in sub coro at src/gen/CORE.setting:4775␤  in method reify at src/gen/CORE.setting:4756␤  in method reify at src/gen/CORE.setting:4527␤  in method reify at src/gen/CORE.setting:4527␤  in method gimme at src…
08:25 moritz hm, no :/
08:25 mathw a workaround would be nice
08:25 moritz nom: my @a = gather { while True { take 1; last; }}; say @a
08:25 p6eval rakudo 4235df: OUTPUT«1␤»
08:25 mathw ah
08:25 mathw something to do with loop
08:26 moritz aye
08:26 moritz nom: my @a = gather { loop (1; 1; 1) { take 1; last; }}; say @a
08:26 p6eval rakudo 4235df: OUTPUT«1␤»
08:26 moritz with headless loop, to be exact
08:26 mathw well at least it's a quite limited problem
08:26 mathw and I can easily incorporate that workaround
08:28 mathw \o/ up to 14/19 in that file now
08:28 mathw type check failed for return value, hmm
08:28 moritz might not have been enforced before
08:28 mathw quite probably
08:28 moritz or it's some Seq vs. List vs. Array business or so
08:30 mathw hah
08:30 mathw the sub has returns Str on it
08:30 mathw I took that off and had a look at what actually comes back
08:30 mathw it's a Failure()
08:30 moritz oh
08:30 mathw "can only reduce with arity 2"
08:32 mathw awesome
08:32 mathw removing an old workaround for missing [] metaoperator in rakudo makes it all work
08:33 moritz \o/
08:33 mathw although I'm not quite sure why @thing.reduce: &infix:<~> would fail where [~] @thing doesn't
08:33 mathw \o/ 19/19
08:33 moritz that's certainly LTA
08:34 moritz because &infix:<~> can accept two arguments
08:34 moritz mathw: fwiw @thing.join is probably a lot more efficient
08:34 mathw noted
08:35 moritz though that's also something we should optimize at some point
08:35 mathw ideally they would be the same
08:35 am0c joined #perl6
08:35 mathw fortunately I have a test suite so I can change to .join and try it
08:35 mathw although the other instance is [+
08:35 mathw argh
08:35 mathw [+]
08:35 mathw morning fingers
08:35 moritz well, one has to be careful about such optimizations and user-defined operators
08:35 mathw yes you never know what people are actually going to reduce
08:36 mathw 'ideally' doesn't take much into account regarding the real world's terrifying genericity though :)
08:36 moritz but you can know at compile time if other ~ multis have been added
08:37 moritz nom: say (1, 2, 3).recude: &infix:<~>
08:37 p6eval rakudo 4235df: OUTPUT«Method 'recude' not found for invocant of class 'Parcel'␤  in block <anon> at /tmp/ONZ51Slpks:1␤␤»
08:37 moritz nom: say (1, 2, 3).reduce: &infix:<~>
08:37 p6eval rakudo 4235df: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "can only reduce with arity 2"))␤»
08:38 moritz nom: say &infix:<~>.arity
08:38 p6eval rakudo 4235df: OUTPUT«1␤»
08:38 moritz nom: say &infix:<~>.count
08:38 p6eval rakudo 4235df: OUTPUT«1␤»
08:38 moritz ah, that's wrong
08:39 moritz nom: say &infix:<~>(2, 3)
08:39 p6eval rakudo 4235df: OUTPUT«23␤»
08:39 * moritz submits rakudobug
08:39 mathw no wonder reduce didn't like it
08:41 mathw doing this updating just reminds me how awesome rakudo's got recently
08:42 moritz arity problem reported as [perl #111646]
08:44 moritz nom: proto a(|$) {* }; multi a($) { }; multi a($, $) { }; say &a.arity
08:44 p6eval rakudo 4235df: OUTPUT«1␤»
08:44 moritz nom: proto a(|$) {* }; multi a($, $) { }; say &a.arity
08:44 p6eval rakudo 4235df: OUTPUT«1␤»
08:44 moritz nom: multi a($, $) { }; say &a.arity
08:44 p6eval rakudo 4235df: OUTPUT«1␤»
08:44 moritz eeks
08:44 moritz nom: multi a($a, $b) { }; say &a.arity
08:44 p6eval rakudo 4235df: OUTPUT«1␤»
08:47 moritz nom: sub a($, $) { }; say &a.arity
08:47 p6eval rakudo 4235df: OUTPUT«2␤»
08:47 moritz nom: sub a($, $) { }; say &a.count
08:47 p6eval rakudo 4235df: OUTPUT«2␤»
08:47 moritz nom: sub a($, $) { }; say &a.WHAT
08:47 p6eval rakudo 4235df: OUTPUT«Sub()␤»
08:47 moritz nom: sub a($, $) { }; say &a.candidates
08:47 p6eval rakudo 4235df: OUTPUT«sub a(Any , Any ) { ... }␤»
08:48 moritz nom: sub a(|$) { }; say &a.arity
08:48 p6eval rakudo 4235df: OUTPUT«1␤»
08:48 moritz nom: sub a(|$) { }; say &a.count
08:48 p6eval rakudo 4235df: OUTPUT«1␤»
08:48 moritz that's the real problem
08:51 moritz nom: sub a(:|$) { }
08:51 p6eval rakudo 4235df: OUTPUT«===SORRY!===␤Malformed parameter␤at /tmp/iCjWLmH9jg:1␤»
08:52 moritz nom: sub a(*@a) { }; say .count, .arity given &a
08:52 p6eval rakudo 4235df: OUTPUT«00␤»
08:54 mathw am I supposed to be able to assign an Int to a Num?
08:55 moritz no
08:55 mathw that explains why I can't then :)
08:55 moritz if you want something that can store Int or Num, type the container as Real
08:55 mathw on inspection it looks like the container should be an Int anyway
08:55 moritz or coerce explicitly if you want to store it as floating point always
08:56 mathw not sure why it was a num
08:56 moritz probably because of an old rakudobug
08:56 mathw actually it should be an unsigned int
08:58 mathw \o/
08:58 mathw All tests successful.
08:58 mathw Files=7, Tests=132, 63 wallclock secs ( 0.08 usr  0.02 sys + 60.08 cusr  1.57 csys = 61.75 CPU)
08:58 mathw Result: PASS
08:58 mathw thereare some uninitialized value warnings
08:58 mathw but the semantics are all nice
09:02 mathw and pushed
09:02 mathw form now works again
09:02 mathw fsvo 'works'
09:02 * mathw -> breakfast, paid work etc.
09:02 mathw (commence context shift to C# mode)
09:04 birdwindupbird joined #perl6
09:05 mathw thanks for your help moritz++
09:15 drbean joined #perl6
09:20 moritz you're welcome
09:21 Moukeddar joined #perl6
09:35 jnthn mornin'
09:36 jnthn We have Form working again?! :D
09:36 tadzik good morning
09:36 jnthn That goes into the next Star
09:46 moritz lots of japanese perl6 activity on twitter
10:10 moritz str: loop(1; 2; 3) { }
10:11 moritz star: loop(1; 2; 3) { }
10:11 p6eval star 2012.01: OUTPUT«===SORRY!===␤Confused at line 1, near "loop(1; 2;"␤»
10:11 moritz nom: loop(1; 2; 3) { }
10:11 p6eval rakudo 4235df: OUTPUT«===SORRY!===␤Confused␤at /tmp/9lHQGCtb2L:1␤»
10:12 jnthn nom: loop (1; 2; 3) { }
10:12 tadzik std: loop(1; 2; 3) {
10:12 p6eval rakudo 4235df: OUTPUT«(timeout)»
10:12 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'loop' interpreted as 'loop()' function call; please use whitespace around the parens at /tmp/QBeO3pt7Mo line 1:�------> [32mloop[33m�[31m(1; 2; 3) {[0m�Unexpected block in infix position (two terms in a row) at /tmp/QBeO3pt7Mo…
10:13 moritz thing is, we have a panic that says "whitespace required after loop"
10:13 moritz but we never seem to get there
10:17 moritz and locally that error loops. sigh.
10:18 moritz or maybe not. I'm confused.
10:21 mathw jnthn: yes I realised no commits since 2010 was unacceptable, and the latest rakudo release was so exciting
10:23 tadzik mathw: btw, could you add a META.info to form?
10:24 tadzik the so-so-spec is here: https://github.com/perl6/eco​system/blob/master/spec.pod
10:24 mathw tadzik: sure thing
10:24 tadzik this way we'd be able to install it properly with panda
10:26 * tadzik schoolifies
10:27 masak "The name should not contain any elements indicating that the module is for Perl 6" # good.
10:27 mathw tadzik: done
10:37 masak nom: say "alive"; loop (1; 2) {}
10:37 p6eval rakudo 4235df: OUTPUT«===SORRY!===␤Missing block␤at /tmp/tDphhhHU6F:1␤»
10:38 masak nom: say "alive"; loop (1; 2; 3; 4) {}
10:38 p6eval rakudo 4235df: OUTPUT«===SORRY!===␤Missing block␤at /tmp/VIHCjr723V:1␤»
10:38 masak nom: say "alive"; loop (1; 2; 3) {}
10:38 p6eval rakudo 4235df: OUTPUT«(timeout)alive␤»
10:38 masak nom: loop (1; 2; 3) { last }; say "alive"
10:38 p6eval rakudo 4235df: OUTPUT«alive␤»
10:47 daxim joined #perl6
10:48 moritz http://leaf.dragonflybsd.org/mailar​chive/kernel/2012-03/msg00000.html
10:48 moritz somebody submitted AMDbug :-)
10:51 masak nice.
10:51 masak that's pretty hard code.
10:51 masak core*
10:51 moritz aye
10:52 dalek rakudo/nom: a8086d4 | moritz++ | src/core/ (2 files):
10:52 dalek rakudo/nom: make error reporting more robust
10:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a8086d403b
10:59 Trashlord joined #perl6
11:10 lestrrat joined #perl6
11:13 masak Linus considers it important not to break binary compatibility: https://lkml.org/lkml/2012/3/8/495
11:18 moritz "The *only* reason for an OS kernel existing in the first
11:18 moritz place is to serve user-space. The kernel has no relevance on its own"
11:18 moritz how very true
11:18 mathw A kernel with no userspace would be very dull indeed
11:18 moritz and we can make interesting analogies from there
11:18 moritz about programming languages and users
11:23 masak yeah. 's why I posted it here.
11:30 jnthn Linus has a way of wording things. :)
11:30 jnthn Agree with his points, though. :)
11:32 mathw I can't get lkml.org to load :(
11:33 jnthn It took about 30 seconds or so here.
11:33 mathw maybe my browser's being too impatient
11:35 mathw how strange
11:35 mathw I can't load that URI, but I can browse around and find it via the site's facilities
11:37 mathw and yes, Linus does have a way of wording things
11:37 mathw one gets the impression that he's quite serious about binary compatibility
11:52 birdwindupbird joined #perl6
11:52 NamelessTee joined #perl6
12:09 lumi__ joined #perl6
12:24 domidumont joined #perl6
12:29 HarryS joined #perl6
12:34 mj41 joined #perl6
12:50 mj41 joined #perl6
12:57 bluescreen10 joined #perl6
13:07 mtk joined #perl6
13:14 birdwind1pbird joined #perl6
13:25 [Coke] pugs: 3.Int.say
13:25 p6eval pugs b927740: OUTPUT«*** No such method in class Int: "&Int"␤    at /tmp/H4cNQEhFQh line 1, column 1 - line 2, column 1␤»
13:30 [Coke] au++
13:31 [Coke] I think it's neat that we're pretty close to 40% of the spec tests for pugs with about a 10 line patch so far.
13:32 [Coke] (there's still more tests to pass with no more changes, also.)
13:33 lumi__ joined #perl6
13:42 masak r: sub foo { state $a = 5; state $b = 42; $a++; $b--; say "$a $b" }; foo; foo; foo
13:42 p6eval rakudo a8086d: OUTPUT«6 41␤7 40␤8 39␤»
13:42 masak r: sub foo { state ($a, $b) = 5, 42; $a++; $b--; say "$a $b" }; foo; foo; foo
13:42 p6eval rakudo a8086d: OUTPUT«6 41␤6 41␤6 41␤»
13:43 * masak submits rakudobug
13:43 masak n: sub foo { state ($a, $b) = 5, 42; $a++; $b--; say "$a $b" }; foo; foo; foo
13:43 p6eval niecza v15-4-g1f35f89: OUTPUT«6 41␤7 40␤8 39␤»
13:44 [Coke] pugs: sub foo { state ($a, $b) = 5, 42; $a++; $b--; say "$a $b" }; foo; foo; foo
13:44 p6eval pugs b927740: OUTPUT«6 41␤6 41␤6 41␤»
13:44 [Coke] :(
13:44 * masak submits pugsbug
13:44 [Coke] danke.
13:45 masak p: say "still no 'p' alias?"
13:45 masak moritz: the Society For One-Letter Implementation Consistency or on line 1.
13:45 masak are*
13:46 moritz masak: feel free to install the alias. It's easy.
13:46 * masak tries with minimal clues
13:46 moritz masak: search for the word alias
13:46 moritz inside evalbot.pl
13:47 masak found evalbot repo :)
13:47 masak shh, you're not supposed to help me :P
13:47 moritz :-)
13:47 masak it was easier to inspect the last commit.
13:47 jnthn Hmm
13:47 moritz I misunderstood; I thought you wanted minimal clues from me, ie more than none
13:48 jnthn I guess there must be something curious with the initializer parsing
13:48 jnthn oh, or handling somewhere
13:48 * moritz suspects so too
13:49 jnthn Likely a relatively easy fix.
13:50 * moritz writes a test
13:52 moritz still no new HPMoR chapter :(
13:52 dalek evalbot: 54d4987 | (Carl Mäsak)++ | evalbot.pl:
13:52 dalek evalbot: [evalbot.pl] added a 'p' alias for Pugs
13:52 dalek evalbot: review: https://github.com/perl6/evalbot/commit/54d49874f7
13:53 masak moritz: I'd like to do something nice for LessWrong, but I don't know what.
13:55 moritz evalbot control restart
13:55 p6eval joined #perl6
13:56 masak p: sub foo { state $a = 5; state $b = 42; $a++; $b--; say "$a $b" }; foo; foo; foo
13:56 p6eval pugs b927740: OUTPUT«6 41␤6 41␤6 41␤»
13:56 masak Pugs' bug is deeper than Rakudo's. :)
13:56 JimmyZ joined #perl6
13:57 [Coke] b: say 8204-9050
13:57 p6eval b 1b7dd1: OUTPUT«-846␤»
13:58 [Coke] b: say 8204/9050
13:58 p6eval b 1b7dd1: OUTPUT«0.906519337016575␤»
13:58 Trashlord joined #perl6
14:01 tokuhir__ joined #perl6
14:01 [Coke] ARGLEBARGLE
14:02 JimmyZ perl6: say pi
14:02 p6eval rakudo a8086d: OUTPUT«3.14159265358979␤»
14:02 p6eval ..pugs b927740: OUTPUT«3.141592653589793␤»
14:02 p6eval ..niecza v15-4-g1f35f89: OUTPUT«3.1415926535897931␤»
14:03 tarch joined #perl6
14:04 JimmyZ hmm, rakudo eats last two numbers ?
14:05 dalek roast: 7bbd58b | moritz++ | S04-declarations/state.t:
14:05 dalek roast: state vars with list assignment initializers
14:05 dalek roast: review: https://github.com/perl6/roast/commit/7bbd58b13e
14:05 PerlJam JimmyZ: Is that better or worse than getting the last number wrong like niecza?  :)
14:06 moritz the answer is obviously "yes" :-)
14:06 JimmyZ r: say pi.FatRat
14:06 p6eval rakudo a8086d: OUTPUT«3.14159292035398␤»
14:07 PerlJam yuck
14:07 felher jnthn++ #interesting blog post :)
14:07 JimmyZ I'm sure it's a bug :)
14:07 * moritz isn't
14:07 moritz there isn't one obvious way to convert floating point numbers to rats or fatrats
14:08 moritz and the spec is silent
14:08 moritz r: say pi.FatRat(1e-18)
14:08 p6eval rakudo a8086d: OUTPUT«3.14159265358979␤»
14:08 moritz r: say pi.FatRat(1e-18).perl
14:08 p6eval rakudo a8086d: OUTPUT«FatRat.new(245850922, 78256779)␤»
14:08 moritz r: say pi.FatRat(1e-22).perl
14:08 p6eval rakudo a8086d: OUTPUT«FatRat.new(245850922, 78256779)␤»
14:08 thou joined #perl6
14:08 moritz r: say pi.FatRat(1e-30).perl
14:08 p6eval rakudo a8086d: OUTPUT«FatRat.new(245850922, 78256779)␤»
14:09 JimmyZ r: constant pi is export = 3.14159_26535_89793_23846_26433_83279_50288; say pi.Str
14:09 p6eval rakudo a8086d: OUTPUT«3.14159265358979␤»
14:09 JimmyZ this one should be a bug, perl S02
14:09 JimmyZ *per
14:09 PerlJam 20 digits of pi is more than enough  ;)
14:09 [Coke] seen ingy?
14:09 aloha ingy was last seen in #parrot 14 days 19 hours ago joining the channel.
14:09 moritz JimmyZ: why exactly?
14:10 moritz eeks
14:10 moritz "Any rational literal that would overflow a Rat64 in the numerator is also stored as a string."
14:10 moritz erm
14:10 moritz eeks.
14:10 [Coke] moritz: is the title of RT # 111646 correct?
14:11 JimmyZ moritz: S02 says ' say pi.FatRat; # 3.14159265358979323846264338327950288'
14:11 moritz [Coke]: could easily be generalized
14:11 moritz JimmyZ: you're right, it's NYI
14:11 [Coke] just seems like you said you wanted A, and it gave you... A.
14:12 moritz [Coke]: updated the title, thanks
14:18 felher jnthn: interesting. The idea of building a string by gather-take is quite cool (your GPW slides)
14:18 PerlJam felher: gather/take is quite cool :)
14:18 felher PerlJam: it sure is :)
14:20 felher PerlJam: especially because take gathers to gather in the dynamic scope. I like that alot :)
14:20 PerlJam yep
14:29 skids joined #perl6
14:31 masak nom: constant seq = 1, 2 ... *; constant seq2 = seq[0, 2 ... *]; say "alive"
14:31 p6eval rakudo a8086d: OUTPUT«(timeout)»
14:31 masak Things: not perfect yet.
14:32 masak niecza: constant seq = 1, 2 ... *; constant seq2 = seq[0, 2 ... *]; say "alive"
14:32 p6eval niecza v15-4-g1f35f89: OUTPUT«alive␤»
14:32 masak niecza: constant seq = 1, 2 ... *; constant seq2 = seq[0, 2 ... *]; .say for seq2[ ^10 ]
14:32 p6eval niecza v15-4-g1f35f89: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.Kernel.ToComposable (Niecza.STable arg, Niecza.STable cls) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.ApplyRoleToClass (Niecza.ST…
14:32 masak bwhahaha
14:32 * masak submits nieczabug
14:32 * felher really liked jnthn's Meta-Slides :)
14:34 masak felher: jnthn++ has a real knack for implementing stuff in Rakudo, and then making talks about awesome things the stuff can be used for.
14:35 felher masak: yeah, indeed :)
14:35 jnthn masak: Is that bug to do with constant per se?
14:35 fsergot o/
14:35 fsergot :)
14:36 jnthn masak: Or is it a general sequence-y issue?
14:39 slavik1 joined #perl6
14:40 masak nom: .say for (1, 2 ... *)[0, 2 ... *][^10]
14:40 p6eval rakudo a8086d: OUTPUT«(timeout)»
14:40 masak it's a general sequence-y issue.
14:40 jnthn phew
14:40 jnthn OK
14:40 masak :)
14:41 jnthn I mean, it sucks, but it being specific to constants woulda really sucked :)
14:41 masak :)
14:41 masak let me be clear. rakudo these days is frickin' awesome.
14:41 masak totally mindblowingly awesome.
14:42 masak when things like the above work, it'll be even more awesome, and I'll need to find new superlatives.
14:43 PacoAir joined #perl6
14:47 moritz indexing is eager
14:47 moritz it returns a Parcel, and Parcels are eager
14:48 masak oh!
14:48 masak so, feature, not bug.
14:49 masak so I basically need to &map and index individually.
14:49 moritz yes
14:50 masak nom: .say for (map { next if (++state $x) %% 2 }, (1, 2 ... *))[ ^10 ]
14:50 p6eval rakudo a8086d: OUTPUT«(timeout)»
14:50 masak hm.
14:50 masak nom: .say for (grep { ++state $x %% 2 }, (1, 2 ... *))[ ^10 ]
14:50 p6eval rakudo a8086d: OUTPUT«2␤4␤6␤8␤10␤12␤14␤16␤18␤20␤»
14:50 masak \o/
14:50 masak messed up the semantics, though :)
14:50 masak nom: .say for (grep { ++state $x % 2 }, (1, 2 ... *))[ ^10 ]
14:50 p6eval rakudo a8086d: OUTPUT«1␤3␤5␤7␤9␤11␤13␤15␤17␤19␤»
14:51 masak nom: .say for ([\*] 1 ... *)[^10]
14:51 p6eval rakudo a8086d: OUTPUT«1␤2␤6␤24␤120␤720␤50​40␤40320␤362880␤3628800␤»
14:53 flussence nom: .say for 1 X. <sin cos>
14:53 p6eval rakudo a8086d: OUTPUT«===SORRY!===␤Confused␤at /tmp/zfeHFoPPeH:1␤»
14:54 flussence I wonder if there's a shorthand way to apply a bunch of methods that works...
14:54 moritz nom: .say for <sin cos>.map: { 1."$_"() }
14:54 p6eval rakudo a8086d: OUTPUT«0.841470984807897␤0.54030230586814␤»
14:55 masak nom: say 1.&$_ for &sin, &cos
14:55 p6eval rakudo a8086d: OUTPUT«0.841470984807897␤0.54030230586814␤»
14:55 jnthn nom: 1.$(all <sin cos tan>)().say
14:55 p6eval rakudo a8086d: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/C0HbuqXWHM:1␤»
14:55 jnthn aww
14:55 moritz nom: say 1.$_ for &sin, &cos
14:55 p6eval rakudo a8086d: OUTPUT«0.841470984807897␤0.54030230586814␤»
14:55 moritz no need for another & in there
14:55 masak ah, troo
14:56 jnthn std: 1.$(all <sin cos tan>)().say
14:56 p6eval std 1ad3292: OUTPUT«ok 00:01 110m␤»
14:56 jnthn Hmm. :)
14:56 [Coke] jnthn++
14:57 jnthn nom: say 1."&all(<sin cos tan>)"()
14:57 p6eval rakudo a8086d: OUTPUT«This type cannot unbox to a native string␤  in block <anon> at /tmp/obnSIcuTtJ:1␤␤»
14:57 jnthn hehe :)
14:59 masak you just tried to do a method call with a junction instead of a method :P
14:59 masak which... could've worked, I guess.
14:59 [Coke] one of the things AI've noticed trying to fudge pugs is that if there is an ok and a junction, i get tests back in the wrong order and/or too many tests.
14:59 bluescreen10 joined #perl6
14:59 [Coke] er, I! not AI. ahem.
15:00 masak call in the Turing police.
15:00 [Coke] I wonder if this means the tests are written incorrectly.
15:00 [Coke] (as there is at least one file where there is a "jok" function to avoid that exact sort of thing.)
15:06 moritz [Coke]: Test.pm functions aren't supposed to autothread
15:08 masak then why is &jok needed?
15:08 colomon joined #perl6
15:08 moritz maybe it's a fossil
15:14 bluescreen10 joined #perl6
15:15 pernatiy joined #perl6
15:25 flussence .oO( &joke )
15:35 alester joined #perl6
15:38 * masak decommutes
15:43 colomon joined #perl6
15:48 GlitchMr joined #perl6
15:50 Psyche^ joined #perl6
16:00 NamelessTee joined #perl6
16:03 wolfman2000 joined #perl6
16:10 bluescreen10 joined #perl6
16:11 jnthn beer &
16:11 MayDaniel joined #perl6
16:19 betterworld joined #perl6
16:19 jerome_ joined #perl6
16:28 TimToady moritz: where did you ever get the idea that Parcels are eager?  the whole *point* of Parcels is to be lazy
16:29 TimToady and the point of LoLs is to enable N-dimensional lists for subscripts, each of which can be lazy
16:34 moritz TimToady: in at least one of the listy spec iterations
16:35 TimToady I think there's some confusion somewhere; Parcels are constructed eagerly, but if you have a lazy list as a parcel, it's incorporated lazily
16:36 TimToady you never trigger an eager till something binds it that way
16:36 TimToady s/as a/as part of a/
16:36 TimToady (1,2,foo()) calls foo eagerly, but if foo returns a list, it's just a list in the parcel, not eager
16:37 TimToady 2,4,6 ... * is just a foo returning a lazy list that gets incorporated uneagerly into the list that is the subscript
16:38 kaare_ joined #perl6
16:40 TimToady I foresee that we'll need to be very careful to test that different implementations do not subtly introduce eager assumptions different from other implementations
16:41 TimToady it's very easy to mis-assume something should be eager because that's our heritage
16:41 TimToady and the assumption can be rather insidiously buried deeply in the guts of an implementation
16:42 PerlJam (test suites)++
16:42 TimToady it can be a little hard to test, given that we allow mostly-lazy to work ahead in batches
16:44 TimToady but working ahead in an Inf-sized batch seems a bit suboptimal in this case :)
16:45 fsergot joined #perl6
16:47 * [Coke] imagines an eager compiler as a little ocd. "wait, let me get all these elements /first/, and /then/ I can do what you want."
16:47 TimToady (Also, I'm not saying that we should never have eager subscripting, just that it's certainly inappropriate when we know we have an infinite subscript on an list of indeterminate size.)
16:47 betterworld joined #perl6
16:49 moritz well, one big problem with testability of laziness is that the spec isn't very explicit about how lazy stuff needs to be
16:49 PerlJam moritz: the default assumption should be maximally lazy I think :)
16:50 tadzik 'afternoon
16:50 TimToady moritz: it's hard to be more explicit than S02:2416
16:51 tadzik mathw: do you have access to perl6/ecosystem repo?
16:55 onahu joined #perl6
16:56 moritz TimToady: I meant more in general
16:57 moritz do we spec that stuff is always as lazy as possible?
16:58 moritz for example if S02:4668-4676 apply generally (stuff is allowed to be produced/processed in batches), it's nearly impossible to test
17:00 TimToady I just said that
17:00 dalek ecosystem: 16dcba1 | tadzik++ | / (2 files):
17:00 dalek ecosystem: Add mathw++'s form, remove it from SHELTER
17:00 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/16dcba1790
17:01 onahu Is there a Win32 package for Rakudo 2012.01 or 2012.02?  I don't see a parrot-rakudo addon on sourceforge.
17:02 colomon maybe we need eval_doesnt_hang for Test.pm
17:05 moritz TimToady: did you? sorry, then I didn't understand you
17:05 moritz TimToady: could you please try it again, with different words?
17:05 moritz colomon: and require threads or signals for Test.pm?
17:06 moritz colomon: doesn't sound very friendly to not-so-advanced compilers
17:06 colomon moritz: yeah, that's the tricky bit
17:06 moritz like, uhm, rakudo
17:06 colomon moritz: BTW:
17:06 colomon TimToady: it can be a little hard to test, given that we allow mostly-lazy to work ahead in batches
17:06 colomon [11:44am] TimToady: but working ahead in an Inf-sized batch seems a bit suboptimal in this case
17:06 colomon (is what he meant by "just said that")
17:07 moritz oh
17:07 moritz 17:42 < TimToady> it can be a little hard to test, given that we allow  mostly-lazy to work ahead in batches
17:07 moritz that's the line I missed
17:07 moritz I just think that "little hard" is an understatement
17:08 colomon It's not really very different from the (1..100000000000).pick test, is it?
17:09 moritz which is also very non-optimal
17:10 moritz huh, we have both .pretty and .gist methods
17:11 [Coke] in case onahu comes back, I don't think anyone here is maintaining any perl6 resources on sourceforge.
17:11 [Coke] and .Str. And .perl
17:12 moritz and .Stringy
17:12 moritz I'm not sure if .Stringy is used correctly in rakudo
17:13 moritz in many places we assume that we can unbox its return value as a native str
17:15 mathw tadzik: I do not.
17:19 onahu joined #perl6
17:19 [Coke] so that's.. 5 different ways to do /almost/ the same thing. Must be perl. ;)
17:20 moritz mathw: what's your github ID?
17:21 * [Coke] wonders if mathw is pronounced like "matthew"
17:22 PerlJam moritz: looks like it's "mathw"  :)
17:22 moritz ah, well
17:22 moritz hugme: add mathw to perl6
17:22 * hugme hugs mathw. Welcome to the perl6 github organization
17:22 moritz mathw: now you have access to the ecosystem :-)
17:22 moritz and... all the rest :-)
17:22 moritz ever wanted to fix a typo in the spec? now you can
17:24 onahu Thanks, Coke.
17:25 mathw [Coke]: it is
17:25 mathw cheers
17:25 mathw I may still not be very active
17:25 mathw but I'm going to at least try to keep Form up to date
17:30 Vlavv_ joined #perl6
17:31 * [Coke] yays at the automagic spectestruns!
17:32 * [Coke] wonders if there's a way to unlock his password for the ssh keyfile and have it stay active longer than a single use on feather.
17:34 flussence [Coke]: there's a few different ways around that, depending on what you're doing over ssh
17:35 [Coke] git
17:36 flussence IIRC ssh-agent is supposed to handle key password persistence, and gpg-agent provides a superset of the functionality...
17:36 flussence (I'm too lazy to set up either properly :)
17:41 fsergot joined #perl6
17:47 PerlJam *sigh*  The only thing that still really bothers me about rakudo is the execution speed.  I wrote a simple script to parse some data and started it about 30 minutes ago.   In the mean time I ported the script to Perl 5 and executed it and it ran in about 2 seconds.
17:47 PerlJam The rakudo version is still runnning (in case that wasn't clear)
17:47 flussence sounds like a good candidate for --profile
17:51 TimToady http://rosettacode.org/wiki/Langton%27s_ant#Perl_6 is a fun program
17:52 TimToady note that one runs about 19 times faster in niecza than rakudo...
17:52 TimToady afk &
17:56 PerlJam okay, the only *other* thing that still bugs me about rakudo is that I need to vivify parts of my multi-dimensional data structure manually.
17:56 PerlJam :-)
17:56 moritz all of us had hoped that pmichaud++ would return and do autovivification, so that we don't have to
17:59 PerlJam okay, so Niecza took about 13 minutes to do execute my simple "parse lines and count stuff" script.  I guess that means I should expect rakudo to take about 377 minutes
18:00 fglock joined #perl6
18:00 * PerlJam kills the rakudo program
18:01 * fglock inspects a dead rakudo
18:01 * geekosaur wonders how much of that is rakudo's fault and how much is parrot's
18:05 thou joined #perl6
18:11 mj41 joined #perl6
18:14 mucker joined #perl6
18:14 Chillance joined #perl6
18:17 [Coke] +# 03/09/2012 - rakudo++ ; niecza (96.24%); pugs (38.88%)
18:17 [Coke] +"niecza",     20307,     1,   757,  1540, 22604, 23759
18:17 [Coke] +"pugs"  ,      8205,     0,  3014,  1333, 12552, 23568
18:17 [Coke] +"rakudo",     21099,    31,   626,  1888, 23478, 24026
18:17 * mikemol looks at the langton's ant output, and suspects Rorschach would have been amused...
18:17 [Coke] PerlJam: does your script run in pugs? ;)
18:18 PerlJam doubtful :-)
18:19 PerlJam actually ... I don't know how much regex stuff pugs supported, so ... mayube
18:19 PerlJam er, maybe
18:20 [Coke] pugs is still pretty fast.
18:20 PerlJam oh, but some of the syntax changes since pugs was last updated would scuttle it
18:20 PerlJam hold on a sec, I'll paste the entire program.
18:20 [Coke] perljam, ah, very likely
18:21 PerlJam https://gist.github.com/2007874
18:22 [Coke] speaking of rorshach, I need to re-read the watchmen.
18:22 [Coke] *hurm*
18:22 PerlJam that little program was just for reading and parsing a 22meg file.
18:23 [Coke] *** No such method in class IO: "&lines"
18:23 [Coke] ah wells. ;
18:23 [Coke] ;)
18:24 PerlJam I wonder if pugs supports the for =<> -> $line { ... }  notation
18:24 PerlJam does pugs run on feather?
18:25 PerlJam I mean, can I get to an executable easily without having to build it myself
18:25 PerlJam ?
18:28 [Coke] PerlJam: you can borrow ~coke/sandbox/Pugs.hs/perl6 for a little while.
18:30 PerlJam hrm.   I can run pugs from the command line, but it's different from coke-pugs
18:30 au PerlJam: it's from au-pugs
18:30 phenny au: 08 Mar 20:13Z <[Coke]> tell au that https://github.com/perl6/Pugs.hs/issues/6 is another one that might get us a large number of unrelated tests. Any pointers on where to look for the grammar of a sub name?
18:30 au $ ls -l /usr/bin/pugs
18:31 au lrwxrwxrwx 1 root 31 Mar  9 19:30 /usr/bin/pugs -> /home/audreyt/Pugs.hs/Pugs/pugs*
18:31 GlitchMr perl6: note 2+2
18:31 au should be identical
18:31 p6eval rakudo a8086d, niecza v15-4-g1f35f89: OUTPUT«4␤»
18:31 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&note"␤    at /tmp/MG2ZtXcjeZ line 1, column 1 - line 2, column 1␤»
18:32 PerlJam au: I figured.  The copyright notice on the repl for one says 2005-2012 and the other says 2005-2011
18:32 birdwindupbird joined #perl6
18:33 PerlJam anyway ... lunch & bbl
18:34 felher I like http://rosettacode.org/wiki/Langton%27s_ant#Perl_6 , but is there a reason its using 'gather for ... { take .... }' instead of 'do for ...'?' Matter of Taste? Some difference i don't see?
18:34 dalek Pugs.hs: 43d7ae3 | au++ | Pugs/src/Pugs/Lexer.hs:
18:34 dalek Pugs.hs: * Fix issue #6 allowing dash in identifiers.
18:34 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/43d7ae3302
18:34 colomon \o/
18:35 flussence felher: gather-take is lazier, afaik. It avoids having to build up a giant list to pass to join
18:35 [Coke] au: ~~
18:35 [Coke] nom: my $au; $au: ~~
18:35 p6eval rakudo a8086d: OUTPUT«===SORRY!===␤Confused␤at /tmp/jC0k2zVjJR:1␤»
18:35 [Coke] ok, good. ;)
18:36 zby_home_ joined #perl6
18:36 [Coke] au: pugs is now up to 8205 passing tests, 38.88% of rakudo's total.
18:36 felher flussence: ah, good point. Yes, that might be it :)
18:37 bluescreen10 joined #perl6
18:37 [Coke] OH!
18:37 [Coke] I missed 43d7ae3 in the scroll! au++
18:37 au [Coke]++ for all the fudge work
18:37 [Coke] eh, that's just monkey work. easy peasy.
18:38 [Coke] but np. ;)
18:38 dalek Pugs.hs: 2be586f | au++ | Pugs/src/Pugs/Version.hs:
18:38 dalek Pugs.hs: * dev version should be marked as such. also update copyright years.
18:38 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/2be586f615
18:38 benabik [Coke]: Good Coke, want banana? ;-)
18:39 fsergot joined #perl6
18:39 [Coke] ook.
18:39 skids you mean [ook.]?
18:39 [Coke] PerlJam: I may have just rebuilt pugs out from underneath you.
18:40 au [Coke]: ain't collaboration great in that each of us gets to pick easy-peasy work :) # fudging is definitely not easy-peasy for me, at least not yet...
18:40 [Coke] colomon: so, how is one supposed to fudge generated trig spec test files? ;)
18:40 [Coke] au: hai.
18:41 colomon ooooo, that's tricky
18:41 colomon ideally you add the fudges to the test file generator
18:41 au >>= sleep &
18:41 moritz .oO( with patience )
18:41 colomon [Coke]: if you tell me how to fudge them, I can take a stab at it here -- more teamwork.  ;)
18:43 [Coke] colomon: I think au++'s patch needs a smidge more work. when I figure out what I need to do, I'll let you know.
18:43 [Coke] pugs: module Test-0.0.8;
18:44 p6eval pugs b927740:  ( no output )
18:44 [Coke] (locally, says: Unexpected ".")
18:44 moritz uhm, does that patch allow - at the boundaries of identifiers?
18:44 [Coke] au++, colomon++ #back to work here.
18:44 moritz nom: a-0
18:44 p6eval rakudo a8086d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&a' called (line 1)␤»
18:45 [Coke] moritz: to be fair, my request in the ticket was super vague. ;)
18:48 felher nom: say (gather for ^100 { sleep 0.1; take $_; })[0];
18:48 p6eval rakudo a8086d: OUTPUT«0␤»
18:48 felher nom: say (do for ^100 { sleep 0.1; $_; })[0];
18:49 p6eval rakudo a8086d: OUTPUT«0␤»
18:49 felher Well, i hoped for a timeout, but it seems you were right, flussence :)
18:49 Jerkwad joined #perl6
18:50 felher nom: say (do for ^10000 { sleep 0.1; $_; })[0];
18:50 p6eval rakudo a8086d: OUTPUT«(timeout)»
18:50 felher \o/
18:50 moritz note that this is a current rakudo limitation
18:51 felher moritz: it is? 'do for' is specced as lazy, too?
18:51 flussence .oO( whoa, I actually figured out gather/take?! )
18:51 moritz felher: well, for loops in general should be... except when they are in sink context
18:53 felher moritz: so, as soon as those loops  are lazy in rakudo, '(do for ...)[0]' will be lazy, too?
18:54 moritz felher: yes
18:55 felher moritz: ah, okay, thanks :)
18:55 moritz but making that work isn't trivial
18:55 felher n: say (do for ^10000 { sleep 0.1; $_; })[0];
18:55 p6eval niecza v15-4-g1f35f89: OUTPUT«(timeout)»
18:55 moritz n: say do for 1..10 { $_ }
18:55 p6eval niecza v15-4-g1f35f89: OUTPUT«Nil␤»
18:55 moritz niecza doesn't collect the retun values of loops at all
18:56 felher Ah, i see :)
18:56 moritz it cheats differently than rakudo does :-)
18:58 felher That also explains why http://rosettacode.org/wiki/Langton%27s_ant#Perl_6 doesn't use 'do'. It doesn't work in niecza at the moment.
19:00 Trashlord joined #perl6
19:03 dalek Pugs.hs: c8f18cf | au++ | Pugs/src/Pugs/ (2 files):
19:03 dalek Pugs.hs: * Rather crude patch to disallow dash in module name components.
19:03 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/c8f18cf845
19:04 au ⇧ for [Coke]++
19:05 moritz the real fix is to allow - and ' only between letters
19:05 au aye, tried that
19:07 fsergot joined #perl6
19:08 dalek Pugs.hs: b654984 | au++ | Pugs/src/Pugs/Lexer.hs:
19:08 dalek Pugs.hs: * apostrophe in idents too
19:08 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/b65498403d
19:10 dalek Pugs.hs: bc264ae | au++ | Pugs/src/Pugs/Lexer.hs:
19:10 dalek Pugs.hs: * apostrophes in modules names are just fine.
19:10 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/bc264aec2c
19:10 * [Coke] rebuilds and tries again.
19:10 [Coke] au++
19:11 [Coke] au: try : for each(@num1; @num2) -> $a, $b { }
19:12 [Coke] pugs: user error (*** unknown parse error at Pugs/ext/Test/lib/Test.pm line 249, column 30
19:13 p6eval pugs b927740: OUTPUT«*** ␤    Unexpected "***"␤    expecting expression or ")"␤    at /tmp/tl7oYAi6GC line 1, column 13␤»
19:13 au yeah.
19:13 au & for real this time :)
19:15 [Coke] ~~
19:23 dalek Pugs.hs/wip/ident: 4a341a7 | au++ | Pugs/src/Pugs/Lexer.hs:
19:23 dalek Pugs.hs/wip/ident: * implements the proper ident semantic but runs into the many/many parsec error; improvements welcome before mergine
19:23 dalek Pugs.hs/wip/ident: review: https://github.com/perl6/Pugs.hs/commit/4a341a7302
19:32 lateau_ joined #perl6
19:36 Vespakoen joined #perl6
19:37 Vespakoen Hey guys! =) Every time i google for CQRS perl6 seems to pop up sometimes, does Perl have a close relationship with CQRS somehow?
19:37 felher moritz: one more question, if you don't mind: I just read the spec on gather/take and it says that gather evaluates its statement or block in sink context. Doesn't that imply that 'gather for' isn't lazy, because the for-loop isn't lazy in sink?
19:38 moritz Vespakoen: there are just one or two Perl 6 developers that are also very interested in CQRS
19:38 moritz felher: that sounds odd.
19:39 Vespakoen Ah I see, cool, who are they ? =)
19:39 felher moritz: yeah. I just noticed that it doesn't seem to be what you said before, but i wan't sure if i justed missed something :)
19:41 moritz Vespakoen: masak, and I think jnthn also a bit
19:41 felher moritz: i have to go and catch the bus. But i will backlog, if you wan't so may more on the matter :)
19:41 * felher -> afk
19:41 felher *want
19:42 lateau_ left #perl6
19:42 Vespakoen moritz, allright, thanks mate!
19:46 localhost joined #perl6
19:47 fglock joined #perl6
19:47 dalek rakudo/sink2: cdde942 | moritz++ | src/Perl6/Sinker.pm:
19:47 dalek rakudo/sink2: use more in-place editing in the sinker, and start to flag whether to sink the last statement
19:47 dalek rakudo/sink2: review: https://github.com/rakudo/rakudo/commit/cdde942dc7
19:47 fglock yay! perlito5 got regexes
19:48 doy perl regexes, or javascript regexes?
19:48 fglock javascript regexes - but I've got the parser working, so I can replace later
19:49 fglock also works with arbitrary delimiters; http://perlcabal.org/~fglock/perlito5.html
19:50 fglock (though the slash is special in javascript)
19:53 fglock translating perl5 regexes to javascript regexes would be ... interesting
19:53 masak moritz++ # for passing Verspakoen on to me
19:53 ksi joined #perl6
19:54 Trashlord joined #perl6
19:55 fglock hmm - /e looks doable
20:37 raiph joined #perl6
20:57 sorear good * #perl6
20:57 masak sorear! \o/
20:59 sorear o/ masak
21:00 pernatiy joined #perl6
21:02 colomon o/
21:11 y3llow joined #perl6
21:11 bruges joined #perl6
21:13 fglock o/
21:13 y3llow joined #perl6
21:15 y3llow joined #perl6
21:18 y3llow joined #perl6
21:18 * [Coke] wonders how fast rakudo will build on a dual core i7 macbook air.
21:18 * [Coke] times it (post nqp/parrot build.)
21:19 * flussence guesses 14½ minutes
21:19 tadzik naah, it's shorter here on core2duo
21:19 * [Coke] guesses much faster.
21:19 flussence oh, rakudo on its own... 6½
21:20 pyrimidine got a quad core i7 I can test on
21:21 pyrimidine can I call a parallel build with 'perl Configure.pl'?
21:22 [Coke] there
21:22 [Coke] 's a parrot-option, but that's configure only.
21:22 [Coke] real: 4m18.247s
21:23 * [Coke] may stop running the testing stuff on feather. ;)
21:23 * flussence just realised my test graph thing has never had parallel make for the parrot-building step...
21:24 pernatiy joined #perl6
21:25 pyrimidine timing just rakudo build?  Or from a clean checkout (nqp, parrot, rakudo)?
21:26 moritz flussence: perl Configure --gen-parrot --make-option=-j5
21:26 moritz that's a fairly new option
21:26 yeltzooo joined #perl6
21:26 flussence oh, that'd explain
21:27 [Coke] pyrimidine: that is rakudo after nqp/parrot is build.
21:27 [Coke] I can try it again with the make-option above for MOAR.
21:28 Vespakoen joined #perl6
21:28 moritz MOAR CORES!
21:28 moritz you can also configure parrot to compile with ccache
21:31 pyrimidine moritz: is that supposed to be --parrot-make-option?
21:32 moritz well, make options for rakudo would be passed to make, not to Configure.pl
21:33 moritz and I suppose we could re-use them for gen-nqp too
21:34 pyrimidine just ran a clean checkout for rakudo, getting 'Unknown option: make-option'
21:34 pyrimidine but I'm in nom
21:35 [Coke] nom is the correct branch.
21:37 masak https://github.com/perl6/Pugs.hs/commit/43d7ae3302 adds dashes but forgets apostrophes. :)
21:37 masak oh, but later commits fix that. au++
21:38 * fglock looks around niecza source code
21:39 pyrimidine real      3m6.634s
21:39 sorear hello, fglock
21:40 fglock hi
21:40 [Coke] masak: it's still not quite right.
21:40 [Coke] (we can't parse Test.pm, e.g.)
21:41 fglock I wonder how much code it takes to have a simple perl5 in dotnet - and if that's useful at all
21:43 masak I think this is the first time in many years that au++ goes to sleep, and then a commit appears. :)
21:43 masak on the #perl6 channel, I mean.
21:47 bynari Is TimToady Larry?
21:47 sorear bynari: yes
21:47 Tene bynari: Yes.
21:47 sorear au sleeps?
21:47 moritz no, just an amazing copy :-)
21:48 bynari Ah. I had absolutely no clue that was Larry when I was talking to him the other day!
21:48 bynari I've been around IRC since 1999 and I've never encountered Larry
21:48 sorear he's a pretty cool guy
21:48 * bynari feels star struck
21:48 sorear you'll get over it.
21:48 bynari :)
21:48 sorear (hi, I'm sorear, I hear I'm famous?0
21:49 moritz star: say 'strike bynari'
21:49 p6eval star 2012.01: OUTPUT«strike bynari␤»
21:49 moritz now you're truely star struck :-)
21:49 bynari Hahahaha
21:49 masak I'm having a deja vu over this conversation.
21:50 masak didn't someone feel star struck just the other day over finding out that TimToady is Larry Wall?
21:50 * [Coke] certainly did when I found it out.
21:50 PerlJam "star struck"?  was that a pun?
21:50 [Coke] and again when I sat next to him at a yapc or 2.
21:50 * [Coke] is over it now.
21:50 [Coke] nom: say "eat me"
21:50 p6eval rakudo a8086d: OUTPUT«eat me␤»
21:51 masak [Coke]: yeah, same here. mostly.
21:51 * TimToady too
21:51 pyrimidine :)
21:51 PerlJam the only thing that strikes me is that TimToady is the wisest non-bearded person I've met so far
21:52 TimToady well, my main attribute is just being more stubborn than anyone else...
21:52 masak I sometimes find it fun to be extra *in*formal at/with TimToady because I know he's Larry Wall. maybe that counts as being star unstruck... :)
21:52 bynari I don't think it's intended to be a pun, PerlJam, nope
21:53 PerlJam bynari: bummer, it could have been a good one.
21:53 TimToady the unintentional puns are often the best
21:53 masak bynari: you have one more chance to make a proper pun. no pressure.
21:53 PerlJam heh
21:53 pyrimidine so, with Rakudo on Macbook quad core i7, with 'time make -j 4', I get ~3m
21:53 bynari Rakudo Star struck?
21:54 masak bynari: right... that's the one we thought you made in the first place :P
21:54 bynari Great. Do I get my cookie?
21:54 * masak hands a cookie to bynari
21:54 bynari Thanks!
21:54 [Coke] pyrimidine: nice.
21:55 pyrimidine testing on SGI-Altix now :)
21:55 sftp joined #perl6
21:55 * [Coke] installs mono and drags in half of macports.
21:55 pyrimidine yeah, I hate that about macports
21:56 moritz is that a feature of mono, or of macports?
21:58 benabik ports, probably.
21:58 benabik homebrew is the only Mac package manager I've found that doesn't try to install everything under the sun.
21:58 * benabik installs Mono via package though.
21:59 pyrimidine yeah, macports has a tendency to install specific versions of things (instead of a min version)
21:59 icwiener joined #perl6
21:59 geekosaur homebrew still has the quaint notion that it can safely use system and other libraries.  this is sometimes true for very clean installs, but when it's false the reuslts are horrifying
21:59 [Coke] pyrimidine: (min version) well, I only just got this box, so any version takes time.
22:00 pyrimidine true
22:00 geekosaur in any case mono depends on X11 (drags in a whole lot of stuff since it builds a known good version) and indirectly via libgdiplus it drags in cairo (gnome.  'nuff said)
22:00 pyrimidine i hate it when it decides to install multiple versions of perl/python/ruby/etc depending on the port
22:00 [Coke] heh. I /just/ got to cairo. ;)
22:01 [Coke] pyrimidine: eh. I treat those like the system perl and just never touch 'em. is frustrating, though.
22:01 geekosaur they're working on that.  perl should be substantially fixed at this point, python is work ongoing
22:01 pmurias joined #perl6
22:01 pyrimidine [Coke]: yeah, me too
22:01 pmurias hi
22:01 sorear how long does X11 take to build?
22:02 doy cairo doesn't depend on gnome here
22:02 masak pmurias! \o/
22:02 doy don't really see why it should
22:02 sorear I know that back in the day X11's "make World" was the quintessential example of "run this if you want to not do anythign else on your computer for the next week"
22:02 pyrimidine heh
22:02 sorear hello pmurias.
22:02 pmurias fglock: one benefit of having perlito5 on dotnet would be easy integration with niecza
22:03 flussence sorear: it's gotten much better since X.Org took over development and split everything into sane-sized modules :)
22:03 flussence (the X server takes about 2 minutes on my machine, rakudo's make just took 4:11)
22:04 doy back when i ran gentoo, compiling openoffice was a good order of magnitude longer than x11
22:05 flussence oof, I installed that by accident once. Left the machine overnight, came back to find I'd installed openoffice instead of openoffice-bin. It took around 9 hours :)
22:05 flussence (this was on an old P4 though, not the quad core one I'm on now...)
22:07 geekosaur no, it's part of gnome, but as such it drags in a bunch of stuff (not as much as the higher layers of gnome but still)
22:07 fglock pmurias, sorear: I'm looking for a start point
22:08 fglock does niecza generate C# ?
22:08 doy the only thing it drags in that's "part of gnome" is glib2
22:08 fglock how do you do eval()
22:08 pmurias fglock: niecza generates nam (docs/nam.pod)
22:09 fglock looking
22:09 pmurias fglock: which is then compiled to .net bytecode by a backend written in C#
22:11 pmurias sorear: how does look at the name generated from a p6 program?
22:11 pmurias s/name/nam/
22:12 fglock I've just got mono installed - but now sleep &
22:13 pmurias g'night
22:14 masak 'night, pmurias. dream of brain bytecode generated by a backend of neurons.
22:15 sorear pmurias: NIECZA_TRACE_DOWNCALLS and look for the sub_finish calls
22:16 sorear bah, I missed fglock ... hopefully will be back
22:21 pmurias sorear: he is much more often on the channel nowdays
22:25 pmurias sorear: how would i feed nam to the nam2bytecode compiler?
22:31 sorear Look at sub_finish in CodeGen.cs
22:32 sorear nam code only exists for subs, not other objects
22:32 sorear other objects are created by the compiler using a communicative protocol
22:32 masak GPW talks now uploaded and available at http://feather.perl6.nl/~masak/
22:32 sorear you can't separate the stages anymore because of BEGIN
22:32 * sorear afk
22:33 Vespakoen joined #perl6
22:34 pmurias sleep&
22:43 Vespakoen joined #perl6
22:45 * masak misses mberends
23:25 skids joined #perl6
23:48 felher hihi, there is no spoon :)
23:49 masak an oblique way of saying that we don't have to do any gensymming, because the right thing mostly just falls out of correct fiddling with OUTERs.
23:51 felher masak: do you know if there will be any videos? I'd really like to see/hear your talk :)
23:51 masak there weren't any video recorders that I could see.
23:51 syslq__ joined #perl6
23:51 felher What a pitty :/
23:51 syslq__ left #perl6
23:52 masak yeah.
23:52 masak do sign up for FPW or YAPC::EU this year, though.
23:52 masak then you'll see better versions of the same talk ;)
23:53 felher :D
23:55 felher masak++ #talk/slides/macro hacking
23:55 * felher bed
23:55 felher 'night, #perl6
23:58 icwiener joined #perl6
23:59 masak 'night, felher. dream of videos of people's talks.
23:59 masak I'll also say 'night, #perl6
23:59 felher masak: i sure will ;)

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

Perl 6 | Reference Documentation | Rakudo