dalek ast: e29b003 | (Zoffix Znet)++ | / (5 files):
Remove pointless bitshifting in Test::Util is_run()

The sub bitshifts exit code from shell() by 8 and the only reason I can think of for doing that is to emulate Perl 5's system() exit code return mechanism.
In the test suite itself, the tests—once again—bitshift the actual value to match what is_run uses. Thus, it seems the entire ordeal with this bitshift offers no value and just requires extra work and adds confusion to people unfamiliar with Perl 5's system.
00:20
geekosaur actually it's matching waitpid(2) 00:31
Zoffix ¯\_(ツ)_/¯ same difference. It's extra knowledge needed to understand the results. Took me X amount of minutes to figure out why my exit 255 was showing up as 60,000+ 00:34
dalek ast: f4e2505 | (Zoffix Znet)++ | S05-grammar/example.t:
[TODO FUDGE] <return> in grammar must refer to token not &return

RT#127945
02:56
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127945
stmuk_ I was wondering about a more lightweight star with just a module installer (zef rather than panda?) and p6doc 07:41
I think the whole R*/R distinction is too confusing for many as well 07:43
maybe we should just release a "rakudo" (w/ zef/p6doc) every 3 months and a "rakudo-core" monthly
or even just call it "perl6" 07:44
we should probably ship a prove6 as well to remove the perl 5 dependency 07:45
psch java.lang.RuntimeException: java.lang.Exception: Unrecognized instruction #18 07:57
wow i missed these kind of error \o/
hm, # can also sometimes mean hex, can't it..? 07:58
ah, no, it's decimal, the # is just confusing 07:59
because it's actually just the opcode
and we simply don't have ldc covered yet in jast2bc.JASTCompiler 08:00
Woodi R* started after we have some discusion on topic: ehmm, we have quite mature v6 implementation so why ppls don't use it ??? ah, it all dev-optimised environment... :)
psch oh boy another cool error 08:27
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file 90740956CF254C1B76FE4FAF3819510F827DECEF 08:28
that luckily went away from a simple git clean -xdf :S
moritz git++ 08:32
psch yeah 08:33
i'm a bit disgruntled with objectweb.asms (and by extension, the jvms) capacity for meaningful complaints about bad bytecode 08:34
there's probably some framework around somewhere for that, i suppose...
moritz aren't we disabling some bytecode validation in nqp-j? 08:35
if so, you might re-enable that just for debugging such things
psch no, perl6-j doesn't verify 08:36
but nqp verifies
but yeah, i've occassionally removed that switch
the problem is mostly that objectweb.asm itself is really bad about that
like for example i think i've correctly deduced that supplying a not-wide-enough argument to an opcode throws the meaningful "ArrayIndexOutOfBounds" 08:37
but i'm really not sure vOv
but the actual element that out of bounds might be -1, or 10, or any other arbitrary int 08:42
which is really not that helpful and means walking through the instruction list and emulating the stack, which is kind of ehh :| 08:43
heh, NQP_VERBOSE_EXCEPTIONS turns a StackOverflow into a NullPointerException... 08:59
that's a thing apparently
jnthn psch: That probably means something like "the exception handler throws and somehow ends up handling its own throw" 09:04
And NQP_VERBOSE_EXCEPTIONS means you see it prior to the high level handler getting it.
psch yeah, running under jdb went StackOverflow again
but the actual problem still seems to bad bytecode, -noverify being harmful 09:05
jnthn noverify is a great production setting due to the startup time improvement, but probably not such a good development setting :)
psch exactly :)
R[DaneelOlivaw] " 12:20
"Unhandled lexical type in lexprimspec for '$i'"
Does that sound like something that's super easy to fix or super hard to fix? :) It's with int8 in REPL 12:21
timotimo ah, the repl ... ;( 12:22
R[DaneelOlivaw] Seems to be MoarVM level stuff: github.com/MoarVM/MoarVM/blob/mast...me.c#L1643 12:25
R[DaneelOlivaw] puts this into extra super hard bin and moves on 12:26
And if anyone is feeling adventurous, it's from this ticket: rt.perl.org/Ticket/Display.html?id...et-history 12:29
pmurias do I have to set any flags to compile nqp-j with extra debugging info? 12:43
dalek ast: 5e230b4 | (Zoffix Znet)++ | / (2 files):
Use more Perl6-ish interface for is_run_repl()

We have named args; no need to pass around hashes.
13:01
lizmat
.oO( is Frameless an Asimov fan ?)
13:02
dalek ast: d78d99a | (Zoffix Znet)++ | S19-command-line/repl.t:
Use RT ticket notation format consistent with rest of roast
13:03
R[DaneelOlivaw] lizmat: oh yeah :)
lizmat++ # recognizing the reference :)
japhb pfft. I recognized the reference, I just have no idea what causes you to pick a particular nick at any particular moment. :-) 13:04
R[DaneelOlivaw] Just randomness :) 13:05
lizmat jnthn: looking at the Str.match / subst / subst-mutate combo 13:18
am I correct in assuming that the gather/take in Str.match is to make matching lazy
but that we actually do not need that laziness when doing subst/subst-mutate ? 13:19
afk&
psch pmurias: depends on what kind of debugging info you want 13:23
pmurias: there is e.g. NQP_DEBUG_DUMP_CLASSFILES and NQP_VERBOSE_EXCEPTIONS 13:24
pmurias: aside from that you can quite easily rewrite the nqp-j launcher to start a jdb server
jnthn lizmat: Well, "do not need" I'm not so sure about. If you eagerly evaluate all the matches first then substitute, you have to keep them all around in memory. With lazily producing them they can be thrown away after each substitution is made. 13:25
dalek ast: 9937812 | (Zoffix Znet)++ | / (2 files):
Make is_run_repl() auto-close STDIN when done

