»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:00 pmurias left
timotimo seems like i'll have to re-run rakudo-moar/2014.07 00:02
00:02 raiph joined 00:08 rurban joined
timotimo and possibly also nqp-moar/2014-07, that seems to be missing a bunch 00:10
00:13 kurahaupo_ left 00:14 rindolf left, kurahaupo_ joined 00:16 chenryn left 00:17 virtualsue left
timotimo .tell japhb_ if you look at t.h8.lv/p6bench/2014-08-01-moar.html ... what could be the reason two implementations are missing in all (?) graphs? 00:22
yoleaux timotimo: I'll pass your message to japhb_.
btyler is there a good pattern for delegating to a member object? right now I'm futzing with add_fallback, but it feels a bit like a dead end 00:23
timotimo yeah
you should be using "handles" instead :)
btyler ah ha
timotimo m: class Foo { has Str $.text handles <lc uc tc> }; Foo.new(:text("Hi there, how are you")).lc.say
camelia rakudo-moar 89c8e4: OUTPUT«hi there, how are you␤»
timotimo m: class Foo { has Str $.text handles <lc uc tc> }; Foo.new(:text("Hi there, how are you")).uc.say 00:24
camelia rakudo-moar 89c8e4: OUTPUT«HI THERE, HOW ARE YOU␤»
btyler lovely
I made it here before feeling like there must be a nicer way: ' $object, $name { $object.json.^methods.grep({ $name })[0] }'
timotimo blushes
btyler (the second clause of add_fallback)
00:25 chenryn joined 00:27 aoseki joined, iarna joined 00:29 kshannon joined, cibs joined 00:30 akaseki left, rurban left 00:38 iarna left 00:41 aoseki left 00:42 akaseki joined 00:45 iarna joined, thou joined
timotimo jnthn: t.h8.lv/p6bench/2014-08-01-moar_redone.html - less broken now 00:46
btyler: i'm glad to hear you're progressing :)
00:49 thou left 00:50 aoseki joined, colomon joined
timotimo jnthn: it seems like we regressed for loop performance 00:51
btyler yep. current thorn: what does it take to implement roles like Associative or Positional? provide a few methods with the right names, a-la python magic methods?
00:51 nbrown_ joined
btyler or is "implement" the wrong way to think about them (given that they're not interfaces) 00:51
timotimo thorn as in: can't figure it out or as in: the documentation doesn't say?
btyler can't find it in the docs, examples in rakudo source seem thin on the ground since it's apparently taken care of in bootstrap 00:52
jnthn timotimo: Ah, good to know. Remind me tomorrow, I'll bet the improved sink context stuff knocked the analysis off.
timotimo ah!
00:52 akaseki left
timotimo that seems like a good indication 00:52
btyler: not in bootstrap; look at Any.pm 00:53
dalek kudo/nom: 3618990 | jnthn++ | src/Perl6/Optimizer.nqp:
Make Junction optimization less costly.

This refactor splits analysis and transform, decreasing the cost of the common case when we just analyze and realise we're not looking at a Junction.
kudo/nom: 9d6c19c | jnthn++ | src/Perl6/Optimizer.nqp:
Refactor visit_op in optimizer.

This not only makes it a good bit cleaner, but also reduces the cost.
00:55 nbrown_ left 00:56 iarna left
timotimo aye, the tree looks significantly different now 00:56
it starts with a bind to an inline arg, binds the number that came before the ^ there, then comes a decontrv ... and the inside of the prefix:<^> operator i believe 00:57
00:57 akaseki joined
timotimo maybe it'd be enough to signalize not to inline the .. operator and its variants %) 00:59
jnthn Well, sleep time for me...'night
timotimo good night, jnthn!
00:59 aoseki left 01:00 aoseki joined 01:02 akaseki left 01:11 iarna joined 01:12 chenryn left 01:18 BenGoldberg joined 01:24 BenGoldberg left 01:25 slavik left, xenoterracide_ joined 01:28 PotatoGim left 01:33 BenGoldberg joined 01:35 silug left 01:36 dayangkun joined 01:37 slavik joined 01:40 silug joined 01:41 xenoterracide_ left 01:42 klapperl_ joined 01:45 klapperl left
colomon o/ from Newfoundland! 01:46
01:47 xenoterracide joined 01:48 FROGGS_ joined
dalek ast/S26-WHY: 2eb4bd7 | (Rob Hoelz)++ | S26-documentation/why-leading.t:
Use a variable to track POD contents
ast/S26-WHY: a370b4f | (Rob Hoelz)++ | S26-TODO.md:
More TODOs
ast/S26-WHY: 01725c6 | (Rob Hoelz)++ | S26-documentation/why-leading.t:
Check WHEREFOREs in leading test
ast/S26-WHY: 503754b | (Rob Hoelz)++ | S26-documentation/why-trailing.t:
Check $=pod for trailing comments
01:51 FROGGS left 01:54 ventica left 01:58 kst` joined, colomon left, anocelot_ joined 01:59 slavik1 joined, cognominal left, cognominal joined, slavik left, kst left, FROGGS_ left, FROGGS_ joined 02:01 anocelot left 02:02 aoseki left, xenoterracide left 02:03 sftp joined 02:08 anaeem1 joined 02:09 anaeem1 left, anaeem1 joined 02:11 autark left 02:14 anaeem1 left, noganex joined 02:18 noganex_ left, dwarring left 02:19 nbrown joined 02:21 chenryn joined 02:28 anaeem1__ joined 02:32 anaeem1__ left
japhb botsnack 02:33
yoleaux 31 Jul 2014 19:54Z <timotimo> japhb: i really ought to pay close attention to the flags for the test runner when i do jvm benchmarks ... i should let it do fewer tests in a row or something ... or could we perhaps have an option that allows us to scale two steps at a time?
japhb_ botsnack
02:33 thou joined
yoleaux 00:22Z <timotimo> japhb_: if you look at t.h8.lv/p6bench/2014-08-01-moar.html ... what could be the reason two implementations are missing in all (?) graphs? 02:33
japhb_ Oy, that's annoying
02:34 xenoterracide joined 02:36 anaeem1 joined
japhb .tell timotimo Reason for some implementations to be missing from most graphs: having run a limited test with some of the implementations and not the others. The default behavior is that running a new set of tests for a given compiler checkout will overwrite the timings for that compiler checkout, not combine with previously existing runs. This is because combining could too easily result in nonsense. 02:36
yoleaux japhb: I'll pass your message to timotimo.
japhb .tell timotimo So if your most recent run for each of the compared compiler builds did not specify the same tests, you're going to find that some/most of the plots will be missing some lines. You can see this if you do a simple text mode comparison; you'll see a lot of missing data. 02:38
yoleaux japhb: I'll pass your message to timotimo.
02:38 thou left 02:40 lustlife joined
timotimo hey japhb 02:40
yoleaux 02:36Z <japhb> timotimo: Reason for some implementations to be missing from most graphs: having run a limited test with some of the implementations and not the others. The default behavior is that running a new set of tests for a given compiler checkout will overwrite the timings for that compiler checkout, not combine with previously existing runs. This is because combining could too easily result in nonsense.
02:38Z <japhb> timotimo: So if your most recent run for each of the compared compiler builds did not specify the same tests, you're going to find that some/most of the plots will be missing some lines. You can see this if you do a simple text mode comparison; you'll see a lot of missing data.
timotimo i'm up way past my bedtime 02:41
japhb Ah, I understand your concern with the JVM testing time. Hmmm, I need to think about that.
02:41 anaeem1 left
japhb timotimo: So sleep! :-) 02:41
timotimo you "understand my concern"?
have you actually tried it?
hold on, let me get my timings
japhb Yes. I don't test with the JVM backend anymore. I don't have the time for it, NPI.
It's all death by startup time. 02:42
timotimo at almost exactly 1800 i started my benchmarks
yes, it is
at 0100 it wasn't finished yet.
i ran nqp-moar, nqp-parrot, nqp-jvm, rakudo-moar, rakudo-parrot, rakudo-jim 02:43
japhb I've several times tuned bits of timeall to try to get valid data while forcing fewer actual test runs, so that JVM would be less painful. And then we collectively more than made up for it with new tests and the minimum-three-data-points rule. :-(
timotimo well, actually, at about 0000 +/- 0030 i got to rakudo-jvm, which was followed by nqp-jvm, which was the last one
japhb "It's Rakudo, Jim. But not as we know it ..."
timotimo japhb: have you seen how close we are to the nqp timings with rakudo?! 02:44
japhb Where's your most recent plot data?
timotimo t.h8.lv/p6bench/2014-08-01-moar_redone.html 02:45
if you like line soup: t.h8.lv/p6bench/2014-08-01-three_backends.html
i think i should re-gen these graphs, too
F5 for a few more lines 02:46
jnthn said he'd put a few tricks we learnt on moarvm to good use on rakudo-jvm 02:47
when that happens, i would expect the rakudo-jvm line to approach the nqp-jvm line in a drastic way
japhb Hmmm, In some tests Rakudo is quite close to NQP, and in a few others still quite a bit behind -- but not nearly as bad as last year.
timotimo yes 02:48
btyler I've noticed the recent bench runs have tended to not include perl 5. time saving measure, too many unimplemented benchmarks, or just not what's being measured atm? 02:49
timotimo oh
i can run a perl5 benchmark, too
02:49 nbrown left
btyler I guess "or just forgot" should have been part of the question :) 02:49
timotimo i have to build a perl5 first :)
02:50 nbrown joined, nbrown left
timotimo i hope chatting on irc via ssh won't disturb my cpu too much to get acceptable benchmark timings 02:50
japhb timotimo: just keep a perl5 build around. It's not like we need to follow blead. :-)
timotimo perl5 will be too good in all the benchmarks anyway :)
japhb Wow, as long as you avoid a couple big issues (concat, push), nqp-jvm is wicked fast when it gets going. I mean, DAMN. 02:51
timotimo yes
it doesn't get going during compilation, sadly
.o( though if we used the evalserver for that ... )
02:52 nbrown joined
japhb Too much risk of contamination between runs to use the same process space for more than one run. :-( 02:52
timotimo for compilation?
japhb Oh, I thought you mean the startup compile time for each test. 02:53
timotimo no
not for benchmarks
oh, another thing
how hard would it be to "transpose" perl6-bench
japhb Which actually is probably getting better with jnthn++'s general closure and dynlex reduction work
timotimo as in: test different implementations of the same code with the same implementation
back when i wrote the junction optimization code i wasn't aware of the performance ramifications of nested subs 02:54
japhb I think you're talking about a feature I was thinking of overlaying plots
timotimo that would certainly be useful
though i'd also imagine you'd have one graph for each implementation, showing all "versions" of the benchmark in one graph
btw, can we somehow put an installation for Data::Alias into the automatic build process of perl5 in perl6-bench? 02:55
japhb We really need to have a doc that has rules of thumb about what to do or avoid in performance-critical code. Because trawling through commit logs -- or even more verbose, #perl6 -- isn't tenable.
timotimo number one rule really is: measure, measure, measure 02:56
japhb timotimo: yeah, post-build module installation has been on my list for a while. Just haven't had tuits for it. I want to have it for all compilers that have a module ecosystem, so we can e.g. test performance of things from the panda ecosystem.
02:57 anaeem1_ joined
japhb timotimo: well yeah, sure. But I'm talking general things that have unexpectedly large cost, like creating a closure inside an inner loop. 02:57
Things that are only obvious in retrospect.
.oO( ... in introspect? )
02:58 raiph left
japhb Oh, and I think I can reasonably claim to be the last person that needs to be told to measure performance. :-) 02:59
timotimo hahah :D
sorry, you're right of course
02:59 lustlife left, cognominal left, cooper_ left, avuserow left
timotimo hopefully in the future we'll have some great tooling to get a good look at performance vitals of both user code and compiler internals 02:59
03:00 tadzik left
japhb Yeah, quite. I'm salivating over the idea of having profile flame plots in r-m 03:00
03:01 tadzik joined, ventica joined
timotimo how woud that look? highlight lines with their time cost? 03:01
03:01 anaeem1_ left, cognominal joined
timotimo t.h8.lv/p6bench/2014-08-01-three_backends.html - updated with perl5 - t.h8.lv/p6bench/2014-08-01-three_backends.html 03:01
japhb Gah, bus stop. Will have to pick this up later. 03:02
03:02 avuserow joined
timotimo but ... you just sent me to bed! :P 03:02
japhb I'll .tell you 03:03
timotimo but i enjoy interacting with you :\
03:03 cooper_ joined
btyler holy cow, thanks timo 03:03
timotimo wow. what. in postwhile_nil_native, rakudo-moar is actually faster than nqp-moar? that's gotta be wrong %)
it could quite possibly be that nqp::list is more expensive than a WVal to grab the Nil that we have in the perl6 code 03:05
btyler this is really cool -- puts 'nqp-jvm is damn fast' into much better perspective
timotimo i wonder why jvm tanks so hard in the concat tests
yes, the int2str_concat performance puzzles me 03:06
maybe our numification is just ridiculously underperformant?
it would make a whole lot of sense if perl5 was crazy fast at that 03:07
03:07 Woodi left
btyler yeah 03:08
timotimo when we get the for optimization back into rakudo, we should see much better results for the "for" benchmarks, too 03:09
like, there was a 3x performance drop on moar; the same problem probably exists on all backends
it is to be expected that our performance post-regression-fix comes out a bit higher than it was in the 2014.07 release 03:10
03:11 lustlife joined, iarna left, nbrown left, iarna joined
btyler I wonder what ruby's performance was like compared to p5 when it was first starting to become popular 03:13
timotimo perhaps the most amazing thing about the performance graphs is how strong the difference is between the jvm rakudos on the normal and the native variants of benchmarks 03:14
visit_2d_indices_loop for example
106x slower than fastest ← non-native rakudo-jvm
btyler the general impression I have is "slow", but it'd be interesting to have a more concrete idea. rakudo being within 20x of perl5 for lots of workloads is probably starting to edge into the same mult as ruby originally had vs perl5
timotimo 30x slower than fastest ← perl5 vs native rakudo-jvm
btyler yeah, I noticed that as well
timotimo (or 15x if you count that at the same x position) 03:15
it amazes me especially much how good we perform at rational numbers (i think these tests test fatrats) 03:16
anyway, ought to go to bed now :) 03:19
btyler night!
03:19 nbrown joined
timotimo .o( perl5.20 is exactly as fast at rc-mandelbrot as the recent rakudo-moar's ) 03:20
03:23 ventica left 03:24 [Sno] left 03:28 takesako left 03:32 telex left 03:34 telex joined 03:35 nbrown left 03:43 takesako joined 03:46 BenGoldberg left 03:48 dayangkun left 03:51 ilbot3 joined 03:53 kurahaupo_ left, cibs left 03:54 iarna left, cibs joined 03:55 BenGoldberg joined, [Sno] joined 03:56 ventica joined 03:59 akaseki joined 04:02 kaare__ joined 04:03 xenoterracide left 04:05 dayangkun joined 04:06 rurban joined, kaare__ is now known as kaare_
btyler lots more to do, but if anyone has a need for speedy JSON parsing (no encoding yet), I'd appreciate feedback: github.com/kanatohodets/p6-json-jansson 04:12
also - is there any standard in p6 land for module installation scripts? it'd be nice to check for NativeCall and jansson on install 04:14
gtodd heh I think FROGGS_wanted some JSON workers :-) 04:17
04:22 thou joined 04:26 thou left 04:28 chenryn left
gtodd m: my %x; %x{1}=[<a b c d e>]; say "alpha hash time" if "a" ~~ %x{1} ; 04:34
camelia ( no output )
TimToady this is not Perl 5, and there are no impicit 'any' semantics on smartmatching lists 04:36
m: my %x; %x{1}=[<a b c d e>]; say "alpha hash time" if "a" ~~ %x{1}.any
camelia rakudo-moar 89c8e4: OUTPUT«alpha hash time␤»
TimToady *plicit
m: my %x; %x{1} = any <a b c d e>; say "alpha hash time" if "a" ~~ %x{1} 04:37
camelia rakudo-moar 89c8e4: OUTPUT«alpha hash time␤»
TimToady though that works
m: my %x; %x{1} = set <a b c d e>; say "alpha hash time" if "a" ∈ %x{1} 04:38
camelia rakudo-moar 89c8e4: OUTPUT«alpha hash time␤»
TimToady so does that
avuserow btyler: you should be able to depend on NativeCall since it's in the p6 ecosystem
TimToady m: my %x; %x{1} = set <a b c d e>; say "alpha hash time" if x{1}<a> 04:39
camelia rakudo-moar 89c8e4: OUTPUT«===SORRY!=== Error while compiling /tmp/XOOtufo24w␤Undeclared routine:␤ x used at line 1␤␤»
TimToady m: my %x; %x{1} = set <a b c d e>; say "alpha hash time" if %x{1}<a>
camelia rakudo-moar 89c8e4: OUTPUT«alpha hash time␤»
avuserow btyler: that is, once you make your module installable by panda
TimToady or even that
gtodd: ^^
avuserow btyler: not sure how one goes about detecting and gracefully requiring a native library, if that's even possible at present. I'd love to know for my own modules. 04:40
04:43 gfldex joined 04:47 Woodi joined 04:54 kaare_ left 04:57 rindolf joined 04:59 chenryn joined 05:00 avuserow left
btyler avuserow: I was thinking of just running a script with nativecall that tried to call one of the methods, then catching the error it generates if it can't find the lib 05:02
*one of the methods of the native lib 05:03
05:07 rurban left 05:08 thou joined 05:18 avuserow joined 05:21 kaare_ joined 05:27 kaare__ joined 05:28 [Sno] left, BenGoldberg left 05:30 kaare_ left 05:35 bcode joined 05:38 gfldex left 05:39 avuserow left
dalek ast/S26-WHY: 623f1f5 | duff++ | S26-documentation/why-leading.t:
Add leading tests for role, submethod, grammar, rule, token and regex
05:57 avuserow joined 06:00 denis_boyun joined 06:04 thou left 06:06 aoseki joined, akaseki left 06:10 darutoko joined 06:12 dayangkun left 06:14 akaseki joined 06:16 aoseki left
sergot o/ 06:18
06:19 aoseki joined 06:20 Rotwang left 06:22 akaseki left 06:24 aoseki left 06:25 akaseki joined, kivutar joined 06:29 kurahaupo_ joined, dayangkun joined 06:30 grondilu joined
grondilu failed to compile rakudo on moarvm: paste.siduction.org/20140801062936 06:30
Stage optimize : Cannot find method 'orig'
06:34 aoseki joined
grondilu cleans up his install and nqp directory and retries 06:34
06:37 akaseki left 06:42 virtualsue joined 06:56 [Sno] joined 07:02 kaleem joined 07:06 bjz joined
grondilu failed again 07:07
07:08 fhelmberger joined 07:15 ventica left, kaare__ is now known as kaare_ 07:19 virtualsue_ joined, ventica joined 07:20 virtualsue left, virtualsue_ is now known as virtualsue 07:23 cognome left 07:24 cognome joined 07:30 cognome_ joined 07:32 cognome left 07:38 ventica left 07:40 dmol joined 07:41 pecastro left 07:46 Woodi left, Woodi joined
masak morning, #perl6 07:47
07:50 ventica joined
moritz idly wonders if any company has a clean solution for aggregating accounting data, matching it with product definitions and generating invoices out of them 07:52
at $work, this is a regular pain point, and my searches for existing solutions only brought up very specialized solutions (like, for telephony) 07:53
07:58 ventica left 08:00 FROGGS_ left 08:01 ventica joined 08:07 takesako left
xiaomiao moritz: that smells like ERP, and it's a quicksand trap I refuse to go near while sober 08:08
08:11 takesako joined 08:13 zakharyas joined
moritz xiaomiao: yes, but not quite ERP 08:17
08:18 dakkar joined, Ven joined, Ven left 08:19 vendethiel left 08:21 dayangkun_ joined 08:24 ventica left 08:25 dayangkun left 08:31 virtualsue left 08:41 Akagi201 left 08:43 cooper_ left 08:44 cooper- left, zakharyas left 08:47 FROGGS[mobile] joined
nwc10 \o 08:50
masak p6: say DateTime.now ~~ Date.today 08:55
camelia rakudo-{parrot,moar} 89c8e4: OUTPUT«True␤»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Date' 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_uni…»
..rakudo-jvm 89c8e4: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
masak \o/
pm: say DateTime.now ~~ Date.today 08:56
m: say DateTime.now ~~ Date.today
camelia rakudo-moar 89c8e4: OUTPUT«True␤»
masak p: say DateTime.now ~~ Date.today
camelia rakudo-parrot 89c8e4: OUTPUT«True␤»
masak r: say now ~~ Date.today
camelia rakudo-{parrot,moar} 89c8e4: OUTPUT«False␤»
..rakudo-jvm 89c8e4: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
masak I'm wondering if that shouldn't work too...
any votes for or against? 08:57
moritz +1 for it 08:58
masak the ones I see making sense (and not always returning False) are DateTime ~~ Date (fixed already, PerlJam++), Instant ~~ Date, Instant ~~ DateTime, and DateTime ~~ Instant. 09:04
09:05 PotatoGim joined
moritz I'm not really up to date (sic) wrt datetime and instant 09:05
can those always be round-tripped?
or does one of the require extra time zone information, for example? 09:06
masak I'm not sure roundtripping is required for smartmatching to make sense.
only that a given datetime unambiguously stands for a given instant.
(and I'm holding my breath instaad of saying "...and vice versa", because it's not 1-to-1, thanks to timezones and other stuff) 09:07
moritz but then only one of those smartmatchings makes sense, no?
ah, no
never mind
masak no, I think both do.
they both ask sensible questions. 09:08
moritz and instance can be represented as several DateTimes with different time zones
masak aye :)
moritz but you can still query the correspondence
moritz feels he understood something
masak and there are "illegal" DateTimes which, (if you could create them) don't have a corresponding Instant.
and there are "double" DateTimes which happily match two Instants. thanks, DST, you jerk. 09:09
moritz (and now you also know why I implemented only Date, and left DateTime to somebody else :-)
masak :D 09:10
Temporal, the way it eventually turned out, was a wonderfully successful case of "I'll leave this to someone else" :)
and we managed to do it without having any Discordian Hexagonal Klingon Swatch time left in the spec :P
I still think there's room for something like DateTime::Interval. but it can easily be mapped out in module-land first. 09:12
with minimal duck punching.
m: say $*TZ 09:15
camelia rakudo-moar 89c8e4: OUTPUT«0␤»
masak ...isn't camelia running in .nl ? shouldn't that be 7200, then? 09:16
it's 7200 locally.
09:18 SamuraiJack joined 09:23 pecastro joined, dayangkun_ left
moritz camelia isn't running on feather anymore 09:25
masak is it running in a 0-offset timezone?
moritz it's running on the internet :-) 09:26
moritz@host07:~$ date
Fri Aug 1 09:26:17 UTC 2014
it's timezone is configured to be UTC
masak oki
that explains it.
09:30 spider-mario joined 09:33 colomon joined 09:36 dayangkun_ joined 09:38 virtualsue joined 09:40 bjz_ joined 09:41 bjz left, anaeem1 joined
lizmat good *, #perl6! 09:49
hmmm... I can't get rakudo to build on Moar atm 09:50
Stage optimize : Cannot find method 'orig' 09:51
at src/Perl6/Optimizer.nqp:353 (blib/Perl6/Optimizer.moarvm:add_memo:19)
from src/Perl6/Optimizer.nqp:348 (blib/Perl6/Optimizer.moarvm:add_worry:19)
looks like it is jnthn's last commit 09:52
jnthn wtf
Works here
lizmat want me to give you the full stacktrace ?
jnthn oh 09:53
Maybe I shoulda bumped NQP_REVISION...
oh, and MOAR_REVISION even more so given there's bug fixes. 09:55
dalek p: 4c90808 | jnthn++ | tools/build/MOAR_REVISION:
Get various MoarVM improvements.
kudo/nom: 4024362 | jnthn++ | tools/build/NQP_REVISION:
FROGGS[mobile] jnthn: we really need to fix parrot :/
jnthn FROGGS[mobile]: I can't actually build nqp-p at the moment due to link errors. :/ 09:57
lizmat rebuilding and spectesting...
will also do parrot and jvm this time
09:58 fhelmberger left
jnthn FROGGS[mobile]: Is it just the inexplicable fallout of the junctions related patch I did that's at issue? 09:58
cognominal r: my @a = "a\n\n\nb\n \nc".split: /[\h*\n]{2..Inf}/; say @a.perl 09:59
FROGGS[mobile] jnthn: seems like, aye
camelia rakudo-{parrot,moar} 89c8e4: OUTPUT«Array.new("a", "", "", "b", "", "c")␤»
..rakudo-jvm 89c8e4: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
cognominal oops 10:00
r: my @a = "a\n\n\nb\n \nc".split: /[\h*\n]**{2..Inf}/; say @a.perl
camelia rakudo-{parrot,moar} 89c8e4: OUTPUT«Array.new("a", "b", "c")␤»
..rakudo-jvm 89c8e4: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
cognominal that's better
masak moritz: speaking of time zones: www.commitstrip.com/en/page/20/ 10:08
dalek ast: 2073365 | (Elizabeth Mattijsen)++ | S06-routine-modifiers/lvalue-subroutines.t:
Another fudge for (probably) #122448
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122448
lizmat on Moar: All tests successful. 10:18
Files=908, Tests=31977, 226 wallclock secs ( 9.09 usr 4.02 sys + 1420.95 cusr 173.06 csys = 1607.12 CPU)
jnthn can't remember the last lizmat measurement 10:19
lizmat well, it was about the same, but with fewer tests
10:28 akaseki joined, chenryn left 10:32 aoseki left
moritz masak: :-) 10:38
10:42 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar 10:44 anaeem1 left 10:45 anaeem1 joined
lizmat hmmm... quite severe breakage on parrot indeed 10:49
10:49 anaeem1 left
lizmat gist.github.com/lizmat/72dc142c2aac6b402b64 # failures on parrot 10:50
masak has anyone bisected it? is there a likely culprit commit? 10:51
jnthn Yes, we know which commit did it.
masak ah.
jnthn Well, provided that one is the only issue
10:52 kurahaupo_ left
masak is it possible to revert it and see if everything rebuilds fine? 10:52
jnthn But (a) it makes no sense it should cause this kind of failure, and (b) latest nqp-p doesn't build on Windows, meaning it's a yak shave for me to go hunt it
masak *nod*
lizmat imgur.com/86npB1j # wonder what Perl 6 will be :-)
10:53 chenryn joined
masak Perl 6 does the same, but the 2012 version is 10 cm high, and the 2014 version is 50 cm high :) 10:54
10:55 anaeem1 joined
nwc10 the Perl 5 truck is old and ugly, and the snowplough is clearly hacked together and welded onto the front. 10:56
masak still, it gets things done. 10:57
nwc10 yes, sorry, forgot that that doesn't go without saying
masak it puts food on a lot of people's families every day.
nwc10 for some reason it's put too much food on the table here at work today 10:58
(catering oversupply)
must be Perl's fault.
masak well, you saw the utter efficiency of Perl in that gif :P
no wonder there's a lot of food.
11:00 anaeem1 left 11:01 carlin left, rindolf left 11:02 rindolf joined
Woodi hallo today :) 11:02
11:02 anaeem1_ joined
masak cześć, Woodi 11:03
11:05 carlin joined
Woodi moritz: I think double accounting is general cure and solid base for such cases. but it's a overkill, it's so solid that ppls don't like it :) 11:09
moritz Woodi: this is not about the actual accounting/bookkeeping 11:10
Woodi: but about collecting your customer's user data, and using that to generate invoices
Woodi it's very interdisciplinary problem :) I like put users personal data into LDAP and have automatic balances from double accounting system :) 11:12
btw. I do not have such system :)
masak moritz: your desired system sounds interesting. unfortunately, I don't know about any prior art. 11:13
Woodi requirements, details, analysis, specifications, lot's of work :) 11:14
moritz I found blog.plover.com/prog/Moonpig.html quite interesting, and it solves part of the problem (the billing), but with quite different constraints than ours 11:18
11:21 SamuraiJack_ joined 11:22 SamuraiJack left
Woodi I think mjd is proud of quality in moonpig project :) but I also got impression it is crafted for theirs needs... 11:23
I 11:24
... still hope mjd disagree with my impression :)
moritz wy wouldn't it be craftef for their needs? 11:25
Woodi it was internal project for some mail company and lot's of code there is for theirs ways of calculating receivables... it's possible project is written with general case in mind but probably I need some training to see this 11:28
and it have all web interface ! somehow I hate this... keyboard presses lag, all that infrastructure between... when you have, let's say 100 invoices to put into system (per day or week) you realy want curses-like app responsibility 11:33
nwc10 I have just found that this exists and it it pleases me that it is so: www.swearemipsum.com/ 11:35
11:37 fhelmberger joined 11:40 SamuraiJack__ joined 11:43 kivutar left 11:44 SamuraiJack_ left, chenryn left 11:49 mr-foobar joined 11:51 kivutar joined 11:54 dmol left
dalek p: 6923af7 | jnthn++ | src/vm/moar/QAST/QAST (2 files):
Assorted small optimizations to QAST -> MAST.
p: 4b6a4af | jnthn++ | src/how/NQPClassHOW.nqp:
Cheapen late-bound method lookup.
ast/S26-WHY: b6ebef3 | duff++ | S26-TODO.md:
Update S26-TODO.md
12:00 SamuraiJack__ left
dalek kudo/nom: 5f7eaa6 | jnthn++ | src/Perl6/Optimizer.nqp:
Optimize the optimizer somewhat.

Shaves about a third off its execution time.
kudo/nom: 4d347fd | jnthn++ | src/Perl6/World.nqp:
Cheapen dynamic compilation somewhat.
nwc10 jnthn: I was *joking* about negative parse times in the near future. You weren't supposed to take me seriously :-) 12:04
12:06 nhayashi left 12:16 slavik1 left, kurahaupo_ joined
jnthn It's still a good bit too positive :P 12:18
12:19 kst`` joined 12:21 kst` left, kaare_ left 12:27 Ven joined
lizmat jnthn: is this a strange error message? postcircumfix:<{ }> binding not defined for type Hash 12:29
12:29 slavik joined
lizmat aha, most definitely 12:30
the error goes away with MVM_SPESH_DISABLE=1 12:31
golfing down
jnthn lizmat: Yeah, that's on my todo list for today; FROGGS ran into it also
lizmat in my case, it comes from a repeated call to $foo<a><b> := $bar 12:32
where <a> and <b> are varying
seems to happen on the 22nd iteration on a given $foo 12:33
Ven is using Perl 6 to parsing some PDF, and it feels good. 12:38
12:38 kurahaupo_ left, kurahaupo_ joined
Ven has no idea what the hell he's doing 12:39
lizmat .o( PDF parsing ? ) 12:40
Ven doesn't look like dwarring++'s library uses `is export` anywhere
well, it's not like there's docs, so I'm trying to read the tests .. 12:42
12:42 oetiker joined 12:44 slavik left
Ven well, doesn't seem like it'll quite do what I want it to. Too bad. 12:44
12:45 slavik joined 12:48 Alula_ left, Alula_ joined
Ven `say PDF::Grammar::Content.pdf(slurp($f))` => Any :( 12:49
12:52 molaf joined
dalek ast/S26-WHY: fd583ac | (Rob Hoelz)++ | S26-documentation/why-leading.t:
ast/S26-WHY: fad2530 | (Rob Hoelz)++ | S26-documentation/why-leading.t:
Add test names to failing WHEREFORE tests
12:54 rurban joined 12:57 anaeem1_ left
Ven why did I even try to parse that pdf ... 3 vim commands and it's done 13:04
lizmat wonders how much can be done in 3 vim commands 13:06
Ven I could've done it in 1, I just didn't know ":v" 13:07
13:07 chenryn joined
PerlJam lizmat++ (grant manager for the next attempt to betterify ACT) 13:08
lizmat PerlJam: thank you
let's hope this one will go better than the other grants I've been / am grant manager of
BTW: for which I'm actually quite hopeful :-) 13:09
PerlJam I didn't get a good vibe from the grant application, but with ribasushi and SawyerX chiming in their support and you as grant manager, I feel better about it. 13:11
lizmat in a way, it's the 3rd reboot of Act 13:12
Ven wonders what the topic is 13:15
timotimo wowza, only turning dynamic vars into member vars shaves off a *third* of the execution time 13:16
PerlJam Ven: What ACT is or what the grant is?
timotimo (of the optimizer)
Ven PerlJam: both 13:17
grondilu eventually managed to compile rakudo
jnthn timotimo: No, it's a bit more subtle than that.
timotimo ah? 13:18
jnthn timotimo: It also got rid of a lot of non-flattenable scope entries and switched them over to be native ints.
PerlJam Ven: act.mongueurs.net/ has some links for more info about ACT, and the grant proposal is at news.perlfoundation.org/2014/07/gra...--voy.html
timotimo oh!
yeah, that does sound nice to have :)
jnthn Together, on very hot paths called tens of thousands of times, it adds up.
gtodd TimToady: thanks re: hashes lists and "any" ... I was following along the smart matching examples from the ORA book "Perl6 Essentails" and they weren't working
timotimo gtodd: how recent is that book? 13:19
gtodd pretty old :-)
I see no mention of .any
well not in that section
PerlJam that book is 10 years old.
13:19 chenryn left
gtodd hehhe 13:19
PerlJam A great many things have changed since it was published ;)