Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-07-04

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

All times shown according to UTC.

Time Nick Message
00:10 travis-ci joined #perl6-dev
00:10 travis-ci Rakudo build errored. Elizabeth Mattijsen 'Add "push-all" to sequential-map "normal"
00:10 travis-ci https://travis-ci.org/rakudo/rakudo/builds/142087822 https://github.com/rakudo/rakudo/compare/6ed117a5fd08...5581b2411158
00:10 travis-ci left #perl6-dev
01:49 ilbot3 joined #perl6-dev
01: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:13 tbrowder left #perl6-dev
02:17 Zoffix http://i.imgur.com/OqNuyp8.png :)
02:18 Zoffix The console is just a placeholder, but I'm loving the look :)
02:25 AlexDaniel joined #perl6-dev
03:29 awwaiid [Coke]: feel free to give me rt juice too -- I'd love to be able to assign tickets to myself and close them
03:30 * awwaiid unrelatedly tries to remember how to install panda modules into a local rakudo build
03:33 awwaiid oh I got it, needed a more absolute path to perl6 when bootstraping panda
03:51 awwaiid hoelzro: did REPL completions work on anything other than top-level names before? As far as I can tell it didn't/doesn't
03:51 awwaiid and then it is only routines
03:53 awwaiid hoelzro: though there is code in Completions::update-completions that appears to be trying to get some other stuff, but it doesn't look like it gets executed because the context is blank
04:21 hoelzro awwaiid: it should work for top-level classes and routines
04:21 hoelzro even imported ones
04:22 hoelzro the context is blank?
04:22 * hoelzro wonders if that's recent breakage
06:24 psch hm, 'make spectest' and 'make $spectest-file' seem broken for r-j
06:24 psch like, "prove -e'./perl6-j -Ilib' $spectest-file" works
06:25 psch but 'make $spectest-file' somehow seems to mess up the prove invocation
06:26 psch and 'make spectest' fails tests that prove directly passes..?
06:27 psch and using t/harness5 also works...
06:27 psch so probably something wonky in the Makefile..?
06:29 psch oh.  Makefile-JVM.in declares J_HARNESS_WITH_FUDGE
06:29 psch but Configure.pl writes J_HARNESS5_WITH_FUDGE for the filename target
06:45 psch and i seem to have fixed the spectest target too \o/
06:46 psch well, without TEST_JOBS at least..
06:46 nine Improvement nevertheless :)
06:46 psch with TEST_JOBS works better too
06:47 psch no more "No TAP output" or however exactly that message goes
06:47 psch still, quite a few "No subtests run", which is probably mostly the getextype problem
06:50 dalek rakudo/nom: 74a0799 | peschwa++ | tools/build/Makefile-JVM.in:
06:50 dalek rakudo/nom: Fix Makefile template for JVM.
06:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/74a0799080
06:50 [Tux] This is Rakudo version 2016.06-126-g5581b24 built on MoarVM version 2016.06-9-g8fc21d5
06:50 [Tux] test            15.925
06:50 [Tux] test-t           9.441
06:50 [Tux] csv-parser      16.799
06:50 psch 13 minutes for a clean Configure.pl --backends=jvm :|
07:12 RabidGravy joined #perl6-dev
07:32 moritz psch: does that include the nqp-j build?
07:33 psch moritz: yeah, it's a clean prefix
07:46 travis-ci joined #perl6-dev
07:46 travis-ci Rakudo build passed. Pepe Schwarz 'Fix Makefile template for JVM.'
07:46 travis-ci https://travis-ci.org/rakudo/rakudo/builds/142132002 https://github.com/rakudo/rakudo/compare/5581b2411158...74a079908063
07:46 travis-ci left #perl6-dev
07:48 psch huh, curiously some test files don't report 'ok', but 'All $n subtests passed'..?
07:50 RabidGravy is that the same as when there isn't a plan or done-testing?
07:51 psch oh, that might be
08:01 psch hrm, S17-promise/start.t hangs :|
08:01 lizmat on jvm or more generally ?
08:01 lizmat fwiw, I just had a flapper on that one
08:02 psch on jvm
08:03 psch it's probably not consistent either
08:08 psch anyway, afaics there's two significant problems on jvm right now - plus the bandaid for BEGIN time EVAL, which i gladly park for now
08:08 psch the two are (1) some block that should get a handler for &return don't get it and we panic() in ExceptionHandling, because there's no handler
08:09 psch and (2) there exist cases where the handler exists, but we somehow lose the VMException object, so we can't actually handle it
08:09 psch which, i think, ties in with the nested labeled loop issue on some level
08:10 psch which probably means all the handler code needs a thorough look, and potentially even redesign or rewrite
08:10 psch luckily that's spread across half the backend again, starting in QAST::Compiler and going down to mostly runtime.ExceptionHandling... :|
08:20 |Sno| joined #perl6-dev
08:39 dalek rakudo/nom: ffc79b7 | lizmat++ | src/core/List.pm:
08:39 dalek rakudo/nom: Remove some =:= from hot paths
08:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ffc79b7535
10:07 AlexDaniel joined #perl6-dev
10:49 lizmat moritz: any idea where dalek went ?
10:59 brrt joined #perl6-dev
11:02 moritz lizmat: down with hack, it seems
11:04 dalek joined #perl6-dev
11:04 synopsebot6 joined #perl6-dev
11:04 lizmat moritz++
11:14 dalek rakudo/nom: a557a13 | lizmat++ | src/core/Pair.pm:
11:14 dalek rakudo/nom: Make Pair.new about 5% faster
11:14 dalek rakudo/nom:
11:14 dalek rakudo/nom: Having a nqp::p6bindattrinvres2 (that could bind 2 attributes in one
11:14 dalek rakudo/nom: call) would most likely speed this up quite a bit more again (and in
11:14 dalek rakudo/nom: many other places in the core).
11:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a557a137d1
11:15 lizmat jnthn: ^^^ hint hint  :-)
11:49 jnthn uh...no.
11:49 jnthn Why not just nest 2 of them?
11:49 jnthn There's be no speedup for having a composite op over nesting
11:49 jnthn They'd generate precisely the same code.
11:51 lizmat hmmm....
11:51 jnthn Since the invocant is returned you can use it as the first argument of the next bindattrinvres
11:52 lizmat yeah, I just realized that
11:52 nine Looks like something an optimizer may do somewhere in the future?
11:55 jnthn nine: Once we have lexical => local lowering, then spesh will be in a good place to kill off any unrequired sets (it already has logic for that)
11:55 jnthn So using bindattrinvres rather than having the temporary will become "free" also I'd expect
11:59 lizmat FWIW, using a nested p6bindattrinvres does  not seem to have any positive performance effects
11:59 lizmat also. Pair.new still doesn't get jitted
12:05 timotimo lizmat: potentially due to the ops it uses to grab its arguments?
12:11 jnthn It's possible that it's too polymorphic and so exceeds the number of specializations allowed during startup since we create various pairs then.
12:12 jnthn And yeah, I'd not expect a big difference tbh.
12:13 jnthn I mean, if you measured CPU cycles you'd probably find a decrease but...lexical access just ain't all that costly
12:14 brrt joined #perl6-dev
12:34 lizmat jnthn: ack
13:55 skids joined #perl6-dev
14:09 brrt joined #perl6-dev
15:52 awwaiid hoelzro: I went back to 2016.03 and saw the same behavior. If you can check out the current and see if it is broken and point out a version that works then I'll fix it
15:53 awwaiid hoelzro: I don't think anything I did should have changed the behavior, but I was about to make potentially behvior-changing modifications and was surprised by it already not getting the context
16:28 tbrowder joined #perl6-dev
16:42 tbrowder can I do a string match on a token in nqp, or do I have to go the full grammar route?  I'm not getting it to work (probably missing something): my $s := 'blah blah'; token foo { 'blah' }; say("true") if $s ~~ / $<foo>  /;
16:44 timotimo token is equivalent to a regex with the right flags set, so you could use that instead
16:45 tbrowder ah, okay, thanks, timotimo!
16:59 tbrowder i hate to be a pest, but can you make this work:  my $s := 'blah blah';  regex foo { blah }; say("true") if $s ~~ / $<foo>  /;
16:59 tbrowder what flag does it need?
17:01 timotimo token has at least :r
17:01 timotimo but i meant literal regex instead of refering to an existing one
17:01 timotimo i haven't a clue if that works in nqp or not
17:01 hoelzro awwaiid: it seems there was a regression - I'm bisecting to find it now
17:02 timotimo nqp: my $foo = rx/ :r blah /; say("true") if "blah blah" ~~ $foo
17:03 camelia joined #perl6-dev
17:04 camelia nqp-moarvm: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " rx/ :r bl"␤   at gen/moar/stage2/NQPHLL.nqp:706  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from <unknown>:1  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moa…»
17:04 camelia ..nqp-jvm: OUTPUT«(signal ABRT)#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /tmp/jvm-26808/hs_error.log␤»
17:04 camelia ..nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 206.␤exec (./rakudo-inst/bin/nqp-p <tmp>) failed: No such file or directory␤Server error occurred! Closing Link: ns1.niner.name (Quit: camelia)␤Lost connection to …»
17:04 tbrowder nqp: my $foo := rx/ :r blah /; say("true") if "blah blah" ~~ $foo;
17:06 camelia joined #perl6-dev
17:07 timotimo should use nqp-m
17:07 timotimo nqp-m: my $foo := rx/ :r blah /; say("true") if "blah blah" ~~ $foo
17:07 timotimo we may not have postfix-if in nqp?
17:07 camelia ..nqp-jvm: OUTPUT«(signal ABRT)#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /tmp/jvm-26816/hs_error.log␤»
17:07 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "my $foo :="␤   at gen/moar/stage2/NQPHLL.nqp:706  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:927  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/moar…»
17:07 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "my $foo :="␤   at gen/moar/stage2/NQPHLL.nqp:706  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:927  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/moar…»
17:08 timotimo *shrug*
17:08 * psch changed the nqp: cmd in camelia just now
17:08 psch 'cause this keeps happening, and it really shouldn't
17:08 timotimo ah
17:08 timotimo very good, thanks
17:09 psch well, idk how camelia syncs vOv
17:09 BrokenRobot nqp-m: my $foo := rx/ :r blah /; say("true") if "blah blah" ~~ $foo
17:09 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "my $foo :="␤   at gen/moar/stage2/NQPHLL.nqp:706  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:927  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/moar…»
17:09 BrokenRobot nqp-m: my $foo := rx/ :r blah /; say("true") for "blah blah" ~~ $foo
17:09 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "my $foo :="␤   at gen/moar/stage2/NQPHLL.nqp:706  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:927  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/moar…»
17:09 psch i think nqp doesn't do rx// as regex quote lang
17:09 BrokenRobot Ah
17:09 psch nqp-m: rx/1/
17:09 camelia nqp-moarvm: OUTPUT«Missing required term after infix at line 2, near "/1/"␤   at gen/moar/stage2/NQPHLL.nqp:706  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQPHLL.nqp:872  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:EXP…»
17:09 BrokenRobot nqp-m: say("true") if 1
17:09 camelia nqp-moarvm: OUTPUT«true␤»
17:13 BrokenRobot camelia: bot control pull
17:13 BrokenRobot It was something like that
17:13 BrokenRobot camelia: admin bot control pull
17:14 BrokenRobot camelia: evalbot control pull
17:14 camelia BrokenRobot: (success)
17:15 BrokenRobot camelia: evalbot control restart
17:15 camelia joined #perl6-dev
17:15 psch nqp: say("hi")
17:15 BrokenRobot (it'll take a bit for her to load up)
17:15 psch yes, i've experienced this :)
17:16 camelia nqp-moarvm: OUTPUT«hi␤»
17:16 psch i also tossed nqp-p and nqp-j, 'cause afaict they never worked
17:17 psch i mean, as standalone commands
17:17 psch (actually probably "afair", and i might just now have been around when nqp-p was used, but well...)
17:21 psch *not
17:33 geekosaur nqp-p worked once upon a time
17:36 tbrowder i need an nqp programmer to please tell me if I can use a token directly in nqp or do i have to wrap in a grammar and all its trappings?  if one can use it directly on a string, can you please show me a short working example for use in a script.  thanks
17:41 dalek rakudo/custom_repos: 5b3a099 | niner++ | / (6 files):
17:41 dalek rakudo/custom_repos: Add a Staging repository
17:41 dalek rakudo/custom_repos: review: https://github.com/rakudo/rakudo/commit/5b3a09969d
17:41 dalek rakudo/custom_repos: ac19874 | niner++ | / (8 files):
17:41 dalek rakudo/custom_repos: Allow for custom repo implementations including precompilation
17:41 dalek rakudo/custom_repos:
17:41 dalek rakudo/custom_repos: Use this new capability to move the Staging repo out of the setting and
17:41 dalek rakudo/custom_repos: make it a supplemental module.
17:41 dalek rakudo/custom_repos: review: https://github.com/rakudo/rakudo/commit/ac19874266
17:44 psch nqp: say("foo" ~~ /foo/)
17:44 camelia nqp-moarvm: OUTPUT«foo␤»
17:44 psch tbrowder: does that help?
17:45 psch nqp: my $rx := /foo/; say("foo" ~~ $rx)
17:45 camelia nqp-moarvm: OUTPUT«foo␤»
17:45 psch tbrowder: or that?
17:46 psch tbrowder: afaik the declarator "token" only exists inside of a Grammar in nqp, but lexical regex still work, as above
17:46 psch tbrowder: you just gotta bind the literal to a lexical
17:53 tbrowder psch: thanks, i'll try again
18:02 vendethiel joined #perl6-dev
18:09 MadcapJake joined #perl6-dev
18:15 DrForr Speaking of grammars, I've just noticed a problem with the NQPMatch.dump method - I don't think the hash iterator returns all keys.
18:16 DrForr s/returns/iterates over all/
18:18 DrForr https://gist.github.com/drforr/97b7d9c0ea63703df03a6d9e360e0eb6
18:19 psch that doesn't help that much without the code that builds $parsed
18:19 DrForr It's the Perl6 grammar :)
18:20 psch which you probably invoke in some way
18:20 psch like, maybe --target=parse or somehow else
18:20 DrForr I can show how it's derived, putting that up in a moment.
18:20 psch right, that's what i'm asking for :)
18:20 dalek rakudo/nom: 5b3a099 | niner++ | / (6 files):
18:20 dalek rakudo/nom: Add a Staging repository
18:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5b3a09969d
18:20 dalek rakudo/nom: ac19874 | niner++ | / (8 files):
18:20 dalek rakudo/nom: Allow for custom repo implementations including precompilation
18:20 dalek rakudo/nom:
18:20 dalek rakudo/nom: Use this new capability to move the Staging repo out of the setting and
18:20 dalek rakudo/nom: make it a supplemental module.
18:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac19874266
18:22 DrForr Updated.
18:23 psch DrForr: https://github.com/perl6/nqp/blob/master/src/QRegex/Cursor.nqp#L889
18:23 psch in 'my $a', typename has no value, hence .dump doesn't dump it
18:23 DrForr At least I think that'll do the trick. The declarator is buried rather deeply in the structure, you'll have to chain $parsed.hash.<statement>.....
18:23 DrForr Aha.
18:25 DrForr I would have expected a (Any) or something like that, it's a bit unexpected to have everything else displayed, but at least I have a reason.
18:25 psch m: grammar G { token TOP { <a> <.ws> <b> <.ws> <c> }; token a { "my" }; token b { 'Int'? }; token c { '$' \w+ } }; G.parse('my $a')<a b c>>>.Str.say # kinda like that
18:25 camelia rakudo-moar a557a1: OUTPUT«(my  $a)␤»
18:26 psch well, Match.perl obviously overflows camelias output, but i guess you get the gist
18:26 DrForr So to speak :)
18:26 psch .dump is kind of for "what did we match" - or, well, i use it like that
18:26 DrForr Yah, the grammar wasn't my concern, it was the data structure.
18:27 psch so if you didn't match anything but are allowed to not match anything it isn't useful to know that you didn't match anything...
18:27 psch but that's somewhat of a post-rationalization, soo...
18:28 DrForr It makes sense from a dev standpoint; it just confused me for a few minutes.
18:28 DrForr No worries.
18:31 psch i'm just saying i didn't write it, so i don't really know the reason for the implemented behavior... :)
18:37 DrForr I understand, no problem.
18:37 tbrowder psch: It doesn't look like rx is recognized in nqp
18:38 psch tbrowder: right, but why do you need it?  as in, why isn't a // literal enough?
18:41 tbrowder I'm trying to fix table parsing in Pod.npq. I would like to use certain regexes multiple times and would like some way to do that without multiple /ugly and possibly wrong regexes here/ uses scattered throughout the code.  I guess I can try to use a // inside a sub but I'm trying to find as high a level way as possible without the full blown grammar.
18:42 tbrowder s/npq/nqp/g
18:43 tbrowder i.e., i'm trying to write easy to read and maintainable code
18:44 |Sno| joined #perl6-dev
18:45 BrokenRobot nqp: my $rx := /foo/; say("foobarfoo" ~~ /<$rx>\w\**3<$rx>/)
18:45 camelia nqp-moarvm: OUTPUT«Substring length (-12) cannot be negative␤   at gen/moar/stage2/QRegex.nqp:1837  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm:Str)␤ from gen/moar/stage2/NQPCORE.setting:714  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPCORE.setting.moarvm:join…»
18:45 BrokenRobot nqp: my $rx := /foo/; say("foobarfoo" ~~ /<$rx>\w**3<$rx>/)
18:45 camelia nqp-moarvm: OUTPUT«foobarfoo␤»
18:45 BrokenRobot tbrowder: ^
18:46 psch tbrowder: as BrokenRobot (and me earlier as well) showed, you can assign // literals to lexicals
18:47 psch tbrowder: that might not solve your scoping issue, but if you need these regex in so many unrelated places they might need to be a grammar (maybe even in a different file) anyway
18:50 tbrowder it should, now that we are using the correct syntax, thanks, all!
18:59 BrokenRobot PR to undo "No" chars in Str.Int handling as per http://irclog.perlgeek.de/perl6/2016-07-04#i_12782986
18:59 BrokenRobot https://github.com/rakudo/rakudo/pull/808
19:00 BrokenRobot Spectest run in 81 wallclock secs is a thing of beauty :)
19:00 BrokenRobot If parse stage gets down to under 10 seconds, hacking on rakudo will be actually fun
19:07 psch i like that
19:07 psch i mean, having it in some cases but not others - and *also* actually having &unival - just makes it weird
19:08 psch i'll wait for appveyor and travis though, just for formality reasons
19:11 dalek roast: 9d3a8f6 | (Zoffix Znet)++ | S12-enums/basic.t:
19:11 dalek roast: Check .enums returns a Map (RT#128138)
19:11 dalek roast: review: https://github.com/perl6/roast/commit/9d3a8f6c34
19:11 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128138
19:31 BrokenRobot How do I do the fudge stuff with roast? I see ./fudge and ./fudgeall and it looked like running ./fudgeall moar test-file.t worked for one test, but now it's failing
19:32 BrokenRobot i.e. doesn't seem to be fudging properly
19:33 dalek rakudo/nom: e28305c | (Zoffix Znet)++ | src/core/Str.pm:
19:33 dalek rakudo/nom: Revert handling of 'No' chars in Str.Int
19:33 dalek rakudo/nom:
19:33 dalek rakudo/nom: The feature was added as a fix for RT#127866, however, Str.Numeric and
19:33 dalek rakudo/nom: especially val() remained unable to handle 'No' characters.
19:33 dalek rakudo/nom:
19:33 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127866
19:33 dalek rakudo/nom: After conversation with TimToady
19:33 dalek rakudo/nom: (http://irclog.perlgeek.de/perl6/2016-07-04#i_12782986), it was ruled
19:33 dalek rakudo/nom: that handling of 'No' characters should be explicitly requested
19:33 dalek rakudo/nom: by the programmer with unival() and so this commit undoes such handling
19:33 dalek rakudo/nom: in Str.Int case to maintain consistency.
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e28305cc99
19:33 dalek rakudo/nom: 1ed3de3 | lizmat++ | src/core/Str.pm:
19:33 BrokenRobot Specifically, I ran ./fudgeall rakudo.moar ./S32-str/substr.t and I see FUDGED in the output, but the test run still fails: https://gist.github.com/zoffixznet/000b627530ed15928b56cda8a081cde1
19:35 brrt joined #perl6-dev
19:35 timotimo you intended to fudge that particular test?
19:35 timotimo ah
19:35 timotimo the # in the output confuses the tap harness
19:35 BrokenRobot Ah
19:35 BrokenRobot K
19:35 timotimo please remove the rt ticket number from the todo message and into a comment, or name the test that or whatever :)
19:36 timotimo we have some files called rt-12345.t i think
19:37 BrokenRobot I removed it but it still fails: https://gist.github.com/zoffixznet/7a93d17f47e53eb3968817e14ab89e0f
19:40 BrokenRobot fugit... It wasn't my change that made it fail. I guess I'm not fudging correctly
19:41 dalek roast: b4254c2 | (Zoffix Znet)++ | S32-str/substr.t:
19:41 dalek roast: Check out-of-range .substr has correct ranges in error message
19:41 dalek roast:
19:41 dalek roast: RT#128039
19:41 dalek roast: review: https://github.com/perl6/roast/commit/b4254c2fdd
19:41 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128039
19:48 BrokenRobot Yup. spectest runs clean when make spectesting
20:26 dalek rakudo/nom: 234aa4f | lizmat++ | src/core/Pair.pm:
20:26 dalek rakudo/nom: Make Pair.new 10% faster for Cool:D => Mu
20:26 dalek rakudo/nom:
20:26 dalek rakudo/nom: By adding a candidate for Cool:D => Mu.  This candidate *does*
20:26 dalek rakudo/nom: get JITted, whereas the the Mu => Mu candidate isn't.  Otherwise
20:26 dalek rakudo/nom: these two candidates are the same.  Felt like a simple change that
20:26 dalek rakudo/nom: has a lot of benefits, since mostly we're putting using Cool things
20:26 dalek rakudo/nom: as a key in Pairs anyway.
20:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/234aa4f725
20:32 nine lizmat: Cool idea :)
20:33 timotimo wow, that's an unexpected win to me
20:40 lizmat the inspiration was jnthn remark about "It's possible that it's too polymorphic and so exceeds the number of specializations allowed during startup since we create various pairs then." earlier today
20:41 nine psch: you may not have found a solution for the EVAL issue, but your workaround just helped big time debuggin RT #128457 :)
20:41 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128457
20:41 nine Zoffix: ^^^
20:42 nine Zoffix: seems very much like there's still a bit of corruption possible with compile time EVALs
20:42 timotimo lizmat: did you see my multi-page coverage report prototype?
20:43 lizmat timotimo: no, link ?
20:43 timotimo it's reporting the filenames wrong (off by one, afaict), but other than that it's much better than the single html page that'd blow up your 'puter when you try to look at it
20:43 timotimo http://hack.p6c.org/~timo/coverage/
20:43 nine BrokenRobot: up there ^^^
20:43 timotimo i got MasterDuke to look at it; he'll hopefully be able to get the off-by-one fixed, and we could surely also get better HTML going so that the results are easier to see at a glimpse
20:44 lizmat timotimo: what does covered/uncovered/ignored/total mean in this context?
20:44 timotimo "has this line ever been run during the whole spec test run?" is covered
20:45 timotimo "ignored" means "moar --dump Foo.moarvm didn't output an annotation for this line, so it can't ever get a hit"
20:45 timotimo uncovered are lines that do show up in moar --dump, but have not emitted a HIT in the report
20:45 nine BrokenRobot: not only is GLOBALish an NQPMu, ::?PACKAGE is a CompUnit::PrecompilationDependency::File which really does not make any sense at all
20:46 timotimo there are some results that make very littel sense; like consecutive lines where only the first one is green; i suspect it may be thigns being thrown out by spesh or something?
20:46 timotimo so if you want to find a specific file, you currently have to look at the filename in the very last line and open that file from the list instead
20:51 timotimo lizmat: in its current state it's not useful for "are our tests complete yet?", but i think when looked at more carefully we can actually spot things like multi sub candidates that aren't being tested at all
20:51 timotimo like, could it be we're not testing []:!delete?
20:52 lizmat pretty sure we do, actually
20:52 lizmat but maybe not  :-)
20:52 timotimo well, in that case the coverage report is bogus in that part :D
20:53 timotimo the report for Slip.pm has all the positional access operators in it
20:56 psch nine: oh, geez
20:56 psch nine: that all sounds kind of terrible, to be honest
20:56 psch nine: i mean, i'm somewhat glad (in a vindictive way) it's also not completely fixed on moar, but...
20:57 psch i really wish i had complete enough insight into the whole architecture there, and also formal training :P
21:08 psch i mean, obviously i'm not happy stuff's broken
21:08 psch and that it proves itself this fscking hard to fix is also really grating on me
21:08 psch but at least it's honest-to-god, really not easy
21:08 nine psch: took me some 6 weeks to get it working as well as it does on moar
21:09 psch nine: yeah, i recognize that, and i really just don't want to sound ungrateful or unappreciative or anything
21:09 nine psch: you aren't
21:09 psch thanks :)
21:14 nine Ah, this debug output actually makes sense!
21:14 nine The EVAL in question _is_ in CompUnit::PrecompilationDependency::File. That's why ::?PACKAGE is pointing there.
21:39 Zoffix nine, sweet \o/
21:40 Zoffix Well, I guess sweet in a sense there's progress with the bug :)
21:45 vendethiel joined #perl6-dev
21:58 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2016/07/04/2016-27-summer-starts/
22:02 Zoffix lizmat++ good weekyly
22:15 tbrowder ++lizmat ditto (and thanks)
22:19 lizmat good night, #perl6-dev!
22:20 Zoffix night
22:25 dalek roast: 2f8f0a4 | (Zoffix Znet)++ | S32-list/combinations.t:
22:25 dalek roast: Group related tests
22:25 dalek roast: review: https://github.com/perl6/roast/commit/2f8f0a4ceb
22:25 dalek roast: 0ff33b3 | (Zoffix Znet)++ | S32-list/combinations.t:
22:25 dalek roast: Test non-Int values in combinations()
22:25 dalek roast:
22:25 dalek roast: RT #127779
22:25 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127779
22:25 dalek roast: review: https://github.com/perl6/roast/commit/0ff33b312b
22:44 Zoffix I don't know about adding tests for https://rt.perl.org/Ticket/Display.html?id=126976   It's '/'.IO.mkdir ... seems stepping out of boundaries
22:47 Zoffix And on a related note, I'm getting inconsistent results with '/'.IO.mkdir on Windows: https://rt.perl.org/Ticket/Display.html?id=128537
23:01 dalek roast: 7a5ad3c | (Zoffix Znet)++ | S02-lists/indexing.t:
23:01 dalek roast: Array out-of-range from-end slicing has "Effective Index" in error
23:01 dalek roast:
23:01 dalek roast: RT#126503
23:01 dalek roast: review: https://github.com/perl6/roast/commit/7a5ad3c3be
23:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126503
23:34 dalek roast: 935dae2 | (Zoffix Znet)++ | S16-filehandles/misc.t:
23:34 dalek roast: $*IN.words.unique with no new line at the end must NOT hang
23:34 dalek roast:
23:34 dalek roast: RT#126487
23:34 dalek roast: review: https://github.com/perl6/roast/commit/935dae201c
23:34 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126487
23:41 tbrowder please review PR: https://github.com/perl6/specs/pull/112

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