Not only requiring sending "exit\n" with code is extra work and noise, some bugs break exit altogether, so it's nice to have a working way to exit.
13:45
ast: c0504f9 | (Zoffix Znet)++ | S19-command-line/repl.t:
[TODO FUDGE] Using native numeric types does not break REPL

RT#127933
13:48
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127933
pmurias psch, jnthn: is it expected that I don't get a line number for java.lang.NullPointerException? 15:22
psch usually, yeah. if it doesn't happen during codegen you don't really know where it is 15:23
because of how we load classes
NQP_VERBOSE_EXCEPTIONS might help 15:24
pmurias psch: it happened in hand written java code (implementation of an op) 15:30
psch Ops should show up with NQP_VERBOSE_EXCEPTIONS 15:31
do you have a gist of the impl?
pmurias psch: I found the reason for the exception, it's just that I vaguely remember some option to compile things with debugging symbols and such 15:33
psch there is -g i think for javac
but i don't think that propagates into objectweb.asm 15:34
so it might've helped for you specific problem but still doesn't do any good for the things i've been fighting with today vOv
dalek p: 67ae0cf | (Pawel Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/io/SyncHandle.java:
A faster nqp::readchars on the JVM.
15:58
pmurias we now have a shiny nqp::readchars on the JVM too so that having a #ifdef jvm in rakudo is no longer needed 15:59
R[DaneelOlivaw] \o/ pmurias++ 16:06
dalek ast: 72789d0 | (Zoffix Znet)++ | S03-operators/andthen.t:
[TODO FUDGE] andthen with two S/// returns correct string

RT#127822
16:51
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127822
timotimo pmurias: oh, "faster", even? 19:02
dalek kudo/nom: 59d8080 | (Zoffix Znet)++ | src/core/Exception.pm:
Improve EVAL error

Clarify that MONKEY-SEE-NO-EVAL is a pragma the user needs to enable.
harmil++
19:15
___ Is .EVAL (as a method call) meant to by-pass the MONKEY pragma security feature? 19:23
m: my $x = 'say "hello"'; EVAL "$x" 19:25
camelia rakudo-moar 58dc8c: OUTPUT«===SORRY!=== Error while compiling <tmp>␤EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,␤but only if you're VERY sure your data contains no injection attacks)␤at <tmp>:1␤------> my $x = 'say "hello"'; EVAL "$x"…»
___ m: my $x = 'say "hello"'; "$x".EVAL
camelia rakudo-moar 58dc8c: OUTPUT«hello␤»
mst lizmat: do you have any idea why we ended up with FOO-BAR instead of FOO_BAR ? I could've sworn we had foo-bar and FOO_BAR at one point and the change seems as gross as foo_bar does now :( 19:26
___ RTed the .EVAL bypass, because I think it should not bypass: rt.perl.org/Ticket/Display.html?id=128684 19:36
[Coke] mst: to make them more difficult to type. 19:41
mst [Coke]: quite seriously? 19:42
I thought there were FOO_BAR type things that were *supposed* to get typed quite a bit 19:43
[Coke] I'm trying to dig it up.
my recollection is probably flawed. found someone complaining about it...
mst: irclog.perlgeek.de/perl6/2015-07-17#i_10913089 19:44
that's me recollecting the same thing a year ago
geekosaur my recollection is that _ is for stuff that is unquestionably internal low level details, not merely stuff user-exposed but dangerous
[Coke] irclog.perlgeek.de/perl6/2015-03-13#i_10274656 19:45
having a hard time finding a reference earlier than that. 19:47
ah, google. "Here 3 Monkey See No Evil Now. Find Articles & Shopping Results!" 19:48
bartolin I'm looking at an error we get only with rakudo-j (This Seq has already been iterated) 19:59
r: my $a = <b b>; $a .= unique; say $a.perl
camelia rakudo-jvm cd19db: OUTPUT«Seq.new-consumed()␤»
..rakudo-moar 59d808: OUTPUT«("b",).Seq␤»
bartolin the following seems to imply that sink context makes the difference: 20:00
r: my $a = <b b>; my $b := $a .= unique; say $a.perl
camelia rakudo-moar 59d808, rakudo-jvm cd19db: OUTPUT«("b",).Seq␤»
bartolin is that conclusion sound or does adding 'my $b :=' not avoid sink context? 20:01
pmurias timotimo: the first implementation of readcharfh on the jvm was just calling getcfh a bunch of times 20:25
timotimo hah, ok 20:26
is the difference noticable when you're reading in a big file? 20:27
potentially not because of all the overhead rakudo puts on top of stuff? :S
pmurias timotimo: haven't really benchmarked it, I just assumed that allocating a buffer for every character would suck 20:28
timotimo right d) 20:32
lizmat jnthn: re irclog.perlgeek.de/perl6-dev/2016-0...i_12873670 : but but but, once they are reified, they stick around until the List/Array is GC'd, no? 21:49
jnthn Only if you get an array or list involved at some point :) 21:55
A Seq doesn't remember values. 21:56
That's why we have it :)
(I didn't look at the code in question, fwiw. Though kinda assume that the match code is at least typically smart enough to avoid returning a List and can give back a Seq 21:57
lizmat ok, that makes sense then
hmmm....
timotimo yeah, man am i glad we have something like Seq that doesn't remember every value forever 21:58
lizmat ok, so this stores the Seq: my $matches := gather 22:00
I guess I'm still not fully grokking the code in Str.match 22:02
timotimo hm, i think it might be enough to my $matches = gather without binding 22:08
jnthn Storing it in a Scalar won't make it a list 22:15
lizmat looks like I'll be working on Backtrace tomorrow 22:23
most of the CPU in a statement like $*FOO // 42 is spent there
jnthn Yeah, we're not being as lazy as we maybe could be
Though needs some care :)
Not quite sure what I'll be doing with my Perl 6 time tomorrow. 22:24
I've got all day :)
I should probably hunt le tiresome SEGV I was looking at last time..
lizmat and utf8-c8 :-) 22:25
or is that the same one ?
timotimo read "needs some core" %)
jnthn No
hoelzro also parsed it that way
jnthn utf8-c8 needs a re-design
Zoffix Does anyone have a 32-bit box around and can test whether this works: -> int32 :$x { $x == 1 or die }(:x( 1 )) 22:26
m: -> int32 :$x { $x == 1 or die }(:x( 1 ))
camelia rakudo-moar 59d808: OUTPUT«Bytecode validation error at offset 34, instruction 5:␤operand type 32 does not match register type 24␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: -> int64 :$x { $x == 1 or die }(:x( 1 ))
camelia ( no output )
Zoffix (wondering if it works on 32-bit box same way as 64-bit works on 64-bit box)
jnthn Zoffix: From what I know of the codepaths involved, I'd be surprised if it worked on 2-bit. 22:28
uh, 32-bit
Zoffix Cool. thanks
jnthn m: -> int32 :$x { $x == 1 }(:x( 1 ))
camelia rakudo-moar 59d808: OUTPUT«Bytecode validation error at offset 34, instruction 5:␤operand type 32 does not match register type 24␤ in block <unit> at <tmp> line 1␤␤»
jnthn m: -> int32 :$x { }(:x( 1 ))
camelia rakudo-moar 59d808: OUTPUT«Bytecode validation error at offset 34, instruction 5:␤operand type 32 does not match register type 24␤ in block <unit> at <tmp> line 1␤␤»
jnthn Hmmm
lizmat good night, #perl6-dev 22:29
jnthn Instruction 5 is...pretty early on
Zoffix night
lizmat it has been a long, hot day
jnthn I'd suspect arg handling code somewhere
lizmat: Suspect you've had into the 30s?
Zoffix It fails with all native numeric types except for 64 ones and happens just with named params
Zoffix is just writing the tests; way over my head to fix this
lizmat jnthn: we went cycling when it was 35
jnthn OK, then I'll bet it's code-gen
lizmat: Ouch. I don't know what my body would do if I attempted that :P 22:30
lizmat and when we came back after 68km, it was still 29
yeah, it was special... needed to break a few more times than usual
jnthn I'll bet
I can barely sit and drink a cold beer in 35C :P 22:31
lizmat should have lost some weight tomorrow :-)
jnthn :)
lizmat so for now, I'll get some sleep&
jnthn Yup...rest well, 'night
timotimo lizmat only says it's been a hot day because she had dinner with me :3
dalek ast: a049d32 | (Zoffix Znet)++ | S02-types/native.t:
Remove trailing whitespace
jnthn Zoffix: Dunno...it depends if you're willing to look at how we spit out code-gen for args and params :) 22:32
lizmat timotimo: :-)
jnthn m: -> int32 :$x { }
camelia ( no output )
timotimo lizmat: ;-)
dalek ast: ea4d11d | (Zoffix Znet)++ | S02-types/native.t:
[TODO FUDGE] using native types as named parameters does not crash

RT#127813
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127813
jnthn And it'll surely be params, thinking about it
Zoffix jnthn, I'm willing, but I wanna finish going through the RT queue and doing all the easy stuff :) 22:33
jnthn Zoffix: It'll be somewhere around here, at a guess: github.com/perl6/nqp/blob/master/s....nqp#L1121 22:35
Though I don't spot it right off. But I'm more than a little tired :)
timotimo have a good rest, jnthn :) 22:36
jnthn Hopefully the warm won't keep me awake too long...
'night
Zoffix night 22:38