00:36 teatime joined 01:07 vendethiel joined 01:18 geekosaur joined 02:36 vendethiel joined
nine_ Ok, commit github.com/perl6/nqp/commit/cbdf5b...4c9a73bd63 should be somewhat harmless anyway. 06:25
But please review it!
jnthn_: ^^^ 06:26
06:51 RabidGravy joined
|Tux| This is Rakudo version 2016.03-127-g617bb41 built on MoarVM version 2016.03-108-gca1a21a 07:44
test 21.382
test-t 12.561
csv-parser 25.369
masak [Tux]: so, are we getting faster, or slower? 07:45
|Tux| noise
and 108 is the same as friday
I'll have to sit down with Liz to dig into why 07:46
08:02 brrt joined 09:14 |Tux| joined
jnthn nine_: It looks sensible and clean. Nice work! 10:22
nine_ jnthn: thanks! I still wonder though: since I'll need the same trick for Perl6::World, should I derive a Perl6::CompilationContext from CompilationContext or should I keep them separate? 10:30
That I can't come up with a sensible name for the accessor method that returns the Perl6::CompilationContext is probably a hint that I should use inheritance there.
jnthn nine_: Either that or CompilationContext is a role and NQP and Perl6 mix it into their implementations 10:32
nine_ Well, there's already inheritance between HLL::World and Perl6::World and the CompilationContext is just a part of the World's job. I guess what's keeping me from just using inheritance there is that I'm unsure if CompilationContext is a good name and for inheriting, I have to pull it out of HLL::World's lexical scope and make it public where names matter much more. 10:35
jnthn It already is public, no?
You didn't stick a my on it?
+ class CompilationContext {
Yeah, already public :)
nine_ Oh...then I just should stop thinking too much about that :) 10:36
jnthn :)
10:36 pmurias joined 11:02 brrt joined 11:04 japhb_ joined
dalek p: 4fa32c2 | (Pawel Murias)++ | src/vm/js/bin/cross-compile.nqp:
[js] Unbitrot after cbdf5bb71f1b3c815386e2ac949f9a4c9a73bd630.
p: 52f5701 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Have a nqp::backtracestrings that returns a NYI instead of a huge useless error.
p: df02637 | (Pawel Murias)++ | src/vm/js/Operations.nqp:
[js] Comment why we expose add_op as a method.
p: d1dc2e2 | (Pawel Murias)++ | src/vm/js/nqp-runtime/s (2 files):
[js] Serialize the boolification spec.
p: 8268b0e | (Pawel Murias)++ | t/serialization/02-types.t:
Test that the boolification spec gets serialized.
11:16 teatime joined
dalek kudo/nom: 6beddba | azawawi++ | / (2 files):
Add AppVeyor (Windows 7 64-bit CI testing) along with a badge in README
kudo/nom: 1aabef8 | moritz++ | / (2 files):
Merge pull request #746 from azawawi/nom

