Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
nine .tell pmurias pluggable keyword! Yes that was the way I thought of at some conference but subsequently forgot 07:53
yoleaux nine: I'll pass your message to pmurias.
nine .tell cygx I think there's nothing preventing us from having r/w access to foreign lexicals. It already works for package globals and both languages provide sufficient means to intercept variable access. The real trick may be to enumerate lexicals available in a scope. 09:02
yoleaux nine: I'll pass your message to cygx.
cygx o/ 09:47
yoleaux 09:02Z <nine> cygx: I think there's nothing preventing us from having r/w access to foreign lexicals. It already works for package globals and both languages provide sufficient means to intercept variable access. The real trick may be to enumerate lexicals available in a scope.
cygx nine: that's why my 'minimal viable product' mockup came with explicit declaration sof lexicals you want to access
also, couldn't we just parse a subset of Perl5 on the perl6-side (quoting constructs and counting curlies, basically) to find the end of the block? 09:48
nine That would get you far, but you'd run into lovely traps like $" 09:58
Also there's regexes which make it a whole lot more complicated
But the pluggable keyword method pmurias suggested should get us all the way there. I've come up with the same idea during some conference talk and his successful experiment is a good indicator that the idea is sound 09:59
cygx still, the minimalist approach could make a nice advent post - though I'm not sure I'll find the time 10:11
the last time I tried anything like this (unbusting FROGGS's v5 after the GLR), I failed miserably ;)
Kaiepi can anyone rec some books on java i could use to better learn the language? 10:26
atm i only know syntax and what i can forage from documentation
pmurias Kaiepi: have you seen: docs.oracle.com/javase/tutorial/java/index.html 10:46
yoleaux 07:53Z <nine> pmurias: pluggable keyword! Yes that was the way I thought of at some conference but subsequently forgot
pmurias Kaiepi: that's what I used to learn Java for nqp-truffle 10:47
Kaiepi nope, but i'll take a look at it 10:49
thanks
pmurias I had the 'Thinking in Java' book years ago but the official docs are better (the book is super long and the docs are up to date) 10:56
pmurias can't wait to get back to the truffle backend 11:09
|Tux| Rakudo version 2018.10-78-g8b93ec9f5 - MoarVM version 2018.10-74-g2fdde4a21
csv-ip5xs0.882 - 0.906
csv-ip5xs-207.103 - 7.444
csv-parser21.651 - 21.770
csv-test-xs-200.427 - 0.429
test7.812 - 8.519
test-t1.772 - 1.781
test-t --race0.822 - 0.832
test-t-2029.615 - 30.555
test-t-20 --race10.379 - 10.407
11:26
Kaiepi i think i'll need to end up having each vm support different socket options since the jvm supports the fewest and is missing some important ones like SO_TIMEOUT 14:06
gfldex m: my @words = ('aa'..'zz').pick(100); my $p = start my @a = @words.grep({/g/ && /l/}); await $p; say @a; 14:23
camelia []
gfldex m: my @words = ('aa'..'zz').pick(100); my $p = start my @a = @words.hyper.grep({/g/ && /l/}); await $p; say @a;
camelia An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:
A worker in a parallel iteration (hyper or race) initiated here:
in code at <tmp> line 1

Died at:
Invocant of method 'match…
gfldex I don't quite understand the error message.
timotimo are they sharing $/ perhaps?
gfldex that could be, because I got a script that segfaults 14:24
timotimo i bet it will work just fine if you use .contains("g" & "l")
gfldex "No such method 'ends-with' for invocant of type 'Mu'" 14:29
timotimo: ^^^ wrong guess :) 14:30
timotimo that's rather not so good :)
does it get better if you do it without "start"? 14:31
gfldex I think there where less elements in the array then hyper was trying to pull. 14:32
timotimo ah, right, you could change the batch number for that purpose 14:33
Kaiepi how do i debug an error like "Bytecode validation error at offset 820, instruction 122:" when adding new ops? 18:15
timotimo how did you add the op, and did you recompile rakudo completely (i.e. including the extops) after changing moarvm? 18:29
now webpack is building all the shit in my node_modules 18:31
disregarding my exclude: /node_modules/,
that was in the wrong chat, but it's still relevant 18:33
Kaiepi i added the ops to the oplist in moar, ran tools/update_ops, rebuilt moar, went to nqp, and added the ops to src/vm/moar/QAST/QASTOperationsMAST.nqp 18:35
but when i run make m-bootstrap-files this happens timotimo
oh and added them to interp.c 18:38
timotimo but you're not yet using the ops inside of nqp, right? 18:42
Kaiepi not yet, no 18:43
timotimo then everything should work, hm. 18:44
does the validator not say anything more than that?
oh, and where in the oplist did you add the new op?
Kaiepi right before the spesh ops 18:45
wdym by the validator?
timotimo "Bytecode validation error at offset 820, instruction 18:46
122:"
Kaiepi oh 18:50
on my last try it gave me this hastebin.com/ejuxiwilof.coffeescript 18:51
timotimo hum 18:52
don't know what that's about :|
Kaiepi oh, turns out i just needed to clean out the installation i had before trying to install it 18:59
thanks for the help though
timotimo phew 19:03
damn.