Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-01-18

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:07 kaare_ joined #perl6
00:45 jnap joined #perl6
00:58 jeffreykegler joined #perl6
01:00 skids joined #perl6
01:01 logie joined #perl6
01:06 logie joined #perl6
01:09 raiph joined #perl6
01:19 BenGoldberg Surely the evalbot could be changed to write the file before calling the perl6es to evaluate it's contents, no?
01:26 Sqirrel_ joined #perl6
01:28 Sqirrel joined #perl6
01:32 Mouq joined #perl6
01:46 Sqirrel joined #perl6
01:54 jnap joined #perl6
01:59 japhb Is there a portable way to find out when a JVM process started, and can that info be made available to r-j?
02:03 BenGoldberg According to stackoverflow:
02:03 BenGoldberg long jvmUpTime = ManagementFactory.getRuntimeMXBean().getUptime();
02:03 BenGoldberg or:
02:03 BenGoldberg long jvmStartTime = ManagementFactory.getRunti​meMXBean().getStartTime();
02:04 colomon joined #perl6
02:04 BenGoldberg (That's from http://stackoverflow.com/question​s/817801/time-since-jvm-started)
02:05 BenGoldberg I suppose this is to implement a perl6 equivilant to perl5's $^T ?
02:16 japhb BenGoldberg: Yes, but I actually want to know when the JVM started, not just when Rakudo started executing my script (though that's nice too, but at least I can just 'BEGIN my $start = now;' for a close approximation to that one)
02:19 jeffreykegler left #perl6
02:23 jnap joined #perl6
02:24 logie joined #perl6
02:47 jnap joined #perl6
02:51 benabik joined #perl6
03:03 jnap joined #perl6
03:08 btyler joined #perl6
03:20 Mouq joined #perl6
03:32 xenoterracide joined #perl6
03:33 jeffreykegler joined #perl6
03:52 newbie_Perl6 joined #perl6
04:11 preflex joined #perl6
04:23 logie joined #perl6
04:39 newbie_Perl6 joined #perl6
04:42 rjbs joined #perl6
04:55 dalek specs: eed90ad | lue++ | S03-operators.pod:
04:55 dalek specs: [S03] Finally, finally move =head1 Adverbs to =head2
04:55 dalek specs:
04:55 dalek specs: newbie_Perl6++ for reminding me this still needed to be done :) .
04:55 dalek specs: review: https://github.com/perl6/specs/commit/eed90adc94
05:00 newbie_Perl6 left #perl6
05:08 Mouq joined #perl6
05:14 itz joined #perl6
05:17 Sqirrel joined #perl6
05:30 jnap joined #perl6
05:47 jnap joined #perl6
06:30 darutoko joined #perl6
06:34 SamuraiJack joined #perl6
06:37 kivutar joined #perl6
06:40 atroxaper joined #perl6
06:48 jnap joined #perl6
06:56 Mouq joined #perl6
06:56 xinming_ joined #perl6
07:06 Sqirrel joined #perl6
07:09 Sqirrel_ joined #perl6
07:17 jeffreykegler joined #perl6
07:30 jeffreykegler left #perl6
07:49 jnap joined #perl6
07:57 araujo joined #perl6
07:58 [Sno] joined #perl6
08:00 araujo joined #perl6
08:00 araujo joined #perl6
08:14 SamuraiJack joined #perl6
08:44 Mouq joined #perl6
08:45 kivutar joined #perl6
08:49 jnap joined #perl6
08:58 spider-mario joined #perl6
09:15 SamuraiJack joined #perl6
09:32 Sqirrel joined #perl6
09:49 FROGGS[mobile] joined #perl6
09:50 jnap joined #perl6
10:02 avar joined #perl6
10:02 lucs joined #perl6
10:02 sivoais_ joined #perl6
10:02 Util joined #perl6
10:02 mathw joined #perl6
10:03 [Coke] joined #perl6
10:03 breinbaas joined #perl6
10:03 masak joined #perl6
10:03 bjz joined #perl6
10:03 rylinaux joined #perl6
10:07 jnthn o/
10:07 diakopter o//
10:13 rylinaux joined #perl6
10:25 FROGGS[mobile] joined #perl6
10:32 Rotwang joined #perl6
10:32 Mouq joined #perl6
10:37 kivutar joined #perl6
10:40 jeffreykegler joined #perl6
10:51 jnap joined #perl6
10:52 jeffreykegler left #perl6
10:52 hummeleBop joined #perl6
11:00 FROGGS o\/
11:00 moritz \\o
11:01 xinming joined #perl6
11:13 timotimo r: say max +«3141592653589793.match(/.​+<?{(+$/).is-prime}>/,:ex)
11:13 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«-Inf␤»
11:13 timotimo i'm surprised that doesn't work?
11:13 timotimo r: say max +«3141592653589793.match(/.​+<?{(+$()).is-prime}>/,:ex)
11:14 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«-Inf␤»
11:14 timotimo r: say max +«3141592653589793.match(/(.​+)<?{(+$0).is-prime}>/,:ex)
11:14 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«415926535897␤»
11:14 jnthn $() is $/.ast, no?
11:15 timotimo i thought it was defined to be something else if no .ast is set
11:15 Rotwang will ever: "[+] 1 .. Inf" return -(1/12)? [;
11:15 jnthn timotimo: oh, maybe...
11:15 FROGGS it should be $/.ast // ~$/
11:16 timotimo that's what i thought; but since $/ doesn't seem to work there either ...
11:16 timotimo r: say max +«3141592653589793.match(/(.+){$/.say}/,:ex)
11:16 camelia rakudo-moar 6aa2f1: OUTPUT«(timeout)「3141592653589793」␤ 0 => 「3141592653589793」␤␤「314159265358979」␤ 0 => 「314159265358979」␤␤「31415926535897」␤ 0 => 「31415926535897」␤␤「3141592653589」␤ 0 => 「3141592653589」␤␤「314159265358」␤ 0…»
11:16 camelia ..rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1: OUTPUT«「3141592653589793」␤ 0 => 「3141592653589793」␤␤「314159265358979」␤ 0 => 「314159265358979」␤␤「31415926535897」␤ 0 => 「31415926535897」␤␤「3141592653589」␤ 0 => 「3141592653589」␤␤「31415926…»
11:17 timotimo it does look like it *should* work
11:17 Biohazard o.o
11:17 timotimo oh, that's when i have ( )
11:17 timotimo r: say max +«3141592653589793.match(/.+{$/.say}/,:ex)
11:17 immortal joined #perl6
11:17 immortal joined #perl6
11:17 camelia rakudo-moar 6aa2f1: OUTPUT«(timeout)「3141592653589793」␤␤「314159265​358979」␤␤「31415926535897」␤␤「3141592653589」␤␤「3​14159265358」␤␤「31415926535」␤␤「3141592653」␤␤「31​4159265」␤␤「31415926」␤␤「3141592」␤␤「314159」…»
11:17 camelia ..rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1: OUTPUT«「3141592653589793」␤␤「3141592653589​79」␤␤「31415926535897」␤␤「3141592653589」␤␤「​314159265358」␤␤「31415926535」␤␤「3141592653​」␤␤「314159265」␤␤「31415926」␤␤「3141592」␤␤…»
11:18 timotimo so ... wha?
11:18 timotimo r: say max +«3141592653589793.match(/.+<?{say (+$/); (+$/).is-prime}>/,:ex)
11:18 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«3141592653589793␤3141592653589793␤​3141592653589793␤3141592653589793␤3141592​653589793␤3141592653589793␤31415926535897​93␤3141592653589793␤3141592653589793␤3141​592653589793␤3141592653589793␤314159…»
11:19 timotimo i'm not sure why that's the output
11:20 timotimo i would expect each number to show up twice, but not the first one infinitely often
11:20 timotimo r: say max +«3141592653589793.match(/.+<?{say $/; (+$/).is-prime}>/,:ex)
11:20 camelia rakudo-moar 6aa2f1: OUTPUT«(timeout)「3141592653589793」␤␤「314159265358​9793」␤␤「3141592653589793」␤␤「3141592653589793」␤␤「3​141592653589793」␤␤「3141592653589793」␤␤「3141592653​589793」␤␤「3141592653589793」␤␤「3141592653589793」…»
11:20 camelia ..rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1: OUTPUT«「3141592653589793」␤␤「3141592653589793」​␤␤「3141592653589793」␤␤「3141592653589793」␤␤「31​41592653589793」␤␤「3141592653589793」␤␤「3141592​653589793」␤␤「3141592653589793」␤␤「31415926…»
11:26 FOAD joined #perl6
11:35 BarneySchmale joined #perl6
11:40 grondilu joined #perl6
11:40 grondilu r: https://gist.github.com/grondilu/8489288
11:41 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«(timeout)»
11:52 jnap joined #perl6
11:54 atroxaper joined #perl6
11:55 timotimo grondilu: why do you compare the numbers with ~~?
12:04 timotimo r: https://gist.github.com/timo/8489532
12:04 avuserow joined #perl6
12:04 camelia rakudo-moar 6aa2f1: OUTPUT«0.847213␤»
12:04 camelia ..rakudo-parrot 6aa2f1: OUTPUT«0.847213084835193␤»
12:04 camelia ..rakudo-jvm 6aa2f1: OUTPUT«0.8472130848351929␤»
12:05 rindolf joined #perl6
12:07 grondilu timotimo: I thought it would work, but now I realize that the original code on RC compares @$_ ~~ ($a, $g) which is a bit different from $a ~~ $g.  It compares each number to its previous version, so the sequence can stop even if the numbers are not exactly equal.
12:20 timotimo ah, i see
12:20 timotimo yes, that makes more sense
12:21 Mouq joined #perl6
12:24 kivutar joined #perl6
12:30 colomon ABC passes all tests under MoarVM!
12:32 colomon dagurval: GD::Raw failed the smoke test for the last two days.
12:37 timotimo \o/
12:50 sivoais joined #perl6
12:52 jnap joined #perl6
13:02 jnthn colomon: Is that just trying it out, or do you have an automated thingy to try all the modules under MoarVM?
13:02 preflex jnthn: you have 3 new messages. '/msg preflex messages' to read them.
13:02 colomon jnthn: just tried it manually
13:02 colomon using prove
13:02 jnthn ah, k :)
13:02 jnthn Still, cool :)
13:03 FROGGS v5 has a problem loading modules at some point
13:04 denis_boyun joined #perl6
13:16 Alina-malina joined #perl6
13:17 colomon jnthn: the smoke testing tools depend on panda.  that's not working yet, is it?  (I haven't tried)
13:17 jnthn colomon: Don't think anybody has tried yet :)
13:29 LLamaRider joined #perl6
13:31 SamuraiJack joined #perl6
13:38 DarthGandalf joined #perl6
13:53 jnap joined #perl6
13:56 avuserow joined #perl6
13:59 grondilu r: multi f(1) { 0 }; say f(3/3)
13:59 camelia rakudo-moar 6aa2f1: OUTPUT«Cannot call 'f'; none of these signatures match:␤:(Int )␤  in sub f at /tmp/5r2H4oVOap:2␤  in block  at /tmp/5r2H4oVOap:2␤␤»
13:59 camelia ..rakudo-jvm 6aa2f1: OUTPUT«Cannot call 'f'; none of these signatures match:␤:(Int )␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in sub f at /tmp/vEex6HfLEu:1␤  in block  at /tmp/vEex6HfLEu:1␤␤»
13:59 camelia ..rakudo-parrot 6aa2f1: OUTPUT«Cannot call 'f'; none of these signatures match:␤:(Int )␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in sub f at /tmp/avuHnfPkhw:1␤  in block  at /tmp/avuHnfPkhw:1␤␤»
14:06 colomon r: say "3/4".Rat
14:06 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«0.75␤»
14:06 colomon m: say "C".Rat
14:06 camelia rakudo-moar 6aa2f1: OUTPUT«===SORRY!===␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏C' (indicated by ⏏)␤»
14:14 odoacre joined #perl6
14:30 grondilu r: multi f(1) { "one" }; multi f($x) { $x.perl }; say f(3/3)
14:30 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«1.0␤»
14:31 grondilu n: multi f(1) { "one" }; multi f($x) { $x.perl }; say f(3/3)
14:31 camelia niecza v24-109-g48a8de3: OUTPUT«1.0␤»
14:31 * grondilu is not sure this is ok
14:33 jnthn Only way that'd be OK is if 3/3 was to produce an Int.
14:34 grondilu :/
14:34 grondilu so I need to write multi f($x where $x == 1) {...}, I guess
14:34 jnthn where 1 may cut it
14:35 jnthn r: multi f(Real where 1) { }
14:35 camelia rakudo-jvm 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/wxP85IDTUjâ�¤Cannot do non-typename cases of type_constraint yetâ�¤at /tmp/wxP85IDTUj:1â�¤------> [32mmulti f(Real where 1[33mâ��[31m) { }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:35 camelia ..rakudo-moar 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Lc0RsGLQedâ�¤Cannot do non-typename cases of type_constraint yetâ�¤at /tmp/Lc0RsGLQed:1â�¤------> [32mmulti f(Real where 1[33mâ��[31m) { }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:35 camelia ..rakudo-parrot 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0VQAuhBjWYâ�¤Cannot do non-typename cases of type_constraint yetâ�¤at /tmp/0VQAuhBjWY:1â�¤------> [32mmulti f(Real where 1[33mâ��[31m) { }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:35 jnthn ah, toob ad
14:35 jnthn r: multi f(Real $ where 1) { }
14:35 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: ( no output )
14:37 grondilu it's not very intuitive.  1.0 and 1 are the same mathematical object.  I wish I could specify both of them with a single literal.
14:39 grondilu but I suppose that's just not possible with the current structure for numeric types.
14:41 timotimo you could type it to try to coerce to Int
14:43 kivutar joined #perl6
14:44 benabik joined #perl6
14:44 grondilu I tried something like that when tinckering http://rosettacode.org/wiki/Gamma_function#Perl_6.  At some point I thought about writing it with multi, and one of them would have been 'multi Γ(2) { 1 }'  Didn't work out.
14:45 grondilu coercing to Int would have been pointless since the argument comes from a sequence of rationals
14:45 grondilu ( for 1/3, 2/3 ... 10/3  { ... } )
14:46 nwc10 is MoarVM going to beat JVM to the star?
14:46 jnthn nwc10: Hard to say. Panda already works on JVM, and arnsholt++ has been making good progress with NativeCall on JVM of late.
14:46 nwc10 that's a nice answer to hear
14:50 araujo joined #perl6
14:54 jnap joined #perl6
15:03 grondilu r: say <1/3>.WHAT
15:03 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«(Str)␤»
15:03 grondilu wasn't there a time when this correctly returned (Rat)?
15:03 kivutar joined #perl6
15:05 xenoterracide joined #perl6
15:11 colomon Do we have a feel for the relative performance of Moar versus Parrot?  I've noted that the stage parse times in compile go JVM, Moar, Parrot (fastest to slowest) on my Linux box.
15:11 jnthn colomon: Not yet.
15:12 colomon jnthn: did you sneak in some of the post-99% optimizations you were thinking of early?
15:12 jnthn colomon: Moar has been hindered by having binding very slow-pathed so far. But I'm working on that at the moment.
15:12 colomon ah, so no.
15:12 colomon jnthn++
15:20 colomon jnthn: takes moar 2min 14s to run the ABC tests, parrot 54 secs
15:22 masak niecza: say <1/3>.WHAT
15:22 masak r: say "alive?:
15:22 masak r: say "alive?"
15:23 camelia niecza v24-109-g48a8de3: OUTPUT«(Rat)␤»
15:23 camelia rakudo-moar 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Qu4t8fnrH6â�¤Unable to parse expression in double quotes; couldn't find final '"' â�¤at /tmp/Qu4t8fnrH6:1â�¤------> [32msay "alive?:[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        argument…»
15:23 camelia ..rakudo-jvm 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1GGXFljqG5â�¤Unable to parse expression in double quotes; couldn't find final '"' â�¤at /tmp/1GGXFljqG5:1â�¤------> [32msay "alive?:[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        argument …»
15:23 camelia ..rakudo-parrot 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/vbQt3m7u7Jâ�¤Unable to parse expression in double quotes; couldn't find final '"' â�¤at /tmp/vbQt3m7u7J:1â�¤------> [32msay "alive?:[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        argume…»
15:23 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«alive?␤»
15:23 masak grondilu: see niecza output above.
15:24 jnthn colomon: Will be interested to see how it does once I'm done with this binding fast-path work
15:25 colomon jnthn: interestingly, jvm takes 2min 6s ?!?
15:25 colomon jnthn: so parrot seems to be a clear winner here at the moment.
15:26 jnthn colomon: Wow...
15:26 jnthn That's odd. What's ABC doing?
15:27 jnthn Lot of string manip?
15:27 colomon string manip and grammar stuff, mostly
15:27 colomon give me a moment, I think I noticed one particularly slow file during the testing...
15:28 tadzik r: say 112 / 47
15:28 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«2.382979␤»
15:30 colomon https://github.com/colomon/AB​C/blob/master/t/05-actions.t is 19s in r-j, 11s in r-p
15:30 raiph joined #perl6
15:30 colomon grammar parsing with actions
15:30 raiph joined #perl6
15:31 colomon and 47s in r-m?
15:31 colomon those numbers seem odd compared to my previous numbers.  :\
15:33 colomon but I get them again when I try running it again
15:36 araujo joined #perl6
15:48 berekuk joined #perl6
15:51 Psyche^ joined #perl6
15:52 avuserow joined #perl6
15:52 sivoais joined #perl6
15:52 darutoko joined #perl6
15:52 gcole joined #perl6
15:52 ilogger2 joined #perl6
15:52 telex joined #perl6
15:52 baest joined #perl6
15:52 go|dfish joined #perl6
15:52 c1sung_ joined #perl6
15:52 Timbus joined #perl6
15:52 ingy joined #perl6
15:52 dagurval joined #perl6
15:52 spider-mario joined #perl6
15:53 telex joined #perl6
15:55 jnap joined #perl6
15:58 raiph joined #perl6
15:58 avuserow joined #perl6
15:58 sivoais joined #perl6
15:58 darutoko joined #perl6
15:58 gcole joined #perl6
15:58 ilogger2 joined #perl6
15:58 baest joined #perl6
15:58 go|dfish joined #perl6
15:58 c1sung_ joined #perl6
15:58 Timbus joined #perl6
15:58 ingy joined #perl6
15:58 dagurval joined #perl6
15:58 Psyche^_ joined #perl6
16:05 jeffreykegler joined #perl6
16:07 diakopter colomon: any feel for relative performance will be out of date quickly
16:07 colomon diakopter: I hope so!
16:08 colomon diakopter: I'm just curious where we're sitting before jnthn++ (and everyone else) goes crazy optimizing
16:08 colomon is there any reason we can't use gprof on MoarVM?
16:08 diakopter I use visual studio's profiler, so no
16:08 colomon sweet
16:09 xfix http://janlelis.github.io/ruby-bad-parts/#19 - I honestly wonder how bad the grammar has to be to allow such nonsense.
16:10 jnthn colomon: Well, this is the non-crazy optimizing at the moment :)
16:10 jnthn Still a bit tricky though :)
16:10 jnthn Think I'll have something in pushable shape by the end of the day, though.
16:12 colomon \o/
16:16 molaf joined #perl6
16:25 dmol joined #perl6
16:34 pmurias joined #perl6
16:35 pmurias xfix: most of the slides are just cases of whitespace being significant
16:35 pmurias xfix: and most of the apply to Perl 6 also
16:48 berekuk joined #perl6
16:53 kaare_ joined #perl6
16:54 Mouq joined #perl6
16:55 jnap joined #perl6
17:00 spider-mario joined #perl6
17:02 smls joined #perl6
17:02 spider-mario joined #perl6
17:07 ajr joined #perl6
17:09 smls pmurias: actually, Perl 6 dodges some of those bullets because it requires a colon for passing parameters to methods, and uses ~~ instead of =~ for regex matching
17:10 smls As for the particular slide that xfix linked, that's a non-problem if you use an editor with syntax highlighting
17:36 raiph joined #perl6
17:36 stevan_ joined #perl6
17:44 TimToady r: sub Γ($x) { $x }
17:44 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: ( no output )
17:45 diakopter r: sub Γ($x) { $x }; say Γ(Γ)
17:45 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'Γ' requires arguments (line 1)␤    Expected: :($x)␤»
17:45 camelia ..rakudo-moar 6aa2f1: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in sub Γ at /tmp/xbDetbq3hT:2␤  in block  at /tmp/xbDetbq3hT:2␤␤»
17:45 diakopter o_O
17:45 FROGGS r: sub a($x) { $x }; say a(a)
17:45 camelia rakudo-moar 6aa2f1: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in sub a at /tmp/jGxhUDWeMS:2␤  in block  at /tmp/jGxhUDWeMS:2␤␤»
17:46 camelia ..rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'a' requires arguments (line 1)␤    Expected: :($x)␤»
17:46 diakopter r: sub Γ($x) { $x }; say Γ(&Γ)
17:46 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«sub Γ($x) { ... }␤»
17:46 TimToady I'm having difficulty compiling http://rosettacode.org/wiki/Gamma_function#Perl_6 under any rakudo
17:46 FROGGS ahh, of course
17:46 diakopter yeah, I'm just curious why moar doesn't dtrt
17:48 itz m: say 2+2
17:48 itz r: say 2+2
17:48 itz panda doesn't install on r-m since the following line fails
17:48 itz perl6-m -MFile::Find -e 'say find(dir=>".").list'
17:48 camelia rakudo-moar 6aa2f1: OUTPUT«4␤»
17:48 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«4␤»
17:48 colomon TimToady: looking...
17:48 FROGGS perl6-p rc.pl
17:48 FROGGS Γ(0.33333) ≈ 2.67893853470775
17:48 FROGGS Γ(0.66667) ≈ 1.35411793942640
17:48 FROGGS ...
17:48 FROGGS TimToady: it does work here
17:48 diakopter itz: there's a lot of other things missing from the moar port/backend that panda will need
17:48 TimToady huh
17:48 TimToady when did you compile that perl6-p?
17:49 TimToady mine is from about 10 hours ago
17:49 FROGGS perl6-p --version
17:49 FROGGS This is perl6 version 2013.12-296-g82effd6 built on parrot 5.9.0 revision RELEASE_5_9_0
17:49 colomon TimToady: I'm also showing it working here.
17:49 colomon under JVM<
17:49 colomon same version FROGGS has otherwise
17:50 TimToady fails with all of mine, like they all think a UTF-8 file is Latin-1 or something
17:50 FROGGS it is working on all three backends btw :o)
17:50 grondilu there's nothing fancy in this code.  It should work.  On the other hand http://rosettacode.org/wiki/Arithmeti​c-geometric_mean/Calculate_Pi#Perl_6 will not work on rakudo star, because of the * == *
17:51 FROGGS r: https://gist.github.com/FR​OGGS/82ab958b79e1984237f5
17:51 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«Γ(0.33333) ≈ 2.67893853470775␤Γ(0.66667) ≈ 1.35411793942640␤Γ(1.00000) ≈ 1.00000000000000␤Γ(1.33333) ≈ 0.89297951156925␤Γ(1.66667) ≈ 0.90274529295093␤Γ(2.00000) ≈ 1.00000000000000␤Γ(2.…»
17:51 FROGGS TimToady: maybe a copy&pasto?
17:51 TimToady don't think so, fails on the little snippet too
17:52 TimToady just doesn't like the gamma at all
17:52 TimToady on two different Linuxes
17:52 grondilu it works when you replace it with G?
17:52 TimToady both compiled last night
17:52 * FROGGS pulls nom
17:52 TimToady yes
17:52 TimToady lemme try pulling and recompiling again
17:53 TimToady could be a transient, since peopel were fiddling with <:L> and such
17:53 FROGGS only on moar
17:54 TimToady but yea, only moar has updated since last night
17:54 TimToady and they all fail o_O
17:54 colomon TimToady: I'm actually doing the same, because my version was from some other time yesterday.
17:55 FROGGS at work I'd say now: "Reboot tut gut"
17:55 FROGGS especially because 99.99% of our systems are Windows
17:55 FROGGS machines
17:56 jnap joined #perl6
17:57 TimToady I didn't do a full remove/reconf cycle, so maybe something got out of sync between rakudo and nqp
17:57 timotimo grondilu: what's wrong with * == * in rakudo star?
17:57 FROGGS perl6-j HEAD works...
17:57 TimToady just did all the pulls and make clean; make; make install
17:57 FROGGS the others still build
17:57 FROGGS nqp-p --version
17:58 FROGGS This is nqp version 2013.12.1-32-gea681df built on parrot 5.9.0 revision RELEASE_5_9_0
17:58 FROGGS HEAD, that is
17:59 TimToady mine says 2013.12.1-35-g584c4aa
18:00 TimToady trying a full rm/reconf on one of my machines
18:00 FROGGS ahh, my nqp is HEAD (2013.12.1-35-g584c4aa), but it reports it wrong because I did not reconfigure
18:03 grondilu timotimo: r* does not accept binary func for the limit of sequences.  Seems so anyway
18:04 grondilu $ perl6 -e 'say 1, rand ... * < *'
18:04 grondilu Not enough positional parameters passed; got 1 but expected 2 in block  at -e:1
18:04 TimToady that was just recently addressed
18:05 TimToady but that is incorrect anyway
18:05 TimToady needs &rand there
18:06 grondilu indeed
18:06 TimToady but with that it works in recent rakudo
18:06 grondilu r-m: say 1, &rand ... * < *
18:07 camelia rakudo-moar 6aa2f1: OUTPUT«1 0.406725 0.878274␤»
18:11 TimToady n: say 1, &rand ... * < *
18:11 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤    'rand' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_…»
18:11 TimToady n: say 1, {rand} ... * < *
18:11 camelia niecza v24-109-g48a8de3: OUTPUT«1 0.96762272481230216 0.48979897540518968 0.27183327370874272 0.30789399720164667␤»
18:12 TimToady n: say 1, &term:<rand> ... * < *
18:12 timotimo grondilu: oh, right. i implemented that very recently
18:12 camelia niecza v24-109-g48a8de3: OUTPUT«1 0.93568195027098156 0.52745269775737669 0.016247749336179229 0.063322390924823654␤»
18:14 TimToady r: sub term:<foo>($x) { say "Foo $x" }; &foo.(42)
18:14 camelia rakudo-jvm 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/2uEbTFhpu8â�¤Undeclared name:â�¤    &foo used at line 1â�¤â�¤Â»
18:14 camelia ..rakudo-parrot 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/rGjfcAJHIJâ�¤Undeclared name:â�¤    &foo used at line 1â�¤â�¤Â»
18:14 camelia ..rakudo-moar 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/sA_m_yHm29â�¤Undeclared name:â�¤    &foo used at line 1â�¤â�¤Â»
18:14 TimToady so how does &rand work?
18:15 TimToady r: my \foo = sub ($x) { say "Foo $x" }; &foo.(42)
18:15 camelia rakudo-parrot 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/F5d5ztlcHaâ�¤Undeclared name:â�¤    &foo used at line 1â�¤â�¤Â»
18:15 camelia ..rakudo-jvm 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/C0oSrdcIaTâ�¤Undeclared name:â�¤    &foo used at line 1â�¤â�¤Â»
18:15 camelia ..rakudo-moar 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6sCUu5p07Câ�¤Undeclared name:â�¤    &foo used at line 1â�¤â�¤Â»
18:15 * TimToady guesses someone hardwired &rand in there somewhere...
18:16 TimToady unless...
18:16 TimToady r: rand 42
18:16 camelia rakudo-jvm 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/iFZRpVkWCD�Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick�at /tmp/iFZRpVkWCD:1�------> [32mrand[33m�[31m 42[0m�»
18:16 camelia ..rakudo-parrot 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/IvFqL8OV8F�Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick�at /tmp/IvFqL8OV8F:1�------> [32mrand[33m�[31m 42[0m�»
18:16 camelia ..rakudo-moar 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lvJbnhHnUi�Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick�at /tmp/lvJbnhHnUi:1�------> [32mrand[33m�[31m 42[0m�»
18:17 TimToady p: say rand + 2
18:17 camelia rakudo-parrot 6aa2f1: OUTPUT«2.25245344321908␤»
18:17 diakopter r: say rand: ,
18:17 camelia rakudo-jvm 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lJT2gU1QKBâ�¤Two terms in a rowâ�¤at /tmp/lJT2gU1QKB:1â�¤------> [32msay rand[33mâ��[31m: ,[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤  â€¦Â»
18:17 camelia ..rakudo-moar 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/VMNoR0I8crâ�¤Two terms in a rowâ�¤at /tmp/VMNoR0I8cr:1â�¤------> [32msay rand[33mâ��[31m: ,[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤ …»
18:17 camelia ..rakudo-parrot 6aa2f1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/HQ33JB7T5zâ�¤Two terms in a rowâ�¤at /tmp/HQ33JB7T5z:1â�¤------> [32msay rand[33mâ��[31m: ,[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infix…»
18:18 diakopter camelia sure has speedy response/latency these days
18:19 diakopter r: say .rand
18:19 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«0␤»
18:19 TimToady LHF: go in and s/// those temp filenames so that the error messages can be combined into one response
18:24 kivutar joined #perl6
18:26 timotimo that has been annoying people for a long time now :)
18:27 timotimo i'm not sure how to test that stuff locally, but i think i can come up with a simple fix
18:28 timotimo tbh, i don't know how to interpolate literally into regexes in perl5. was that \Q$filename\E?
18:30 TimToady that would work, or just look for /tmp/\w{10}
18:34 timotimo right. so $result ~= s/\/tmp\/\w{10}/\/tmp\/tmpfile/g
18:37 TimToady =~ you mean :)
18:40 timotimo ... yes i guess
18:40 timotimo a part of me is resisting perl5 still
18:41 timotimo resisting any learning :P
18:44 TimToady Those who do not learn from history are doomed to have it repeated to them.
18:54 itz_ joined #perl6
18:54 grondilu timotimo: whenever I wonder if it's =~ or ~=, I think : "it is not supposed to mean $x = $x ~ $y, so it is not ~=, it is thus =~"
18:57 jnap joined #perl6
18:57 lue joined #perl6
18:57 TimToady well, it also helps to remember that the negation is !~
19:01 timotimo right.
19:01 timotimo someone else has to put the actual code in, though :P
19:02 flussence .oO( having to fix p6eval because there's *too many* working runtimes is a pretty nice problem to have :)
19:03 colomon :)
19:04 colomon n: say 1.gamma
19:04 camelia niecza v24-109-g48a8de3: OUTPUT«1␤»
19:05 colomon n: say (1/3).gamma
19:05 camelia niecza v24-109-g48a8de3: OUTPUT«2.6789385347077483␤»
19:05 * colomon needs to get around to adding that to the spec / Rakudo sometime.  ;)
19:07 * grondilu searches the gamma function in the spec and doesn't find it
19:08 grondilu not saying it should be there, just noticing.
19:09 colomon grondilu: read my last line again.
19:09 * grondilu is confused
19:10 grondilu you could add it to the spec?
19:10 colomon I have a commitbit
19:10 grondilu but you have TimToady's blessing?
19:11 grondilu I'm mean,I'm not sure everybody would agree it should be in the spec.
19:12 grondilu considering the debate we add last time about quaternions, it's not clear to me gamma is useful enough to be put in the spec.
19:12 grondilu s/we add/we had/   # I keep doing this lately, it's embarassing.
19:13 colomon I'm willing to add it to the spec and to the implementations.  If people want to take it out, well, that's their prerogative, I guess.
19:13 colomon see http://www.johndcook.com/blog/2010/06/07/ma​th-library-functions-that-seem-unnecessary/ (and yes, I'd like to add all those Standard C library functions to p6)
19:15 colomon last time I mentioned it, I think the biggest question was whether it should be named gamma or Γ
19:16 * grondilu has a look at this article
19:16 grondilu lgamma makes some sense according to wikipedia.  It's easier to calculate, iiuc
19:17 grondilu « In a certain sense, the log(Γ)-function is the more natural form; it makes some intrinsic attributes of the function clearer. A striking example is the Taylor series of log(Γ) in 1: »
19:22 grondilu do you plan on using NativeCall and the C-library to do this?
19:23 pmurias colomon: why add those rarely used math functions to the settting rather than have them in a module?
19:23 lue colomon: if the ascii version is "gamma", then Γ is a very wrong alternate name. It should be γ :) .
19:24 grondilu the greek version prevails, I think.  And it's always the capital letter, it seems.
19:25 REPLeffect joined #perl6
19:25 geekosaur then the ascii one should be Gamma or GAMMA :p
19:25 colomon pmurias: … good question.  Because they're in standard C, it would be very easy to implement them in nqp-parrot and nqp-moar.  Dunno about jvm.  Though if NativeCall works everywhere, it might easily be done in a module as well.
19:25 btyler joined #perl6
19:27 * grondilu wonders if Gamma is used anywhere but in pure maths
19:27 grondilu I mean, is it used in physics and engineering?
19:27 grondilu (well, maybe in statistics)
19:28 colomon http://en.wikipedia.org/wiki​/Gamma_function#Applications
19:28 jeffreykegler left #perl6
19:29 lue Isn't it related to the gamma of my screen, for instance?
19:29 lue Oh no, this is the gamma that's an extended version of factorial. My bad :)
19:32 * [Coke] finds the video showing that [+] 1..Inf == -1/12
19:32 * grondilu tried to read the article on HN about that today.  His head still hurts.
19:32 dalek rakudo-star-daily: 388fc39 | coke++ | log/ (5 files):
19:32 dalek rakudo-star-daily: today (automated commit)
19:32 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/388fc39d03
19:33 * [Coke] sees he's late to the party, even here. :)
19:36 timotimo moritz: are you going to replace the eval in t/40-sqlite-common.t yourself or should i make a pull request for you?
19:36 timotimo well and all the other files in dbiish
19:36 zakharyas joined #perl6
19:39 pmurias colomon: it would be possible to implement them in the nqp level and only expose them using a module (not claiming that would be a good idea)
19:40 [Coke] moar is up to 28068 passes.
19:40 colomon [Coke]: what's JVM at?
19:40 [Coke] it's not finished yet.
19:41 colomon [Coke]: http://blog.rongarret.info/2014/01/no-s​um-of-all-positive-integers-is-not.html
19:41 [Coke] yesterday it was at 28472
19:44 grondilu on the other hand, I think it would make sense to define all the C-library math functions at least for native types, since it can be made easy with NativeCall.
19:46 pmurias grondilu: I'm not sure we can depend on calling the C-library on the jvm backend
19:48 colomon yeah, I ended up doing a distressing amount of implementing when I worked some of those functions into Niecza.
19:48 colomon and JVM seems to be the same.
19:52 zakharyas1 joined #perl6
19:52 grondilu pmurias: sure, but should that prevent us from using it where it makes sense, that is on VMs that run with C?
19:52 pmurias no
19:53 pmurias but how they are implemented shouldn't influence if we put them in the setting or in a module
19:54 lue Nativecall isn't an included part of Rakudo like Test.pm, is it?
19:55 colomon pmurias: actually, if it's easier to do it efficiently as a NativeCall-based module, I'd definitely lean towards that.
19:55 colomon lue: NativeCall isn't right now.  Dunno if there are plans to change that.
19:56 dagurval colomon: where can I see the some test results?
19:56 lue pmurias: if Nativecall isn't coming with Rakudo, that kinda puts a dent in a nativecall-based core solution.
19:56 grondilu to me, considering we have such things as native types, it's not absurd to allow access to standard functions designed for those native types.
19:57 grondilu thus to allow an access to the standard library
19:57 lue For a core solution, nqp ops makes way more sense than nativecall.
19:57 lue (which may of course use the standard functions)
19:57 grondilu that would be fine too indeed
19:57 colomon dagurval: the smoke system only stores the info "Tests failed"
19:58 colomon dagurval: does it work for you?
19:58 jnap joined #perl6
19:58 dagurval yes, but it requires libgd to be installedd
19:58 dalek DBIish: 8b39acb | moritz++ | t/ (5 files):
19:58 dalek DBIish: s:g/«eval»/EVAL/
19:58 dalek DBIish: review: https://github.com/perl6/DBIish/commit/8b39acbfb6
19:58 colomon is that a new requirement?  it worked three days ago for the smoke tester
19:59 moritz timotimo: I've fixed it myself
19:59 dagurval nope, I don't have the latest rakudo though, I'll compile a new one
19:59 dagurval thanks for the heads up
19:59 moritz timotimo: and you should totally have commit access to DBIish already
20:01 logie joined #perl6
20:02 lue I think we should have Γ() , seeing as we're lacking a simpler factorial function...
20:04 psch joined #perl6
20:04 psch hi #perl6
20:05 * TimToady still cannot compile a function named Γ after a complete rebuild
20:05 Ayiko joined #perl6
20:07 grondilu lue: on real numbers or on complex as well?
20:08 lue I didn't know it could work on complex numbers. Might as well, what with our "Complex" and "complex\d+" types :)
20:08 timotimo oh, i do?
20:09 jnthn m: sub Γ() { }
20:09 camelia rakudo-moar 6aa2f1: ( no output )
20:09 grondilu I ask this because there is no task about Gamma on complex number on RC.  It might be worth creating one.
20:09 jnthn TimToady: That works for me locally also...
20:09 colomon TimToady: for what it's worth, works locally for me with an up-to-date Rakudo.
20:09 jnthn TimToady: Input file encoding I have here is certaily utf-8
20:12 grondilu works for me as well with rakudo* 12.2013 and most recent rakudo
20:13 TimToady really bizarre
20:14 lue I assume the other greek letters fail too?
20:15 TimToady fails with Δ too
20:15 TimToady env looks fine, and nothing's changed there
20:16 TimToady time to try with a completely fresh clone
20:18 diakopter .oO( clone wars preceded the punnic wars.. )
20:18 jnthn TimToady: You sure it's not that your input file is somehow turing into Latin-1?
20:18 jnthn TimToady: This feels like something silly rather than something deep to me...
20:19 jnthn TimToady: Especially if it's failing over 3 separate backends that all do Unicode different...
20:21 moritz p: sub Δ($x) { say $x }; Δ 42
20:21 camelia rakudo-parrot 6aa2f1: OUTPUT«42␤»
20:22 moritz alsow works with my local rakudo-moar
20:22 dalek nqp: ded62da | jnthn++ | / (5 files):
20:22 dalek nqp: Make param handling more pluggable.
20:22 dalek nqp:
20:22 dalek nqp: Allows for incorporation of custom work and type checks into the
20:22 dalek nqp: parameter handling pipeline. Only supported on MoarVM backend so
20:22 dalek nqp: far.
20:22 dalek nqp: review: https://github.com/perl6/nqp/commit/ded62daa86
20:23 TimToady well, 'file' thinks it's UTF-8
20:23 TimToady and od thinks it's UTF-8
20:24 TimToady and it certainly looks right in my UTF-8 term...
20:24 jnthn k
20:24 moritz ... and you are feeding the same file to rakudo that you are looking at, in the same directory on the same machine? :-)
20:25 TimToady ooh, update, it's only p that is failing after my latest compile
20:26 TimToady m and j seem fine
20:27 TimToady yes, only parrot is failing on both my machines now
20:28 TimToady maybe I shoulda blown away the parrot dir too
20:29 TimToady trying that now
20:30 * TimToady was changing the #! line, and probably running with ./perl6, and thinking he was running under the other backends when he wasn't
20:33 * grondilu thinks about the recursive definition of Gamma, and wonders if the pertinent limit really is 2
20:34 * grondilu wonders if its not rather 3/2
20:35 grondilu yeah it is.  The 1-long interval centered on 1 is 1/2 .. 3/2, after all
20:35 grondilu r: say 3/2 - 1/2
20:35 camelia rakudo-parrot 6aa2f1, rakudo-jvm 6aa2f1, rakudo-moar 6aa2f1: OUTPUT«1␤»
20:41 beastd joined #perl6
20:42 * grondilu realises that if he does that, he might as well do recursion of $x < 1/2  :/
20:57 dalek rakudo/nom: 8cfc826 | jnthn++ | src/Perl6/ (2 files):
20:57 dalek rakudo/nom: Very simple cases of binder simplification.
20:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8cfc826348
20:57 dalek rakudo/nom: 7e6c22c | jnthn++ | src/vm/moar/ops/container.c:
20:57 dalek rakudo/nom: assignunchecked should mean unchecked.
20:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7e6c22c792
20:57 dalek rakudo/nom: 81eb486 | jnthn++ | src/Perl6/Metamodel/MROBasedMethodDispatch.nqp:
20:57 dalek rakudo/nom: Only look for submethods on objects than can.
20:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/81eb486ccc
20:57 dalek rakudo/nom: 979d2ac | jnthn++ | / (3 files):
20:57 dalek rakudo/nom: Add bind lowers on Moar for many common cases.
20:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/979d2acc1e
20:58 jnthn m: say "Now I spectest in {100*612/1662}% of the time I did this morning!"
20:58 camelia rakudo-moar 6aa2f1: OUTPUT«Now I spectest in 36.823105% of the time I did this morning!␤»
20:58 jnap joined #perl6
20:59 lue Oh, moar-support's been merged?
20:59 jnthn lue: oh yes :)
20:59 colomon lue: oh yes
20:59 diakopter jnap: O_O
20:59 diakopter argh
20:59 diakopter jnthn: O_O
20:59 colomon oooo, jnthn++ got the big patch in!
20:59 grondilu lue-- for not noticing  :-)
20:59 colomon \o/
20:59 jnthn Now to analyze the common cases I missed...
20:59 lue grondilu: when did it happen?
21:00 grondilu few days ago
21:00 * colomon is also listening to Liz Carroll play "The Yellow Tinker" which is beyond awesome even on MP3
21:00 jnthn Whatever day I was getting laid over in Heathrow...
21:00 jnthn .oO( the days all blur... )
21:00 lue \o/ /o/ \o\ 🙌 by the way
21:01 lue grondilu: seriously? I don't believe you. Just yesterday I was able to install r-m to /usr/local successfully after jnthn notified me of a change. While on moar-support.
21:01 grondilu well, maybe my perception of time is being faulty.
21:02 jnthn lue: You probably could from moar-support too. But you'll really want to switch to Moar in nom after the patch I just landed.
21:03 lue jnthn: I of course will switch :)
21:03 psch jnthn: anything with the binder? i'm getting TRIAL_BIND_NOT_SURE for 'sub foo(Str) { }; foo 42;' on moar, whereas parrot and jvm give TRIAL_BIND_NO_WAY
21:03 psch which breaks X::TypeCheck::Argument
21:04 jnthn psch: Yeah, I'd noticed
21:04 psch if that's patched now i can stop digging :)
21:04 jnthn psch: It's not, but I'm aware of it.
21:04 jnthn psch: I only ported that code to Moar about 2 days ago.
21:04 psch oh, alright, so i'll ignore it and finish the PR
21:04 jnthn psch: I probably did something silly.
21:05 psch jnthn: comparing Binder.java$trialBind and BOOTSTRAP.nqp:trial_bind there's a few obvious mismatches, but fixing those rather makes it worse and die later on
21:06 psch instead of just returning the wrong value
21:09 TimToady recompiling parrot does not fix the Unicode problem
21:09 jnthn TimToady: Did it miss libicu?
21:09 TimToady hmm
21:09 FROGGS yeah, was thinking the same...
21:10 FROGGS maybe it got an update?
21:10 FROGGS and parrot is upset or so
21:11 TimToady yes, apparently is missing icu
21:11 FROGGS because my parrot is pretty old actually, I don't tend to rebuild it
21:11 FROGGS good that moar does not have this dep :o)
21:12 TimToady my system has libicu48
21:12 FROGGS TimToady: you may even need to add that symlink:
21:12 FROGGS ll /usr/include/unicode
21:12 FROGGS lrwxrwxrwx 1 root root 37 Nov 24 10:06 /usr/include/unicode -> /usr/include/x86_64-linux-gnu/unicode/
21:12 FROGGS so parrot builds fine with it
21:14 tadzik I think I'll put moarakudo into rakudobrew :)
21:14 colomon tadzik++
21:15 lue I have icu 51.2
21:15 tadzik are the build instructions non-standard in any way?
21:16 colomon tadzik: check the README.  ;)
21:16 tadzik ok, I will :)
21:16 FROGGS tadzik: atm you can't trust NQP_REVISION and MOAR_REVISION
21:16 FROGGS but that is all I know
21:16 tadzik aww
21:17 tadzik so --gen-nqp won't Just Work :/
21:17 tadzik I guess I'll wait until it does
21:17 FROGGS so, passing --gen-nqp=master and --gen-moar=master would be a good choice
21:17 jnthn Huh?
21:17 jnthn Since moar-support merged into nom, I've been taking care of bumping those
21:17 jnthn The la
21:17 FROGGS did I say something wrong? :o)
21:17 tadzik oh, okay then :)
21:17 FROGGS ohh, nvm then :o)
21:17 jnthn The last commits I did bumped both.
21:17 FROGGS cool
21:17 FROGGS jnthn++
21:18 jnthn It'd be good if others could do same from now. I didn't mind while it was in a branch.
21:18 FROGGS did not see, was hidden under a grapheme cluster
21:18 FROGGS will take care from now
21:19 tadzik heh, so 'make realclean'works on moar for a change :P
21:19 tadzik argh
21:19 tadzik or not
21:20 tadzik complains about the lack of m-clean
21:20 * FROGGS looks
21:20 kivutar joined #perl6
21:20 masak joined #perl6
21:20 skids joined #perl6
21:20 wooden joined #perl6
21:20 pdcawley joined #perl6
21:20 samebchase joined #perl6
21:20 Woodi joined #perl6
21:20 Ulti joined #perl6
21:20 eternaleye joined #perl6
21:20 ivan`` joined #perl6
21:20 nebuchadnezzar joined #perl6
21:20 tadzik I changed the realclean step to '/bin/true' :P
21:22 ivan`` joined #perl6
21:22 ivan`` joined #perl6
21:22 FROGGS /home/froggs/dev/rakudo/tools/bui​ld/Makefile-Moar.in:336:m-clean:
21:22 FROGGS /home/froggs/dev/rakudo/tools/bu​ild/Makefile-Moar.in:337:$(RM_F) $(M_CLEANUPS)
21:22 FROGGS tadzik: it is right there
21:22 tadzik hrm
21:22 tadzik didn't work for me for some reason
21:23 tadzik after Configure.pl --backends=moar --gen-nqp --gen-moar
21:25 FROGGS tadzik: https://gist.github.com/FR​OGGS/959910ca2cf1909765c0
21:27 pdcawley joined #perl6
21:27 tadzik huh
21:27 tadzik I'll try again once it's built
21:27 tadzik stage mast takes quite a while
21:27 tadzik almost as long as parse
21:28 tadzik FROGGS: ok, now it worked :)
21:28 tadzik something odd must've happened :)
21:28 FROGGS Mars is bright tonight :o)
21:30 tadzik Moars
21:31 diakopter tadzik: try --gen-nqp=master and --gen-moar=master
21:32 diakopter oh nm
21:32 FROGGS you are late :P
21:34 tadzik let's see if build-panda works :)
21:34 dalek rakudo/nom: 61860ff | jnthn++ | src/Perl6/Actions.nqp:
21:34 dalek rakudo/nom: Lower typical proto-method signature.
21:34 dalek rakudo/nom:
21:34 dalek rakudo/nom: Was missed in the first pass, and is very common.
21:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/61860fff59
21:34 jnthn m: say "Now I spectest in {100*493/1662}% of the time I did this morning!"
21:35 camelia rakudo-moar 6aa2f1: OUTPUT«Now I spectest in 29.663057% of the time I did this morning!␤»
21:35 tadzik huh, somebody left some debugging code somewhere
21:35 tadzik and I don't think that's me :P
21:35 tadzik but bootstraping panda prints "here" in a loop
21:35 jnthn tadzik: haha...
21:36 tadzik for some reason it made me think of http://www.youtube.com/watch?v=UkCoQw10Iy8
21:36 jnthn bah, I can't find it
21:36 psch that takes some of my anxiety for finishing the PR off... :)
21:36 telex joined #perl6
21:36 stevan_ joined #perl6
21:37 tadzik jnthn: I can
21:37 tadzik nqp/MoarVM/src/core/args.c
21:37 tadzik 750:printf("here\n");
21:37 colomon jnthn: remember how that one ABC test file took ~50 seconds on Moar this morning?  It's 16 seconds now.  :)
21:37 tadzik jnthn: don't touch it
21:37 jnthn tadzik: Yeah, I just found it :)
21:37 tadzik I want to make an nqp commit :P
21:37 jnthn ok
21:37 jnthn tadzik: Well, you get to make a moar, nqp and rakudo commit :P
21:37 jnthn colomon: Phew :)
21:38 tadzik jnthn: are they all here? (ha ha)
21:38 colomon jnthn: if I recall correctly, that's faster than JVM
21:38 jnthn colomon: I guess that is without 61860ff?
21:38 colomon yes
21:38 jnthn tadzik: :P
21:38 colomon took a long time to build all three rakudos
21:39 jnthn jnthn-- # prints, debugs and leaves
21:40 colomon jnthn: total ABC test time, 59 seconds.  That's still a tiny bit slower than parrot, but less than half the time JVM takes.
21:40 tadzik https://github.com/MoarVM/MoarVM/pull/69
21:41 * tadzik pokes MoarVM commiters
21:41 jnthn tadzik: oh, you've no MoarVM commit bit?
21:41 tadzik nope, never contributed anything so far :)
21:41 jnthn colomon: Do you do much hash access?
21:41 colomon jnthn: probably?
21:41 jnthn tadzik: You got a commit bit
21:42 tadzik jnthn: thanks! :)
21:42 jnthn colomon: %h<blah> is still hitting the slow-path
21:42 jnthn colomon: I'm working on it.
21:42 colomon jnthn++
21:42 jnthn colomon: Re-testing once I fix that also may get us ahead.
21:43 psch --
21:43 psch ~
21:43 psch whoops, dropped something on my numpad, sorry
21:43 colomon jnthn: thing is, I'm wildly happy that Moar is just comparable at the moment.
21:43 colomon jnthn: Lots of room for optimization left, I'm sure.
21:43 jnthn Oh, for sure
21:44 jnthn The clever stuff is to come
21:44 jnthn As well as fixing plenty of not so clever things :)
21:50 tadzik jnthn: first blocker for panda: https://gist.github.com/tadzik/8497146
21:53 logie joined #perl6
21:54 FROGGS tadzik: can you gold it further?
21:54 FROGGS golf*
21:55 tadzik let's see
21:55 jnthn That looks just liek the way the dir.t fails
21:55 tadzik > perl6
21:55 tadzik Segmentation fault (core dumped)
21:55 tadzik uh
21:55 jnthn oh damn, repl needs fixing too...
21:55 tadzik it's just the repl
21:55 tadzik but yeah, dir(".") fails
21:56 FROGGS jnthn: I got stuck last time trying to fix it... I'd need you help then
21:56 tadzik I need to call it a day though, have to wake up on some idiotic hour tomorrow
21:56 FROGGS I hope it is not before $coffee
21:57 jnthn FROGGS: The repl?
21:57 jnthn FROGGS: Or dir?
21:57 FROGGS jnthn: the repl
21:58 jnthn FROGGS: ah, that I know is waiting for me to take a look
21:58 jnthn FROGGS: I intend to try and fix it before the monthly release
21:59 FROGGS I wanted to assign the stream type (0, 1 or 2) in getstdstream to u.fd, but this just crashes... IIRC the u.fd is garbled after a malloc of uv_stream_t or so
21:59 jnap joined #perl6
22:00 FROGGS and I think I will need the u.fd to do something with it in the eof check
22:09 raiph joined #perl6
22:10 itz_ that's the error I saw with perl6-m -MFile::Find -e 'say find(dir=>".").list'
22:10 jnthn Yeah. dir looks guilty :)
22:10 jnthn .oO( oh dir... )
22:11 itz_ *groan*
22:11 geekosaur joined #perl6
22:14 lue jnthn: I don't think I cd issue.
22:15 * psch .oO( you pushd that too far... )
22:15 * perigrin cron believe they're at it again
22:17 * lue wonders what will top this
22:17 perigrin lue: nothing will make it stop
22:18 raiph .oO ( zakharyas1 found a way to make it stop )
22:21 lue raiph: could I get some detailed info on how that happened?
22:21 FROGGS r: sub foo($bar, :$baz = none('.', '..')) { 42 }; say foo(1)
22:22 FROGGS legen...
22:22 FROGGS (wait for it)
22:22 camelia rakudo-parrot 979d2a, rakudo-jvm 979d2a, rakudo-moar 979d2a: OUTPUT«(timeout)»
22:22 FROGGS ?
22:22 itz_ woot! perl6-m is faster than the last star for my simple benchmark now
22:23 jnthn You may want to type that as Mu if you're gonna put a Junction in it...
22:24 FROGGS r: sub foo($bar, Mu :$baz = none('.', '..')) { 42 }; say foo(1)
22:24 camelia rakudo-parrot 979d2a, rakudo-jvm 979d2a, rakudo-moar 979d2a: OUTPUT«42␤»
22:24 FROGGS jnthn: thanks
22:26 kivutar joined #perl6
22:26 Ayiko joined #perl6
22:30 dalek rakudo/nom: e0dcc2e | jnthn++ | src/vm/moar/ops/container.c:
22:30 dalek rakudo/nom: Fix warning; diakopter++.
22:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e0dcc2e42b
22:30 dalek rakudo/nom: 89e8a6b | jnthn++ | src/Perl6/ (2 files):
22:30 dalek rakudo/nom: Lower signatures containing coercions.
22:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/89e8a6bae6
22:30 dalek rakudo/nom: d9506cb | jnthn++ | src/core/Enumeration.pm:
22:30 dalek rakudo/nom: More optimal Enum($val) implementation.
22:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9506cbc8f
22:32 dalek rakudo/nom: 051aa6e | (Tobias Leich)++ | src/core/IO.pm:
22:32 dalek rakudo/nom: fix IO::Path.contents for moar
22:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/051aa6e8a7
22:33 FROGGS tadzik / itz_: fixed
22:33 araujo joined #perl6
22:33 colomon jnthn: at 2013.12-304-g61860ff, moar is 1 sec faster than parrot for ABC tests
22:34 FROGGS how long does it take?
22:35 colomon 55s version 54s (p vs m)
22:35 FROGGS k
22:39 colomon 2m20s for jvm
22:39 FROGGS :o(
22:45 colomon FROGGS: it's not a :( -- it's an optimization opportunity of some sort.
22:45 timotimo jnthn: the more optimal enum implementation doesn't seem to restrict the number of arguments passed any more?
22:46 FROGGS colomon: surely :o)
22:46 timotimo has anyone checked to see how big the improvement from lowering the signature binding stuff is on jvm?
22:46 timotimo parrot doesn't get much improvement as the binder is in C there, right?
22:47 jnthn timotimo: JVM doesn't ahve the opt yet
22:47 timotimo oh, i didn't realize it was #if moar'd
22:48 timotimo ah well, it'll come soon enough :)
23:00 jnap joined #perl6
23:05 mtk joined #perl6
23:11 timotimo my measurement for parrot: TEST_JOBS=3 make p-spectest  1361,52s user 118,64s system 279% cpu 8:48,79 total
23:14 * jnthn awaits one moar report
23:17 btyler joined #perl6
23:18 timotimo TEST_JOBS=3 make m-spectest  1142,02s user 43,15s system 288% cpu 6:51,02 total
23:18 timotimo a bit better, but there were many tests files aborted early
23:18 jnthn Many?
23:18 timotimo all in all, pretty nice, though!
23:19 * jnthn only has a few aborts
23:19 jnthn And on short test files
23:19 timotimo 22
23:19 jnthn Is that 22 test files with failures, or 22 that aborted?
23:19 jnthn If 22 aborted, something is weird on your box.
23:19 timotimo 22 test files that said "less $n skipped"
23:20 jnthn Hm, that doesn't mean aborted, though?
23:20 timotimo one or two said "no subtests run"
23:20 timotimo ah. "crashed", then?
23:20 jnthn Yeah, "no subtests run" means crashed for sure
23:24 jnthn Anyway, 6:51 is almost 2 mins faster than 8:48
23:24 timotimo yeah :)
23:24 timotimo soon i should make sure perl6-bench runs moar for nqp and rakudo as well
23:29 FROGGS perl6-p spectests in 13:03.85 here, while perl6-m did it in 8:44.44
23:30 FROGGS that is with 4 jobs on a core i5
23:30 FROGGS maybe it would be a bit closer if I used three jobs
23:31 timotimo o/
23:31 jnthn FROGGS: But you used 4 jobs on both, yes?
23:32 FROGGS yes
23:32 FROGGS I can see it in my bash's history
23:33 FROGGS moar: 1903.59user 61.68system 8:44.44elapsed 374%CPU (0avgtext+0avgdata 544556maxresident)k
23:33 FROGGS parrot 2736.31user 176.74system 13:03.85elapsed 371%CPU (0avgtext+0avgdata 771712maxresident)k
23:33 FROGGS 370% cpu
23:33 jnthn 4 minute faster dev cycle for you, sir :)
23:33 FROGGS exactly :o)
23:36 timotimo did you notice how big the difference in maxresident is?
23:36 timotimo that's about a quarter!
23:37 jnthn r: 10565932 - 10364800
23:37 jnthn m: say 10565932 - 10364800
23:37 camelia rakudo-parrot 051aa6, rakudo-jvm 051aa6, rakudo-moar 051aa6: ( no output )
23:37 camelia rakudo-moar 051aa6: OUTPUT«201132␤»
23:38 FROGGS so what happened in 2011?
23:38 jnthn A 200KB code size saving in CORE.setting from a couple of boring code-gen tweaks. I'll take that.
23:39 FROGGS -rw-r--r-- 1 froggs froggs 2,1M Jan 19 00:04 CORE.setting.jar
23:39 FROGGS -rw-r--r-- 1 froggs froggs  11M Jan 19 00:08 CORE.setting.moarvm
23:39 FROGGS -rw-r--r-- 1 froggs froggs  21M Jan 19 00:15 CORE.setting.pbc
23:39 timotimo https://github.com/rakudo/rakudo/pull/236 <- discussion appreciated
23:39 FROGGS why is jvm's setting that damn small?
23:39 diakopter zip
23:39 jnthn 'cus it is zipped
23:40 jnthn This has the downside it can't be mmap'd
23:40 FROGGS ahh
23:41 grondilu rakduo on moarvm seems now much faster than on parrot.  Outstanding work, jnthn++!
23:42 * grondilu just tried counting up to 1000 and indeed it's faster on moarvm now
23:42 lee__ i still can't build it with clang :( i tried tweaking the makefiles but no luck so far
23:42 * FROGGS .oO( does it get the correct result? )
23:42 diakopter lee__: what's your configure line?
23:43 lee__ diakopter: --gen-moar --gen-nqp
23:43 lee__ it builds nqp, but fails on rakudo
23:43 diakopter do you have both gcc and clang installed?
23:43 diakopter need to tell moar to configure with clang
23:43 jnthn lee__: iirc, you're on OSX?
23:44 lee__ jnthn: correct
23:44 lee__ diakopter: just clang
23:44 jnthn If so, the issue is with linking rather than gcc vs clang, I think
23:44 grondilu shouldn't it be --gen-moar=master --gen-nqp=master?
23:44 lee__ jnthn: yes that appears to be the case
23:44 jnthn grondilu: No, not since moar-supprot was merged
23:44 grondilu k
23:44 lee__ i tried fiddling with rpath stuff, but i don't know it well
23:45 btyler lee__: yeah r-m fails to build due to linking ^, a few of us on osx have been bumping into it. been doing a bit of research into it, but I'm a mere webdev, and this is Real Programmer territory :)
23:48 dalek nqp: 6fc3da2 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
23:48 dalek nqp: Void context code-gen tweaks on Moar.
23:48 dalek nqp: review: https://github.com/perl6/nqp/commit/6fc3da2bba
23:48 dalek nqp: 5576436 | jnthn++ | tools/build/MOAR_REVISION:
23:48 dalek nqp: Get Moar without debugging code left in.
23:48 dalek nqp: review: https://github.com/perl6/nqp/commit/5576436082
23:50 dalek rakudo/nom: 2ca3ea4 | jnthn++ | src/Perl6/Actions.nqp:
23:50 dalek rakudo/nom: Lower slurpy array and some capture binds.
23:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2ca3ea4b45
23:50 dalek rakudo/nom: 912342b | jnthn++ | tools/build/NQP_REVISION:
23:50 dalek rakudo/nom: Get NQP with improvements/fixes.
23:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/912342bc5d
23:51 jnthn m: say "Now I spectest in {100*458/1662}% of the time I did this morning!"
23:51 camelia rakudo-moar 051aa6: OUTPUT«Now I spectest in 27.557160% of the time I did this morning!␤»
23:51 diakopter :)
23:51 jnthn Not a bad day :)
23:54 jeffreykegler joined #perl6
23:56 FROGGS hehe
23:56 FROGGS indeed
23:56 FROGGS jnthn++

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

Perl 6 | Reference Documentation | Rakudo