Add AppVeyor (Windows 7 64-bit CI testing) along with a badge in README
11:28 azawawi joined
azawawi Just discovered another chat room where Perl 6 is being secretly developed :) 11:30
moritz so secretly that irclog.perlgeek.de/ lists the channel :-)
azawawi it was secret to me though. please let me live the moment :) 11:31
ci.appveyor.com/project/rakudo/rak...branch/nom # we need to activate appveyor ci on rakudo/rakudo
11:31 astj_ joined
moritz it says "OK 11:56
Project not found or access denied.
and yes, I did sign up with my github account
oh, I have to set up authorizatioin separate from the login 11:58
and now "Project not found or access denied." 11:59
ok, found my way around eventually 12:00
... but it's ci.appveyor.com/project/moritz/rakudo now 12:01
now rakudo/rakudo
azawawi perfect... it is now working... moritz++ 12:02
12:04 ufobat joined 12:19 cognominal joined 12:42 perlpilot_ joined 13:09 vendethiel joined
[Coke] saw some nice REPL updates from awwaiid in Baltimore, hoping those can land before May. :) 14:04
awwaiid [Coke]: I was able to make progress and freshened the PR, it's in review/bugfix mode! github.com/rakudo/rakudo/pull/738 14:12
After this PR my goals are to remove the rest of nqp:: calls from REPL.pm, and then make it so you can invoke the REPL in your code (REPL::here or MY::REPL or similar, starting a REPL in the current scope) 14:13
I'm currently trying to talk hoelzro into not having a fallback-to-nqp-repl mode :) 14:14
14:32 vendethiel joined
dalek ast: 372b17d | usev6++ | S03-operators/assign.t:
Fix test count
jnthn awwaiid: Why not a fallback, ooc? 14:37
awwaiid: Or, is the Perl 6 version robust enough to survive, e.g., no libreadline and so on? 14:38
hoelzro the P6 REPL can survive without readline and such; I just wanted to make sure it's pretty stable before we commit to it fully 14:41
it's only been in nom for a few weeks
jnthn OK. What was the JVM situation? 14:42
hoelzro for the REPL?
jnthn yeah
hoelzro REPL6 doesn't currently work on the JVM ='(
jnthn That'd be one reason not to remove the fallback... 14:43
Though is the fallback just "use the existing NQP one"?
hoelzro for some reason or another, I can't assign the Perl6::Compiler object from NQP land to $!compiler in the Perl 6 REPL object
yeah, that's the fallback
jnthn But we need to keep it for NQP to still have its REPL anyway?
So what are we actually saving?
hoelzro awwaiid's change is just removing interactive_result and interactive_exception 14:44
jnthn Or better put: what would we be elminating by "removing the fallbck"? Some detection code, or?
Ah, ok
[Coke] note that we shouldn't merge the repl changes before 2016.04 14:45
hoelzro agreed
jnthn yeah, htat'd be cutting it too close :)
hoelzro I get most of my Perl 6 work done the weekend after a release =P
awwaiid Does JVM work in general? I can try to make sure REPL6 works on JVM if y'all like. The idea is that REPL6 will be used 100% of the time, so fallback code is redundant, a code path that is never taken. 14:55
hoelzro awwaiid: REPL6 doesn't work on the JVM 14:57
I would love to fix the underlying problem, but ENOTENOUGHJVMEXP
awwaiid because of the eval context?
hoelzro the JVM infinitely recurses when you assign Perl6::Compiler to $!compiler
my naïve guess is the binder 14:58
awwaiid We could take the code from LREP that only depends on EVAL
hoelzro how does that code preserve the lexicals declared in the REPL?
awwaiid It creates new nested contexts
{ my $x = 5; { my $x = 2; { say $x } } }, effectively 14:59
but transparently to the user
hoelzro ah
awwaiid well. unless they poke around in some scope things like CALLER or something
I want to get rid of all specialness from REPL.pm, so that a user could replace it without knowing/hacking rakudo internals 15:00
hoelzro that would be nice 15:01
awwaiid I wonder if LREP works on jvm. I'll build the jvm backend in a bit ... $work time now :)
15:25 pmurias joined
nine_ Is t/spec/S04-phasers/eval-in-begin.t known to fail? I first thought it's a regression by my BEGIN time EVAL work (you'd think that from the name, wouldn't you?), but it seems to fail on nom, too here. 16:35
bartolin has not seen that file failing in his daily spectests 16:38
16:39 skids joined
psch bartolin: i've looked at the NPE_sort PR and branch 16:42
and i'm once again scared of how much moar seems to cheat /o\
m: use nqp; my \indices := nqp::setelems(nqp::list, 2); my int $i; nqp::bindpos(indices, $i, nqp::decont($i)) while nqp::islt_i($i = nqp::add_i($i, 1), 2); say indices[0]
camelia rakudo-moar 1aabef: OUTPUT«(Mu)␤»
psch ^^ that Mu is behind the NPE, which is fixed in the PR
but p6sort on moar doesn't care 16:43
psch commented to that effect on the GH PR itself as well
bartolin psch: yeah, me debugging tries looked similar :-)
psch i wanted to wait for appveyor before merging though
bartolin I seem to remember a similiar case from last year, I'll try to find it 16:44
psch hm, i suppose it might be the binder that somehow doesn't care too
or it's again some lex{,ref} magic that we just don't have on nqp-j
nine_ Oh, it _is_ a regression caused by me! Though it's the very innocent looking MoarVM patch that's causing it. 16:46
psch hm, appveyor might take something like another hour or two at least... still two r-j builds queued 16:47
bartolin oops! the commit I vaguely remembered was actually for exactly the same line of code 16:59
unfortunately i didn't remember the details and it took me a while (again) to figure it out this time 17:00
psch hrm, maybe that means we should make r-j p6sort resilient enough instead..? :/ 17:03
bartolin . o O ( at least I left a comment this time :-)
17:05 vendethiel joined
psch hrm, i still don't get why moar doesn't complain about the Mu 17:06
m: use nqp; my @list := nqp::list_i; for Mu { nqp::bindpos_i(@list, 0, $_) }; say @list[0] # this fails as it should...
camelia rakudo-moar 1aabef: OUTPUT«X::TypeCheck::Binding exception produced no message␤ in block <unit> at /tmp/oEsCargYQ6 line 1␤␤»
[Coke] just tried to build rakudo-jvm and was told that 2016.02 nqp was recent enough
psch but that's what p6sort does...
[Coke]: that's curious. we don't track NQP_REVISION differently for the backends..? 17:07
fwiw, after a git clean -xdf i got nqp-j 2016.03-67-ga525da3 from Configure.pl --backends=jvm --gen-nqp
the version check is in perl5, isn't it? 17:08
[Coke] I removed ./install and a reconfig is doing the right thing.
psch well, one of the r-j builds on appveyor passed 17:10
so i guess we can merge the NPE_sort PR, to get at least a building, if not make test or make spectest clean, r-j 2016.04 17:11
i'm not even sure if --gen-nqp and --gen-nqp=master do different things
bartolin psch: timotimo++ was also wondering why moar had not problem here: irclog.perlgeek.de/perl6/2015-11-17#i_11555980 17:12
timotimo don't quote me on something that long ago! that's ancient history! :P 17:13
bartolin *g*
psch yeah, i'm really not seeing it vOv
17:14 RabidGravy joined
timotimo bartolin: you are christian bartolomaeus? 17:15
bartolin yes, that's me
timotimo you're awesome :)
you do bug triage all the time and i don't see many people thanking you for that 17:16
bartolin thanks, I'm fine as it is :-) 17:17
timotimo OK 17:18
17:58 sortiz joined 18:41 hankache joined 18:54 FROGGS joined
dalek kudo/nom: 12abcc8 | usev6++ | src/core/Any-iterable-methods.pm:
Avoid NullPointerException in method 'sort'
kudo/nom: bd44009 | peschwa++ | src/core/Any-iterable-methods.pm:
Merge pull request #747 from usev6/NPE_sort

