Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-11-12

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:30 pyrimidine joined #perl6-dev
00:52 pyrimidine joined #perl6-dev
01:00 |Tux| joined #perl6-dev
01:11 pyrimidine joined #perl6-dev
01:11 MasterDuke ok, so i (think i) pretty much have line directives implemented in nqp
01:12 MasterDuke in HLL::Compiler.lineof
01:13 MasterDuke 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:14 MasterDuke would anybody mind if i were to change that?
01:21 pyrimidine joined #perl6-dev
01:31 pyrimidine joined #perl6-dev
01:39 pyrimidine joined #perl6-dev
01:44 MasterDuke hmm, it doesn't like -1, but 0 and removing the blank line works fine
01:48 pyrimidine joined #perl6-dev
02:10 pyrimidine joined #perl6-dev
02:20 pyrimidine joined #perl6-dev
02:28 pyrimidine joined #perl6-dev
02:31 vendethiel joined #perl6-dev
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:59 pyrimidine joined #perl6-dev
03:09 pyrimidine joined #perl6-dev
03:19 pyrimidine joined #perl6-dev
06:34 jnthn joined #perl6-dev
06:36 pyrimidi_ joined #perl6-dev
06:36 cognominal joined #perl6-dev
06:42 lizmat then please do remove the blank line: it was just added for clarity when perusing the generated setting
06:42 lizmat MasterDuke: with your patch, much of that won't be needed anymore  :-)
06:42 lizmat Files=1153, Tests=53736, 21
06:42 lizmat Files=1153, Tests=53736, 210 wallclock secs (12.55 usr  3.90 sys + 1284.05 cusr 122.70 csys = 1423.20 CPU)
07:24 lizmat commute to T-Dose: http://t-dose.org
08:40 RabidGravy joined #perl6-dev
08:58 [TuxCM] joined #perl6-dev
09:05 FROGGS joined #perl6-dev
09:16 RabidGravy boom!
09:48 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: https://rt.perl.org/Ticket/Display.html?id=130043
09:48 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
09:48 lizmat joined #perl6-dev
09:49 * lizmat waves from T-Dose
09:49 psch hey lizmat o/
09:50 lizmat psch \o
10:03 DrForr o/
10:27 [TuxCM] This is Rakudo version 2016.10-263-gfc6d4f3 built on MoarVM version 2016.10-44-g4c9fd00
10:27 [TuxCM] csv-ip5xs        2.964
10:27 [TuxCM] test            13.807
10:27 [TuxCM] test-t           6.335
10:27 [TuxCM] csv-parser      15.094
10:35 pyrimidine joined #perl6-dev
10:42 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␤»
10:42 pyrimidine joined #perl6-dev
10:42 bartolin ^^ gives '(42 => 2, 43 => 2, 44 => 2).Seq' on recent r-j
10:42 timotimo oh, there must be a decont missing somewhere
10:42 bartolin seems to happen after c5c600112561
10:44 bartolin hmm, maybe I'll have time to look at it later this weekend
10:45 psch i wonder how much we have to stuff on top of NC to make it work for objective c...
10:45 psch seeing as i'm working in a mac shop now we clearly need obj-c interop :P
10:46 bartolin oh hai psch o/
10:46 psch hey bartolin o/
10:47 psch but yeah, the antipairs thingy could be a missing decont in the Pair.new call
10:48 psch ...i think, maybe
10:50 psch 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 psch like, probably something around 30 or 40 times by now
10:56 lizmat joined #perl6-dev
11:42 nine Wow, what makes csv-ip5xs that much faster?
11:43 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 timotimo so it shouldn't actually be any faster
11:44 nine Maybe something improved startup or module loading time?
11:44 timotimo perhaps
11:44 timotimo but 0.1s?
11:44 timotimo or 0.2s? that's massive for a startup improvement
11:46 timotimo 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
11:46 lizmat and if someone could write tests for it  :-)
11:50 lizmat star: say (42, 43, 44).antipairs.perl
11:50 camelia star-m 2016.04: OUTPUT«(42 => 0, 43 => 1, 44 => 2).Seq␤»
11:50 timotimo only on -j
11:51 timotimo the -j commit camelia's on is 3 weeks old
11:53 dalek rakudo/nom: 7d711ee | lizmat++ | src/core/ (3 files):
11:53 dalek rakudo/nom: Restore @a[Enum] behaviour
11:53 dalek rakudo/nom:
11:53 dalek rakudo/nom: Apparently this got broken a while ago, and not noticed in tests.
11:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7d711eec35
11:56 nine camelia's jvm compilation fails with: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp'
11:57 nine I guess removing /home/camelia/rakudo-j-inst-2/* will help
11:57 nine Well, can't hurt anyway :)
12:02 bartolin timotimo, lizmat I'm testing a fix for the antipairs bug (adding a nqp::decont as timotimo++ suggested)
12:02 timotimo cool
12:02 lizmat $key being a native, decont is not going to bring much I'm afraid
12:03 * lizmat is also testing a patch
12:03 bartolin the above code works as expected after adding a nqp::decont
12:03 lizmat but compiling the JVM takes sooooo long
12:03 lizmat it does?
12:03 bartolin lizmat++ -- feel free to add your patch :-)
12:04 lizmat that must be a side-effect of the decont()
12:04 bartolin yeah, I'm not sure why that decont() helps ...
12:05 lizmat at least another 3 mins before I can test my patch :-
12:05 lizmat (
12:06 dogbert17 joined #perl6-dev
12:11 lizmat bartolin: $ ./perl6-j -e 'say (42, 43, 44).antipairs.perl'
12:11 lizmat (42 => 0, 43 => 1, 44 => 2).Seq
12:12 dalek rakudo/nom: dd7b055 | lizmat++ | src/core/Rakudo/Internals.pm:
12:12 dalek rakudo/nom: Fix <a b c>.antipairs breakage on JVM
12:12 dalek rakudo/nom:
12:12 dalek rakudo/nom: bartolin++ for spotting and providing alternate patch
12:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dd7b055fc3
12:13 lizmat bartolin: my patch was shorter  :-)
12:16 bartolin ohh! lizmat++ :-)
12:20 dogbert17 lizmat: my shaped array benchmark now runs in 97 secs, used to be 377 in september
12:23 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:24 bartolin lizmat: you added @jvm_core_source@ but in Configure.pl we only have moar_core_source https://github.com/rakudo/rakudo/blob/dd7b055fc344130cf75704cf175ddcc559e26e5c/Configure.pl#L161
12:25 pmurias joined #perl6-dev
12:32 lizmat bartolin: no that's not intended
12:33 lizmat I was just bitten by that as well
12:33 lizmat I thought it would make it easier to add files and *not* have to reconfigure to be able to build  :-)
12:34 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 ?
12:35 lizmat jnthn: well, yes, I would hope so
12:35 bartolin lizmat: yeah, I think so (tested that the other day)
12:35 jnthn lizmat: If you aren't planning to write you, maybe file a roast issue so it's not forgotten?
12:36 lizmat bartolin: ok, will test that
12:36 lizmat jnthn: I'll write some tests :-)
12:36 jnthn lizmat++
12:37 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)
12:50 dalek roast: ca9e50d | lizmat++ | S06-signature/shape.t:
12:50 dalek roast: Add test for using an Enum as an array shape
12:50 dalek roast: review: https://github.com/perl6/roast/commit/ca9e50d380
12:51 lizmat Hmm... build failed
12:51 lizmat (on JVM)
13:05 lizmat java.lang.OutOfMemoryError: PermGen space
13:05 lizmat grrr
13:06 psch o.o
13:06 psch so we're breaking the jvm GC by now..?
13:06 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
13:07 psch http://stackoverflow.com/questions/88235/ looks like that error is GC related
13:07 lizmat kill -9 works
13:08 ggoebel joined #perl6-dev
13:10 pyrimidine joined #perl6-dev
13:15 dogbert17 stupid question, how can it say Permgen space, aren't you running jdk 8?
13:17 lizmat $ javac -version
13:17 lizmat javac 1.7.0_45
13:18 lizmat 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
13:19 lizmat nuking install, configuring with original file now
13:20 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: https://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html
13:21 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:23 MasterDuke what's a better way to do that is-setting() check?
13:24 lizmat MasterDuke: ah, wow, eh yes  good question :-)
13:24 lizmat contains('src/core') ?
13:25 lizmat MasterDuke: I think ^^ will be sufficient for now
13:26 MasterDuke hmm, right, because the 'src/Perl6' stuff shows up differently before my change anyway
13:26 lizmat yup
13:26 nine So people should not develop their modules in a src/core directory?
13:27 MasterDuke nine: FWIW, there is already an error message somewhere if you try to compile a file ending in '.setting'
13:29 pyrimidine joined #perl6-dev
13:29 MasterDuke btw, in pure nqp land, how much faster are the nqp::<op> counterparts to things like <, [], etc.?
13:32 nine I would assume not faster at all?
13:34 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:35 MasterDuke btw, this is the current output with my changes and .contains('src/core') in is-setting(). https://gist.github.com/MasterDuke17/d48a9159005030dc253327c2ba705e9d
13:38 MasterDuke i added what the output looks like before my changes. somehow i'm also dropping the 'gen/moar/...' filenames
13:39 pyrimidine joined #perl6-dev
13:40 dogbert17 joined #perl6-dev
13:49 pyrimidine joined #perl6-dev
13:58 pyrimidine joined #perl6-dev
13:58 AlexDaniel joined #perl6-dev
14:00 MasterDuke 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:05 psch i've been meaning to figure something out wrt filtering in my client for some time but haven't yet, at all
14:06 psch like, having dalek collapsed but expandable would be cool, but dunno if irssi can even do that :P
14:06 pyrimidine joined #perl6-dev
14:06 psch and yeah, collapsing a lot of join/timeout would be nice too
14:06 psch or maybe even just remove it
14:07 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:09 MasterDuke oh hey, but it does have an option to hide them completely! let me see how i like that
14:34 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␤»
14:34 camelia ..rakudo-jvm dd7b05: OUTPUT«(42 => 1, ([1, 2]) => 1).Seq␤»
14:35 bartolin (shortened from S02-types/capture.t)
14:39 lizmat bartolin: sonit still isn't fixed
14:40 bartolin the other one is fixed (there were tests in S09-typed-arrays/native-int.t that pass again, now)
14:41 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)
14:42 * bartolin eyes Rakudo::Internals::ShapeLeafIterator
14:43 lizmat antipairs isn't using that, is it ?
14:44 lizmat java.lang.InternalError: collect=Lambda(a0:L,a1:L,a2:I,a3:L,a4:L,a5:L)=>{
14:44 lizmat t6:L=ValueConversions.array(a4:L,a5:L);
14:44 lizmat t7:V=MethodHandle(String,int,ThreadContext,Object[])void(a1:L,a2:I,a3:L,t6:L);t7:V}
14:44 lizmat sigh
14:45 bartolin lizmat: you're probably right. I haven't really looked at it. (maybe will do so later)
14:46 lizmat well, I can't seem to build the JVM backend anymore  :-(
14:47 psch that method handle looks like invokeDirect or somesuch, actually
14:48 psch or maybe one of the indy methods
14:49 vendethiel joined #perl6-dev
14:52 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:54 lizmat MasterdDuke: the way it works in Perl 5, is that you specify the number of the *next* line
14:54 lizmat so I sorta expected to see  "line 20" at the end there
14:54 bartolin lizmat: duplicating your earlier fix to the other Pair.new (in pull-one in IterateAntiPairFromIterator) gives the right result
14:54 lizmat aaaahhhh   yes, good catch!
14:55 lizmat bartolin: I'll commit
14:56 * bartolin doesn't understand why r-j needs that, actually
14:56 dalek rakudo/nom: 76b0618 | lizmat++ | src/core/Rakudo/Internals.pm:
14:56 dalek rakudo/nom: Oops, forgot to do the pull-one case as well.
14:56 dalek rakudo/nom:
14:56 dalek rakudo/nom: Spotted by bartolin++ again!
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76b0618fcf
14:57 lizmat bartolin: probably because it binds in the Pair.new rather than assignes
14:57 lizmat *assigns
14:58 bartolin aha. lizmat++
15:07 pyrimidine joined #perl6-dev
15:16 pyrimidine joined #perl6-dev
15:17 nine j: say $*PERL.compiler.version
15:17 camelia rakudo-jvm dd7b05: OUTPUT«v2016.10.265.gdd.7.b.055␤»
15:18 nine m: say $*PERL.compiler.version
15:18 camelia rakudo-moar 76b061: OUTPUT«v2016.10.266.g.76.b.0618␤»
15:21 * lizmat goes back to looking at fixing "make" wrt changed source-files
15:22 lizmat on the JVM, that is
15:26 pyrimidine joined #perl6-dev
15:31 nine j: say $*PERL.compiler.version
15:31 camelia rakudo-jvm 76b061: OUTPUT«v2016.10.266.g.76.b.0618␤»
15:31 nine seems to be back on track
15:31 bartolin \o/
15:32 bartolin r: say \(42, [1, 2]).antipairs.perl
15:32 camelia rakudo-{moar,jvm} 76b061: OUTPUT«(42 => 0, ([1, 2]) => 1).Seq␤»
15:32 lizmat yeah, building for the JVM takes a bit longer
15:32 lizmat bartolin: looks good, right ?
15:32 bartolin nine: does it automatically rebuild r-j now?
15:32 bartolin lizmat: yeah, it does
15:34 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 ?
15:34 MasterDuke the built in one
15:36 lizmat bartolin: and now it fails to build again  :-(
15:36 pyrimidine joined #perl6-dev
15:36 dalek rakudo/nom: aa86b9e | lizmat++ | Configure.pl:
15:36 dalek rakudo/nom: Hopefully fix development on JVM backend
15:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa86b9e584
15:37 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
15:37 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
15:37 lizmat MasterDuke: that would be excellent
15:38 bartolin lizmat: yes, will do it later (have to go now)
15:53 pyrimidine joined #perl6-dev
16:01 nine bartolin: I cleaned both checkouts and installation dirs. Should rebuild automatically now
16:06 pyrimidine joined #perl6-dev
16:22 MasterDuke --profile-compile with --target=parse resulted in a 830mb json file, now to try and make some sense of it
16:33 lizmat T-Dose shutting down for today&
16:45 pyrimidine joined #perl6-dev
17:07 stmuk_ https://gist.github.com/stmuk/27a299bcb6ae18d531d61e6cab843663
17:08 stmuk_ anyone seen anything like that panda bootstrap error on windows?
17:14 nine The mixture of / and \ in paths doesn't look healthy. But may be ok.
17:16 stmuk_ I think I had that before with successful builds
17:24 stmuk_ hmm my last windows issue was fixed in moar so I'll bump it a bit more
17:25 timotimo i'm glad moar was able to fix your windows issue :)
17:26 stmuk_ I don't even *like* windows!
17:35 b2gills joined #perl6-dev
17:35 b2gills joined #perl6-dev
18:03 pyrimidine joined #perl6-dev
18:38 pyrimidine joined #perl6-dev
19:03 pyrimidine joined #perl6-dev
19:17 vendethiel joined #perl6-dev
19:30 stmuk joined #perl6-dev
19:49 pyrimidine joined #perl6-dev
20:04 ggoebel joined #perl6-dev
20:11 pyrimidine joined #perl6-dev
20:20 seatek joined #perl6-dev
20:21 pyrimidine joined #perl6-dev
20:31 pyrimidine joined #perl6-dev
20:41 pyrimidine joined #perl6-dev
20:43 lizmat joined #perl6-dev
20:51 pyrimidine joined #perl6-dev
20:57 pyrimidine joined #perl6-dev
21:11 pyrimidine joined #perl6-dev
21:20 pyrimidine joined #perl6-dev
21:22 MasterDuke hmm, seems a little fishy that the largest exclusive time in my profile is only 89828
21:22 [TuxCM] joined #perl6-dev
21:24 MasterDuke has anyone else worked with profiles (not using the html or Qt viewers)?
21:30 pyrimidine joined #perl6-dev
21:41 pyrimidine joined #perl6-dev
21:50 pyrimidine joined #perl6-dev
21:52 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:54 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:56 pyrimidine MasterDuke: yes, those are quite nice
22:10 pyrimidine joined #perl6-dev
22:12 MasterDuke on another topic, how would i specify that something is optionally quoted in the NQP grammar?
22:15 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
22:15 timotimo ALL THE QUOTES
22:16 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
22:17 moritz MasterDuke: you can reuse the existing rules that parse quoted strings
22:17 moritz though <quote> includes regexes
22:20 MasterDuke i see a bunch of token quote:sym<apos>, token quote:sym<hapos>, token quote:sym<sdblq>, etc in rakudo's Grammar
22:22 MasterDuke maybe i'll select out the ones that are normal punctuation, i.e., not qq, etc.
22:36 pyrimidine joined #perl6-dev
22:38 MasterDuke 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:47 pyrimidine joined #perl6-dev
22:50 MasterDuke another regex/grammar question. is there a way to match the negation of a capture?
22:51 MasterDuke m: if "a12a3a" ~~ /(<[ab]>) (<-[$0]>+) $0/ { say $/ }
22:51 camelia rakudo-moar aa86b9: OUTPUT«「a12a3a」␤ 0 => 「a」␤ 1 => 「12a3」␤»
22:51 MasterDuke where i want $1 to be 「12」
23:23 pyrimidine joined #perl6-dev
23:26 ugexe joined #perl6-dev
23:44 TimToady m: if "a12a3a" ~~ /(<[ab]>) ([<!before $0>.]+?) $0/ { say $/ }
23:44 camelia rakudo-moar aa86b9: OUTPUT«「a12a」␤ 0 => 「a」␤ 1 => 「12」␤»
23:46 TimToady you can't interpolate into character classes
23:53 timotimo what is our nicest http request library btw? HTTP::UserAgent?

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary