MasterDuke ok, so i (think i) pretty much have line directives implemented in nqp 01:11
in HLL::Compiler.lineof 01:12
however, to make it more general solution, the line number in the directives in m-CORE.setting should be -1 instead of 1 (since there's the directive itself plus a blank line added) 01:13
would anybody mind if i were to change that? 01:14
hmm, it doesn't like -1, but 0 and removing the blank line works fine 01:44
lizmat then please do remove the blank line: it was just added for clarity when perusing the generated setting 06:42
MasterDuke: with your patch, much of that won't be needed anymore :-)
Files=1153, Tests=53736, 21
Files=1153, Tests=53736, 210 wallclock secs (12.55 usr 3.90 sys + 1284.05 cusr 122.70 csys = 1423.20 CPU)
commute to T-Dose: t-dose.org 07:24
RabidGravy boom! 09:16
psch good news! r-j still builds fine on hack 09:48
yoleaux2 7 Nov 2016 20:25Z <viki> psch: I disabled JVM reporting again on Travis. It frequently gives OutOfMemoryError; dunno if it's just Travis? RT: rt.perl.org/Ticket/Display.html?id=130043
psch except that's actually bad news because it means travis is either ignoring some of our -Xm* settings or doing something else that's weird
lizmat waves from T-Dose 09:49
psch hey lizmat o/
lizmat psch \o 09:50
DrForr o/ 10:03
[TuxCM] This is Rakudo version 2016.10-263-gfc6d4f3 built on MoarVM version 2016.10-44-g4c9fd00 10:27
csv-ip5xs 2.964
test 13.807
test-t 6.335
csv-parser 15.094
bartolin r: say (42, 43, 44).antipairs.perl 10:42
camelia rakudo-jvm 8d357a, rakudo-moar fc6d4f: OUTPUT«(42 => 0, 43 => 1, 44 => 2).Seq␤»
bartolin ^^ gives '(42 => 2, 43 => 2, 44 => 2).Seq' on recent r-j
timotimo oh, there must be a decont missing somewhere
bartolin seems to happen after c5c600112561
hmm, maybe I'll have time to look at it later this weekend 10:44
psch i wonder how much we have to stuff on top of NC to make it work for objective c... 10:45
seeing as i'm working in a mac shop now we clearly need obj-c interop :P
bartolin oh hai psch o/ 10:46
psch hey bartolin o/
but yeah, the antipairs thingy could be a missing decont in the Pair.new call 10:47
...i think, maybe 10:48
huh, there's an aweful lot of "This is Rakudo version * built on JVM implementing Perl 6.c." output during spectest o.o 10:50
like, probably something around 30 or 40 times by now
nine Wow, what makes csv-ip5xs that much faster? 11:42
timotimo there was one change about nativecall, but that was just making sure it's not racy when setting up its return type 11:43
so it shouldn't actually be any faster
nine Maybe something improved startup or module loading time? 11:44
timotimo perhaps
but 0.1s?
or 0.2s? that's massive for a startup improvement
is someone looking into the antipairs bug? or are we getting an RT for it? 11:46
lizmat please RT it, will look at it then
and if someone could write tests for it :-)
star: say (42, 43, 44).antipairs.perl 11:50
camelia star-m 2016.04: OUTPUT«(42 => 0, 43 => 1, 44 => 2).Seq␤»
timotimo only on -j
the -j commit camelia's on is 3 weeks old 11:51
dalek kudo/nom: 7d711ee | lizmat++ | src/core/ (3 files):
Restore @a[Enum] behaviour