Avoid NullPointerException in method 'sort'
psch AppVeyor ran out of... something. probably time
19:25 vendethiel joined 20:56 lizmat joined
lizmat waves from Dublin 20:56
[Coke] hio! 20:58
jnthn wonders what bits of Rakudo lizmat++ will be dublin' the speed of while there... :)
lizmat well, we just missed the ferry to Liverpool :-( 21:01
on the plus side, I'll have time to do the P6W now
[Coke] lizmat: ugh 21:02
lizmat we're now at a nice hotel: they're worse places in Dublin :-) 21:05
[Coke] jnthn : just double checking, but there's no release yet, right ? 21:06
jnthn lizmat: No. I spent the weekend being exhausted and failed to make the MoarVM release, which clogged the rest up 21:07
lizmat: I did the MoarVM release today, though :)
lizmat ah, so progress :-)
jnthn lizmat: Yup. www.moarvm.org/ has the release headlines, www.moarvm.org/releases.html the changelog 21:12
And I did a blog post at the tail end of last week, guess you already caught that
lizmat yes, I did 21:25
and another P6W hits the Net: p6weekly.wordpress.com/2016/04/18/...om-dublin/ 21:57
jnthn wonders where that whole stack exec thing is coming from 22:01
lizmat ??
lizmat assumes she missed something
jnthn lizmat: From "Building perl6 on Android in Gnuroot Debian" that I knew about thanks to the p6weekly :) 22:02
lizmat ah... ok :-)
jnthn They had to hack the flags to get it to work, and I'm wondering if we can make it Just Work :)
The big userland takeaway from my blog post, fwiw, is that loop { EVAL 'my class ABC { }' } no longer leaks 22:04
22:05 vendethiel joined
lizmat cool 22:05
jnthn But in the course of fixing that I built us a heap analyzer :) 22:09
lizmat I read about that :-)
jnthn Yeah. It'll be a small goldmine of memory savings. 22:10
That at present taking on one of the Scary Refactors in MoarVM that I've put off for a while, to hopefully improve our invocation speed some.
(Which should bring across-the-board improvements) 22:11
(Since all but the fully-inlinable benchmarks invoke)
lizmat looks forward to that! 22:12
22:15 geekosaur joined
jnthn Me too... 22:16
Another interesting "lesson learned the hard way" is that mixing refcounted frames and tracing GC objects isn't really hard, but any programs that keep lots of closures around end up suffering, because the ref-counting doesn't play nice with the generational scheme. 22:17
lizmat and there's no way to lose the refcounting ? 22:18
jnthn Losing the refcounting is exactly what I'm working on :-)
Took a bit of work to figure out the way to lose it without losing some of the nice properties it gives. 22:19
bartolin wrt rakudo-j: I tried to fix another source of NullPointerExceptions. its not spectested yet, but I hope that will gives us back a relevant number of passing tests 22:20
jnthn bartolin++
bartolin in case someone wants to take a look: github.com/usev6/rakudo/commit/b74...003ebcaae5
'll run spectests tomorrow ...
jnthn Hm, yeah...that one works out on MoarVM because 22:22
r: say nqp::null.^name
camelia rakudo-moar bd4400: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Could not find nqp::null, did you forget 'use nqp;' ?␤at /tmp/tmpfile:1␤------> say nqp::null⏏.^name␤ expecting any of:␤ argument list␤»
..rakudo-jvm 40a953: OUTPUT«cannot connect to eval server: Connection refused␤»
bartolin btw, I enjoyed to read you last blog! jnthn++
jnthn r: use nqp; say nqp::null.^name
camelia rakudo-jvm 40a953: OUTPUT«cannot connect to eval server: Connection refused␤»
..rakudo-moar bd4400: OUTPUT«VMNull␤»
jnthn I put r-j NPEs on that one
bartolin yeah, I've seen that VMNull there
jnthn Yeah... I wonder a bit if we should introduce that concept to JVM 22:23
iirc it's just a type object with Uninstantiable REPR
Then we could potentially fix a smaller number of places to return that rather than a true Java null
And hopefully have to fix less places in the codebase, and have less risk of busting JVM 22:24
bartolin sounds good for me, but it's way above my head
bartolin needs to sleep now o 22:26
jnthn That's a good idea. I should do the same. :) 22:27
jnthn heads to bed o/
lizmat joins bartolin and jnthn from afar 22:29