Apparently this got broken a while ago, and not noticed in tests.
11:53
nine camelia's jvm compilation fails with: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp' 11:56
I guess removing /home/camelia/rakudo-j-inst-2/* will help 11:57
Well, can't hurt anyway :)
bartolin timotimo, lizmat I'm testing a fix for the antipairs bug (adding a nqp::decont as timotimo++ suggested) 12:02
timotimo cool
lizmat $key being a native, decont is not going to bring much I'm afraid
lizmat is also testing a patch 12:03
bartolin the above code works as expected after adding a nqp::decont
lizmat but compiling the JVM takes sooooo long
it does?
bartolin lizmat++ -- feel free to add your patch :-)
lizmat that must be a side-effect of the decont() 12:04
bartolin yeah, I'm not sure why that decont() helps ...
lizmat at least another 3 mins before I can test my patch :- 12:05
(
bartolin: $ ./perl6-j -e 'say (42, 43, 44).antipairs.perl' 12:11
(42 => 0, 43 => 1, 44 => 2).Seq
dalek kudo/nom: dd7b055 | lizmat++ | src/core/Rakudo/Internals.pm:
Fix <a b c>.antipairs breakage on JVM

  bartolin++ for spotting and providing alternate patch
12:12
lizmat bartolin: my patch was shorter :-) 12:13
bartolin ohh! lizmat++ :-) 12:16
dogbert17 lizmat: my shaped array benchmark now runs in 97 secs, used to be 377 in september 12:20
bartolin lizmat: btw, I don't understand the purpose of fb0c648447. after that commit executing 'make' doesn't rebuild r-j if I made a change to one of the moved source files. Is that intended? 12:23
lizmat: you added @jvm_core_source@ but in Configure.pl we only have moar_core_source github.com/rakudo/rakudo/blob/dd7b...re.pl#L161 12:24
lizmat bartolin: no that's not intended 12:32
I was just bitten by that as well 12:33
I thought it would make it easier to add files and *not* have to reconfigure to be able to build :-)
jnthn lizmat: Any chance of tests for 7d711ee so it doesn't get busted again? :) 12:34
lizmat bartolin: would it be as simple as adding jvm_core_sources ?
jnthn: well, yes, I would hope so 12:35
bartolin lizmat: yeah, I think so (tested that the other day)
jnthn lizmat: If you aren't planning to write you, maybe file a roast issue so it's not forgotten?
lizmat bartolin: ok, will test that 12:36
jnthn: I'll write some tests :-)
jnthn lizmat++
bartolin lizmat: I didn't yet look whether that influences the Moar backend, though 12:37
lizmat (configuring/building JVM, check again in 10 mins or so)
dalek ast: ca9e50d | lizmat++ | S06-signature/shape.t:
Add test for using an Enum as an array shape
12:50
lizmat Hmm... build failed 12:51
(on JVM)
java.lang.OutOfMemoryError: PermGen space 13:05
grrr
psch o.o 13:06
so we're breaking the jvm GC by now..?
lizmat Java HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated
psch stackoverflow.com/questions/88235/ looks like that error is GC related 13:07
lizmat kill -9 works
dogbert17 stupid question, how can it say Permgen space, aren't you running jdk 8? 13:15
lizmat $ javac -version 13:17
javac 1.7.0_45
whatever I got on my OS X box from Oracle 13:18
dogbert17 gah, I think the Permgen problem was solved, once and for all with JDK 8
lizmat nuking install, configuring with original file now 13:19
MasterDuke so my line directive code breaks a bunch of tests. i think some of the tests can probably be changed to reflect the new code (e.g., they were checking for a hardcoded string that's slightly different now) 13:20
dogbert17 lizmat: docs.oracle.com/javase/8/docs/tech...c_jdk.html
MasterDuke however, some are trickier and are broken because Backtrace.is-setting() is just '$!file.ends-with("CORE.setting")', but now the $!file is something like 'src/core/Int.pm' 13:21
what's a better way to do that is-setting() check? 13:23
lizmat MasterDuke: ah, wow, eh yes good question :-) 13:24
contains('src/core') ?
MasterDuke: I think ^^ will be sufficient for now 13:25
MasterDuke hmm, right, because the 'src/Perl6' stuff shows up differently before my change anyway 13:26
lizmat yup
nine So people should not develop their modules in a src/core directory?
MasterDuke nine: FWIW, there is already an error message somewhere if you try to compile a file ending in '.setting' 13:27
btw, in pure nqp land, how much faster are the nqp::<op> counterparts to things like <, [], etc.? 13:29
nine I would assume not faster at all? 13:32
MasterDuke so would HLL::Compiler be in that pure nqp land? because much of it uses ::atpos_i and such, which i find a bit harder to read 13:34
btw, this is the current output with my changes and .contains('src/core') in is-setting(). gist.github.com/MasterDuke17/d48a9...c2ba705e9d 13:35
i added what the output looks like before my changes. somehow i'm also dropping the 'gen/moar/...' filenames 13:38
changing topics completely, is there any sort of rule/precedent for blocking people for a while because they keep timing out and rejoining and creating lots of join messages (speaking of pyrimidine here)? it is only a relatively minor annoyance, should i just ignore it? 14:00
psch i've been meaning to figure something out wrt filtering in my client for some time but haven't yet, at all 14:05
like, having dalek collapsed but expandable would be cool, but dunno if irssi can even do that :P 14:06
and yeah, collapsing a lot of join/timeout would be nice too
or maybe even just remove it
MasterDuke the logs on irclog.perlgeek.de do collapse bunches of quit/join, but i'm using the freenode.net webchat and it doesn't 14:07
oh hey, but it does have an option to hide them completely! let me see how i like that 14:09
bartolin r: say \(42, [1, 2]).antipairs.perl # another antipairs bug with r-j 14:34
camelia rakudo-moar dd7b05: OUTPUT«(42 => 0, ([1, 2]) => 1).Seq␤»
..rakudo-jvm dd7b05: OUTPUT«(42 => 1, ([1, 2]) => 1).Seq␤»
bartolin (shortened from S02-types/capture.t) 14:35
lizmat bartolin: sonit still isn't fixed 14:39
bartolin the other one is fixed (there were tests in S09-typed-arrays/native-int.t that pass again, now) 14:40
lizmat hmmm... weird. they should be the same bug and fix 14:41
bartolin but this one seems to be unrelated (seems to be introduced a bit later)
bartolin eyes Rakudo::Internals::ShapeLeafIterator 14:42
lizmat antipairs isn't using that, is it ? 14:43
java.lang.InternalError: collect=Lambda(a0:L,a1:L,a2:I,a3:L,a4:L,a5:L)=>{ 14:44
t6:L=ValueConversions.array(a4:L,a5:L);
t7:V=MethodHandle(String,int,ThreadContext,Object[])void(a1:L,a2:I,a3:L,t6:L);t7:V}
sigh
bartolin lizmat: you're probably right. I haven't really looked at it. (maybe will do so later) 14:45
lizmat well, I can't seem to build the JVM backend anymore :-( 14:46
psch that method handle looks like invokeDirect or somesuch, actually 14:47
or maybe one of the indy methods 14:48
MasterDuke lizmat: btw, ./perl6-m -e 'EVAL "\n#line 20 foo.bar\n;die q|baz|";' locally gives me: baz in block <unit> at foo.bar line 21 14:52
lizmat MasterdDuke: the way it works in Perl 5, is that you specify the number of the *next* line 14:54
so I sorta expected to see "line 20" at the end there
bartolin lizmat: duplicating your earlier fix to the other Pair.new (in pull-one in IterateAntiPairFromIterator) gives the right result
lizmat aaaahhhh yes, good catch!
bartolin: I'll commit 14:55
bartolin doesn't understand why r-j needs that, actually 14:56
dalek kudo/nom: 76b0618 | lizmat++ | src/core/Rakudo/Internals.pm:
Oops, forgot to do the pull-one case as well.

Spotted by bartolin++ again!
lizmat bartolin: probably because it binds in the Pair.new rather than assignes 14:57
*assigns
bartolin aha. lizmat++ 14:58
nine j: say $*PERL.compiler.version 15:17
camelia rakudo-jvm dd7b05: OUTPUT«v2016.10.265.gdd.7.b.055␤»
nine m: say $*PERL.compiler.version 15:18
camelia rakudo-moar 76b061: OUTPUT«v2016.10.266.g.76.b.0618␤»
lizmat goes back to looking at fixing "make" wrt changed source-files 15:21
on the JVM, that is 15:22
nine j: say $*PERL.compiler.version 15:31
camelia rakudo-jvm 76b061: OUTPUT«v2016.10.266.g.76.b.0618␤»
nine seems to be back on track
bartolin \o/
r: say \(42, [1, 2]).antipairs.perl 15:32
camelia rakudo-{moar,jvm} 76b061: OUTPUT«(42 => 0, ([1, 2]) => 1).Seq␤»
lizmat yeah, building for the JVM takes a bit longer
bartolin: looks good, right ?
bartolin nine: does it automatically rebuild r-j now?
lizmat: yeah, it does
MasterDuke i would love for all the builds to get a lot faster. maybe i should profile the rakudo build again (i don't remember what the last profile showed) 15:34
lizmat MasterDuke: which profiler ?
MasterDuke the built in one
lizmat bartolin: and now it fails to build again :-( 15:36
dalek kudo/nom: aa86b9e | lizmat++ | Configure.pl:
Hopefully fix development on JVM backend
lizmat bartolin: couldn't test this ^^^ can you? 15:37
MasterDuke i couldn't use either profile-viewing tool (even after recompiling Qt to enable higher file size limits for its JSON parsing), but i think i could manually pull some relevant info out
bartolin :-/ I had not problems with my nightly builds recently. but I'm using JDK 1.8 and if I understood correctly the problem is related to JDK < 1.8
lizmat MasterDuke: that would be excellent
bartolin lizmat: yes, will do it later (have to go now) 15:38
nine bartolin: I cleaned both checkouts and installation dirs. Should rebuild automatically now 16:01
MasterDuke --profile-compile with --target=parse resulted in a 830mb json file, now to try and make some sense of it 16:22
lizmat T-Dose shutting down for today& 16:33
stmuk_ gist.github.com/stmuk/27a299bcb6ae...6cab843663 17:07
anyone seen anything like that panda bootstrap error on windows? 17:08
nine The mixture of / and \ in paths doesn't look healthy. But may be ok. 17:14
stmuk_ I think I had that before with successful builds 17:16
hmm my last windows issue was fixed in moar so I'll bump it a bit more 17:24
timotimo i'm glad moar was able to fix your windows issue :) 17:25
stmuk_ I don't even *like* windows! 17:26
MasterDuke hmm, seems a little fishy that the largest exclusive time in my profile is only 89828 21:22
has anyone else worked with profiles (not using the html or Qt viewers)? 21:24
pyrimidine MasterDuke: apologies for the IRC issues, my wireless at work (which logs this) is flipping out. I'm running off ethernet only now, should fix things 21:52
MasterDuke pyrimidine: no worries, it inspired me to find the setting to hide all leave/join, which i didn't know existed, so i call it a win 21:54
pyrimidine MasterDuke: yes, those are quite nice 21:56
MasterDuke on another topic, how would i specify that something is optionally quoted in the NQP grammar? 22:12
moritz '"' <thing> '"' | <thing> 22:15
MasterDuke the part of the Perl 5 regex that find the filename in a line directive is: (?:\s("?)([^"]+)\g2), but i would like to support all the quotes
timotimo ALL THE QUOTES
moritz MasterDuke: <quote> | <identifier> # or something 22:16
MasterDuke i feel like there's some way to make sure the quotes are matching. i.e., if you use a fancy quote that looks different on either side, make sure it the corresponding one on the other
moritz MasterDuke: you can reuse the existing rules that parse quoted strings 22:17
though <quote> includes regexes
MasterDuke i see a bunch of token quote:sym<apos>, token quote:sym<hapos>, token quote:sym<sdblq>, etc in rakudo's Grammar 22:20
maybe i'll select out the ones that are normal punctuation, i.e., not qq, etc. 22:22
hm, seems like nqp doesn't seem to support anything outside the usual two characters for its normal quoting. not sure i need to add support for fancy quotes just for line directives 22:38
another regex/grammar question. is there a way to match the negation of a capture? 22:50
m: if "a12a3a" ~~ /(<[ab]>) (<-[$0]>+) $0/ { say $/ } 22:51
camelia rakudo-moar aa86b9: OUTPUT«「a12a3a」␤ 0 => 「a」␤ 1 => 「12a3」␤»
MasterDuke where i want $1 to be 「12」
TimToady m: if "a12a3a" ~~ /(<[ab]>) ([<!before $0>.]+?) $0/ { say $/ } 23:44
camelia rakudo-moar aa86b9: OUTPUT«「a12a」␤ 0 => 「a」␤ 1 => 「12」␤»
TimToady you can't interpolate into character classes 23:46
timotimo what is our nicest http request library btw? HTTP::UserAgent? 23:53