Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-06-17

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

All times shown according to UTC.

Time Nick Message
00:30 TimToady joined #perl6-dev
00:31 Zoffix joined #perl6-dev
01:31 FROGGS_ joined #perl6-dev
01:33 Zoffix t/spec/S32-io/IO-Socket-Async.t wobbly :( https://gist.github.com/zoffixznet/eac1da1d59a5babf42e2d730211d14cc
01:33 Zoffix (worked fine when I ran it by itself)
01:39 MasterDuke i seem to remember getting that a bunch when i 'make spectest'
01:39 Zoffix m: use Test; cmp-ok 2, '<', 5
01:39 camelia rakudo-moar 2126ed: OUTPUT«not ok 1 - ␤␤# Failed test at <tmp> line 1␤# Could not use '<' as a comparator␤»
01:40 Zoffix m: use Test; cmp-ok '', '~~>;warn run "ls"; <z', '', '';
01:40 camelia rakudo-moar 2126ed: OUTPUT«Perlito␤dalek-queue␤evalbot␤evalbot.log␤foo␤lib␤log␤mbox␤nqp-js␤p1␤p2␤p6eval-token␤perl5␤rakudo-j-1␤rakudo-j-2␤rakudo-j-inst␤rakudo-j-inst-1␤rakudo-j-inst-2␤rakudo-m-1␤rakudo-m-2␤rakudo-m-inst␤rakudo-m-inst-1␤rak…»
01:40 Zoffix PR to fix both of the above: https://github.com/rakudo/rakudo/pull/786
01:40 timotimo you are *mean* :)
01:40 timotimo why am i not in bed yet
01:48 ilbot3 joined #perl6-dev
01:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:16 Zoffix m: say 100 ≅ -100
02:16 camelia rakudo-moar 2126ed: OUTPUT«True␤»
02:16 Zoffix RT: https://rt.perl.org/Ticket/Display.html?id=128421
02:16 Zoffix Fix: https://github.com/rakudo/rakudo/pull/787
02:16 Zoffix Tests: https://github.com/perl6/roast/pull/128
02:47 dalek rakudo/nom: 102b0ea | (Zoffix Znet)++ | / (2 files):
02:47 dalek rakudo/nom: Fix cmp-ok
02:47 dalek rakudo/nom:
02:47 dalek rakudo/nom: * Make it possible to use '<' and '>' (strings) as comparators.
02:47 dalek rakudo/nom: * Avoid EVAL to prevent exploitable code ( https://rt.perl.org/Ticket/Display.html?id=128283 )
02:47 dalek rakudo/nom:
02:47 dalek rakudo/nom: Note that we explicitly don't support user-defined operators passed as comparators
02:47 dalek rakudo/nom: *as strings* and we can't use CALLER:: (see http://irclog.perlgeek.de/perl6-dev/2016-06-16#i_12678792).
02:47 dalek rakudo/nom: Those are to be used with &[op] notation.
02:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/102b0eade9
02:47 dalek rakudo/nom: 21f0be1 | lizmat++ | / (2 files):
02:47 dalek rakudo/nom: Merge pull request #786 from zoffixznet/fix-cmp-ok
02:47 dalek rakudo/nom:
02:47 dalek rakudo/nom: Fix cmp-ok
02:47 dalek rakudo/nom: ee915c3 | (Zoffix Znet)++ | src/core/Numeric.pm:
02:47 dalek rakudo/nom: Fix RT#128421
02:47 dalek rakudo/nom:
02:47 dalek rakudo/nom: Fix ≅ incorrectly handling negative numbers, e.g. producing True for 100 ≅ -100
02:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee915c3a42
02:47 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128421
02:47 dalek rakudo/nom: 70c19dd | lizmat++ | src/core/Numeric.pm:
02:47 dalek rakudo/nom: Merge pull request #787 from zoffixznet/fix-approx-op
02:47 dalek rakudo/nom:
02:47 dalek rakudo/nom: Fix RT#128421
02:47 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128421
02:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70c19dd34c
03:36 ugexe left #perl6-dev
03:37 Zoffix Is there a point in throws-like taking a Str at all?
03:38 Zoffix If one can't reference any current-scope symbols in the string to be evaled, what is left that would still be useful?
03:38 timotimo if you want compile-time errors
03:38 timotimo like "undefined symbols"
03:39 Zoffix Like what symbols?
03:40 Zoffix m: use Test; eval-dies-ok q[my $joffrey = "nasty"; die "bye bye Ned" if $joffrey ~~ /nasty/], "Ned Stark dies";
03:40 camelia rakudo-moar 70c19d: OUTPUT«ok 1 - Ned Stark dies␤»
03:40 Zoffix m: use Test; eval-dies-ok q[my $joffrey = "nasty"; die "bye bye Ned" if $joffrey ~~ /dfsadsadsadasnasty/], "Ned Stark dies";
03:40 camelia rakudo-moar 70c19d: OUTPUT«not ok 1 - Ned Stark dies␤␤# Failed test 'Ned Stark dies'␤# at <tmp> line 1␤»
03:40 Zoffix why is this working :/
03:41 Zoffix Oh
03:41 Zoffix I guess I should say, yeah, that's working, but is entirely useless.
03:42 Zoffix timotimo, what sort of symbols? None of the symbols from where the test is being run would be defined.
03:43 timotimo um
03:43 timotimo like '$joffrey = "nasty"'
03:43 timotimo you want that to throw an "undefined symbol" error
03:43 timotimo don't forget we have a language test suite as the biggest user of the test library
03:45 Zoffix Thanks
03:45 Zoffix Well, sorta.
03:46 Zoffix The stuff in roast is testing core features that are available in the context of the code EVALed.
03:47 timotimo right
03:49 Zoffix [21:41:14] <timotimo> why am i not in bed yet
03:50 Zoffix [23:50:15] <Zoffix> [21:41:14] <timotimo> why am i not in bed yet
03:50 Zoffix :)
03:50 timotimo yeah, can't sleep :(
03:50 Zoffix ditto
03:50 Zoffix 10 to midnight here
03:50 timotimo right now i'm looking for a mini usb cable
03:50 timotimo it's ten to six here
03:51 jdv79 its ten of tomorrow round these parts
04:01 Zoffix So basically RT#128419 is all just about fixing roast. The docs explicitly say EVAL won't be in context.
04:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128419
04:02 b2gills m: sub test ($s) { &CALLERS::("infix:<$s>") }; { sub infix:<b> ($a,$b){}; say test 'b' }
04:02 camelia rakudo-moar 70c19d: OUTPUT«sub infix:<b> ($a, $b) { #`(Sub+{Precedence}|47569280) ... }␤»
04:06 Zoffix b2gills, you should read RT tickets more often :) there was a lot of effort to figure that out: https://rt.perl.org/Ticket/Display.html?id=128283
04:07 Zoffix b2gills++
04:10 Zoffix I'll send a fix to cmp-ok tomorrow or in a few days
04:16 Zoffix There's a shitzillion roast failures with RT#128419 fix: https://gist.github.com/zoffixznet/0ca7276773cb53ebd4c08339dff3b05b
04:16 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128419
04:17 Zoffix Before I expend time fixing them, it's fine to just convert all of them to throws-like { EVAL '...' }, right?
04:53 llfourn_ joined #perl6-dev
05:07 llfourn joined #perl6-dev
05:30 japhb joined #perl6-dev
05:31 jrusso joined #perl6-dev
05:38 teatime joined #perl6-dev
06:00 lizmat joined #perl6-dev
06:42 [Tux] This is Rakudo version 2016.05-156-g70c19dd built on MoarVM version 2016.05-18-g1339332
06:42 [Tux] test            17.352
06:42 [Tux] test-t           9.743
06:42 [Tux] csv-parser      21.946
06:51 stmuk joined #perl6-dev
06:55 stmuk joined #perl6-dev
06:58 stmuk joined #perl6-dev
07:07 patrickz-mobile joined #perl6-dev
07:17 patrickz-mobile left #perl6-dev
07:18 patrickz joined #perl6-dev
07:18 patrickz http://www.ugexe.com/when-open-source-doesnt-work/
07:19 patrickz I guess someone should give ugexe a commit bit to rakudo.
07:31 stmuk I think he just has to sign a contribution agreement?
07:32 stmuk or chase people over PRs :)
07:42 masak I... don't understand the message of that post.
07:43 masak is it a comment on something that happened recently that I missed?
07:44 raiph joined #perl6-dev
07:59 flok420 joined #perl6-dev
08:01 flok420 did some benchmarking of some code and perl 5 ran it in 2 minutes and 43 seconds and perl 6 took around 15 hours. this may already be known by you guys but if not example code can be found at https://vanheusden.com/misc/blog/2016-05-19_brainfuck_compilers_compared.php
08:04 nine masak: I can pretty much guess what it's about: PR 729
08:04 flok420 the perl script generated is http://vps001.vanheusden.com/~folkert/test.pl (perl 6 version, the 5 version can be generated with the scripts on the site mentioned)
08:04 nine masak: which is all the more surprising since it has been waiting for ugexe to fix a backwards compatibility issue.
08:05 nine masak: I'd be very happe to see it merged once it doesn't break installed modules for everyone.
08:11 psch flok420: the 'Perl 6' link seem to link to python code?
08:12 psch ...actually, everything links to python code?
08:13 psch oh, now i get it
08:13 * psch is still waiting on the coffee
08:13 nine If only people would at least try to talk first before storming off and leaving a rant on a blog :/
08:17 psch flok420: well, the only obvious thing i can think of is adding module code, which would allow you to precompile the compiler itself, which should reduce runtime after the first run
08:18 psch or, well, after installing the distribution if you want to go that far vOv
08:23 stmuk joined #perl6-dev
08:37 flok420 psch yeah those python scripts generate e.g. perl or cobol or javascript etc code from a brainfuck program.
08:38 flok420 psch: sorry if I don't respond immediately: am at work currently
08:38 psch right, and in general you probably don't particularly care to run the same generated program more than once, which kind of makes "turn it into a module" a bit of a not-terribly-fitting solution
08:39 psch fwiw, if i wanted to generate something that can work on the rakudo compiler, i'd probably straight generate the corresponding QAST via hooking into Perl6::{Grammar,Actions}, but that's also far removed from a fairly comparable solution
08:40 psch not to mention probably terribly annoying to write :P
08:42 psch anyway, yeah, NQP is probably the reasonable target for a compiler (it's what it's for after all), but the compilers are all in python already
08:43 psch so, the general slowness is probably "iteration could be faster" and "invocation could have less overhead", which both are well known
08:44 psch unfortunately 4.9k loc is definitely too much for our profiler, as we don't have an output target for that yet that works with big profiles afaik
08:44 psch as in, the json we generate usually comes with some HTML around, which probably won't work out with 4.9k loc :)
08:46 jnthn It's more about how deep the call tree goes and how varied it is than the number of lines of code
08:47 psch well, the file in question declares 43 subs, and calls at least a few nested vOv
08:47 jnthn Worth a try... :)
08:48 jnthn fwiw, I've been sent a generated output from that to look at also
08:48 psch ah, alright then
08:48 psch i'll do some more waking up and then back at the nested CU thingy...
08:50 jnthn :)
08:50 * jnthn will continue trying to fix return stuff on JVM this afternoon :)
08:55 psch although i really can't shake the feeling that we're just somehow messing up in the cuid_to_qbid mapping...
09:34 RabidGravy joined #perl6-dev
09:41 masak nine: huh. sounds like a misunderstanding, or unintended deadlocking, or something.
09:51 nine yep
09:51 nine which could have been cleared up by simply asking
09:59 AlexDaniel joined #perl6-dev
10:24 Zoffix Turns out "* ugexe (ugexe@p6.nu) has left ("pointless")" was weird...
10:28 cog-nominal joined #perl6-dev
10:28 cognominal joined #perl6-dev
10:37 Zoffix So there are now two raging blog post about nine and precompilation over a few bugs? 😂
10:37 Zoffix No one's rage-posting about .hyper being broken! Priorities! 😂
10:47 Zoffix Are we doing R* release for 2016.06.06? Seems there were many speed improvements since 04
10:49 nine Zoffix: damn...now I read the post again. I skimmed it only the first time around because I knew already what it was about and I feared to find exactly what I now read: unfair accusations and personal attacks :/
10:53 Woodi .o(*Patience* is a virtue)
10:54 Zoffix Well, I've read the PR and channel log and the post seems to make a huge number of assumptions and invent reasons for deadlocking, so don't take it too personally.
10:54 Zoffix Looks like just a very strange way to vent frustration.
10:56 Zoffix Hell, I have 56 still-open PRs some of them going back years: https://github.com/search?utf8=✓&q=is%3Aopen+is%3Apr+author%3Azoffixznet
10:57 nine All the frustration about me taking on the precomp stuff could have been avoided by ugexe or tony-o dropping a note about them working on a solution already. Instead they worked on "open" source in private.
10:58 Zoffix Waaaait a minute. A ton of them are to masak's repos!
11:03 nine You should clearly rage quit working on masak!
11:03 nine .oO(that somehow sounds very wrong)
11:04 psch hrm
11:05 psch i am unsure if i have reasonable suspicion to not persue the nested JCLASS solution, or if i'm just procrastinating a lot of annoying work :P
11:05 psch 'cause (1) the missing qbid feels off.  we never generate a method for that and (2) i remember the NPE in 'sub f { sub g { 1 } }; f()()'
11:05 nine psch: oh I can sympathize so well
11:06 psch which seems somewhat related, even though it's *very* hunchy
11:08 psch nine: but what do i doo D:
11:08 nine I can only say that I probably lost a week due to putting off the lot of annoying work and trying to muddle through instead
11:10 psch i mostly don't want to put in all the annoying work and then find out it wasn't the right solution in the first place
11:13 nine those were my thoughts exactly :)
11:13 nine Of course, it's still possible that it's not the right solution after all :/
11:16 psch yeah...
11:16 psch i think i'll have to figure out why we don't generate a strictly ascending list of qb_* methods
11:16 psch because, well, that's kind of a hint, right
11:17 psch if it is because we somehow skip it but shouldn't, it means that the cuid => qbid mapping gets wonky
11:17 psch ...although i'm not sure yet how to figure out if we wrongfully don't gen it /o\
11:17 nine What makes you think that they should be strictly ascending?
11:18 psch well, they're not sorted, but all number from 0 to num-methods - 1 exist
11:18 psch sooo i'm probably again wrongly saying "strictly ascending" :)
11:19 psch and they don't all exist we break during initializeCompunit in CompUnit.java
11:20 psch because each CU gets its lexical values set during init
11:20 psch *and *if* they
12:10 sortiz joined #perl6-dev
12:24 [Coke] rakudo.org certs are tripping up chrome.
12:24 [Coke] "This server could not prove that it is rakudo.org; its security certificate is from host.pmichaud.com. This may be caused by a misconfiguration or an attacker intercepting your connection.
12:24 [Coke] "
12:24 [Coke] oh, and actually the front page is dead.
12:25 [Coke] oh. https doesn't work, http does. (I have https everywhere enabled)
12:27 AlexDaniel Zoffix: the situation with .hyper is too depressing… I don't think that you can go through writing a blog post without commiting suicide ;)
12:27 BrokenRobot :D reminds me of a coworker who claimed one of our website was broken, so I come over to their desk and watch them go to the browser, pull down "https://google.com" from location bar, delete the "google" part and try to visit the site via HTTPS :P
12:27 flok420 left #perl6-dev
12:28 AlexDaniel but he was right! What's your reasoning for not having https set up? ;)
12:28 BrokenRobot AlexDaniel: it's very simple: money
12:28 nine What? pmicheaud trying to usurp Perl 6!
12:29 AlexDaniel BrokenRobot: oh right. What's the cost of letsencrypt nowadays? ;)
12:29 BrokenRobot AlexDaniel: then I'll make the broken .hyper work for me and write a blog post when it's fixed!
12:29 BrokenRobot https://xkcd.com/1172/
12:29 BrokenRobot AlexDaniel: the cost of paying me to learn how to use it and use it. But the event happened before letsencrypt existed anyway
12:30 AlexDaniel okay
12:32 BrokenRobot Though we probably should have it on rakudo.org :D
12:33 [Coke] I opened an RT, and forwarded the rt to webmaster@rakudo.org
12:33 [Coke] (which i assume is pm)
12:34 [Coke] MasterDuke: are you still having trouble commenting on RT tickets?
12:34 [Coke] (https://github.com/rakudo/rakudo/pull/775)
12:46 skids joined #perl6-dev
12:48 lizmat joined #perl6-dev
13:00 MasterDuke__ joined #perl6-dev
13:01 MasterDuke__ [Coke]: yeah, my account seems to be messed up
13:02 MasterDuke__ per AlexDaniel's advice i emailed the admin account (about 3 weeks ago), but haven't heard back
13:04 MasterDuke__ and when i email perl-bugs-followup it takes a while for my emails to show up
13:04 MasterDuke__ see #128280 for example
13:04 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128280
13:05 flok420 joined #perl6-dev
13:07 flok420 I've got my uint8 $test = 0; $test--; $test &= 255; this fails with This type cannot unbox to a native integer: P6opaque, Junction
13:07 psch flok420: & isn't bitwise and
13:07 hoelzro joined #perl6-dev
13:07 psch (also that's kind of a #perl6 question i think)
13:08 flok420 ah ok. thought it was a bug.
13:08 psch m: say 3 +& 2
13:08 camelia rakudo-moar 70c19d: OUTPUT«2␤»
13:08 psch m: say 3 & 2
13:08 camelia rakudo-moar 70c19d: OUTPUT«all(3, 2)␤»
13:08 BrokenRobot flok420: there *is* a bug though. $test will have -1
13:08 AlexDaniel m: uint8 $test = 0; $test--; say $test
13:08 camelia rakudo-moar 70c19d: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> uint8⏏ $test = 0; $test--; say $test␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier␤…»
13:09 AlexDaniel m: my uint8 $test = 0; $test--; say $test
13:09 camelia rakudo-moar 70c19d: OUTPUT«-1␤»
13:09 AlexDaniel holy…
13:09 psch m: my uint8 $t = 0; $test--; $test +&= 255; say $test
13:09 camelia rakudo-moar 70c19d: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Variable '$test' is not declared␤at <tmp>:1␤------> my uint8 $t = 0; ⏏$test--; $test +&= 255; say $test␤»
13:09 AlexDaniel bisect: my uint8 $test = 0; $test--; say $test
13:09 bisectable AlexDaniel: on both starting points the exit code is 0 and the output is identical as well
13:09 psch m: my uint8 $test = 0; $test--; $test +&= 255; say $test
13:09 camelia rakudo-moar 70c19d: OUTPUT«-1␤»
13:09 BrokenRobot That's been the case since pre-Christmas.
13:09 AlexDaniel m: my UInt $test = 0; $test--; say $test
13:09 camelia rakudo-moar 70c19d: OUTPUT«Type check failed in assignment to $test; expected UInt but got Int (-1)␤  in block <unit> at <tmp> line 1␤␤»
13:09 * BrokenRobot digs for the RT detaling a lot of discrepancies
13:09 AlexDaniel /o\
13:09 psch AlexDaniel: UInt unfortunately doesn't get native fastitude anymore :/
13:10 psch well, "anymore" as in "in contrast to uint"
13:11 flok420 ok thanks guys!
13:11 BrokenRobot Here, I didn't get through all of them tho: https://rt.perl.org/Ticket/Display.html?id=127409
13:11 AlexDaniel flok420: by the way, it is mentioned here: http://doc.perl6.org/language/5to6-nutshell
13:13 flok420 thanks, I'll read it
13:14 AlexDaniel /o\
13:19 BrokenRobot m: my Int $test = 1; $test /= 2
13:19 camelia rakudo-moar 70c19d: OUTPUT«Type check failed in assignment to $test; expected Int but got Rat (0.5)␤  in block <unit> at <tmp> line 1␤␤»
13:20 jnthn m: my Int $test = 1; $test div= 2
13:20 camelia rakudo-moar 70c19d: ( no output )
13:28 dalek nqp/return-without-lexotic: 390a1c5 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ExceptionHandling.java:
13:28 dalek nqp/return-without-lexotic: Skip compiler stubs as well as thunks.
13:28 dalek nqp/return-without-lexotic: review: https://github.com/perl6/nqp/commit/390a1c53d6
13:30 BrokenRobot m: sub infix:<<»> {}; sub foo ($c) {say &CALLERS::("infix:<$c>") // &CALLERS::("infix:<{$c.subst("<", "\\<", :g)}>") // &CALLERS::("infix:«$c»") }; foo $_ for "<", "<»"
13:30 camelia rakudo-moar 70c19d: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Cannot declare a variable by indirect name (use a hash instead?)␤at <tmp>:1␤------> b foo ($c) {say &CALLERS::("infix:<$c>")⏏ // &CALLERS::("infix:<{$c.subst("<", "\␤»
13:31 psch m: sub infix:['<»'] { }
13:31 camelia rakudo-moar 70c19d: ( no output )
13:31 BrokenRobot Fixed by escpaing the < in <, but I guess we can't make a better error?
13:31 psch fwiw, i think $*W.canonicalize_pair needs some deeper thought in general
13:32 psch and, well, ::() needs to go through it too to make things easier
13:32 psch probably only when we do find a pair in ::(), though
13:35 jnthn Yay, seems I managed to get rakudo-j on its feet again after the return changes :)
13:35 psch jnthn++
13:35 psch it's probably too much to hope that magically fixed the precomp/install bug too, isn't it? :)
13:38 jnthn 'fraid so
13:39 jnthn Though it lets me get rid of a bit of Rakudo-specific Java code, and it should give a bit of a speedup
13:39 psch well, that's great too
13:41 jnthn BrokenRobot: Are you the person doing The Release this weekend?
13:41 BrokenRobot jnthn: yup.
13:41 flok420 left #perl6-dev
13:41 flok420 joined #perl6-dev
13:41 flok420 left #perl6-dev
13:42 jnthn BrokenRobot: OK. I'm wondering about merging the return branch. I think I know how to do a MoarVM patch that, for now, disables the inlinings that cause that return bug. I'm less sure how to do such a patch for the pre-merge state.
13:42 jnthn (The for ^158 {...} one)
13:43 jnthn I don't think I've time/energy to do a real fix for it this side of the release :)
13:44 BrokenRobot bisect: sub foo { return 42 }; for ^158 { foo }
13:44 bisectable BrokenRobot: (2016-06-01) https://github.com/rakudo/rakudo/commit/7250543
13:45 BrokenRobot Wouldn't just avoiding the above commit avoid the bug too?
13:46 timotimo but that's the whole point of the branch :)
13:46 patrickz joined #perl6-dev
13:46 psch fwiw, i'd be ok with hiding
13:47 BrokenRobot timotimo: to fix (or "hide") the bug, right?
13:48 dalek rakudo/return-without-lexotic: f7577ee | jnthn++ | / (5 files):
13:48 dalek rakudo/return-without-lexotic: Remove now-unused p6routinereturn op.
13:48 dalek rakudo/return-without-lexotic: review: https://github.com/rakudo/rakudo/commit/f7577ee713
13:48 timotimo the branch is there for making return much more efficient. without that commit, we're going to get a gigantic part of the inefficiency back
13:48 BrokenRobot Oh, then sure, let's merge :D
13:48 AlexDaniel :D
13:50 jnthn Yeah, the merge and (hopeful, testing now) workaround would let us keep most of the performance win without having the bug
13:54 BrokenRobot Went to teach cmp-ok to take custom ops as Str... found a bug in custom ops exported from a module
13:54 BrokenRobot (comprehensive tests)++
13:55 [Coke] email through RT can end up in a manual spam filter.
13:56 [Coke] if it's been weeks, a followup to the bugadmins saying "any progress on this" is reasonable.
13:57 BrokenRobot Am I doing something wrong? &[<=»] fails if the op is imported from a module, but works if it's defined inside the same file: https://gist.github.com/zoffixznet/4cf75e2219a80430e58da6f0f5302f0c
13:59 BrokenRobot Fails with &CALLERS::("infix:<\<=»>"); too
14:03 b2gills m: say sub infix:«<=\»» ($a,$b){}; say &::('infix:<\<=»>')
14:03 camelia rakudo-moar 70c19d: OUTPUT«sub infix:<\<=»> ($a, $b) { #`(Sub+{Precedence}|46884752) ... }␤sub infix:<\<=»> ($a, $b) { #`(Sub+{Precedence}|58466328) ... }␤»
14:05 BrokenRobot For some reason even if I call it "op" and the &CALLERS::("infix:<op>") fails. Even though I'm pretty sure I tested that last night on my home box :/
14:06 b2gills m: say sub infix:<\<=»> ($a,$b){}; say { &CALLERS::('infix:<\<=»>') }()
14:06 camelia rakudo-moar 70c19d: OUTPUT«sub infix:<\<=»> ($a, $b) { #`(Sub+{Precedence}|39421936) ... }␤sub infix:<\<=»> ($a, $b) { #`(Sub+{Precedence}|51003512) ... }␤»
14:07 BrokenRobot m: package Foo {sub infix:<op>  is export { $^a < $^b }}; import Foo; say &CALLERS::("infix:<op>")
14:07 camelia rakudo-moar 70c19d: OUTPUT«No such symbol '&::CALLERS::infix:<op>'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
14:07 psch m: package Foo {our sub infix:<op>  { $^a < $^b }}; import Foo; say Foo::.keys
14:07 camelia rakudo-moar 70c19d: OUTPUT«(&infix:<op>)␤»
14:07 b2gills m: package Foo {sub infix:<op>  is export { $^a < $^b }}; import Foo; say { &CALLERS::("infix:<op>") }()
14:07 camelia rakudo-moar 70c19d: OUTPUT«sub infix:<op> ($a, $b) { #`(Sub+{Precedence}|56250272) ... }␤»
14:08 b2gills You need at least one call level to use CALLERS
14:08 psch m: package Foo {our sub infix:<\<=»>  { $^a < $^b }}; import Foo; say Foo::.keys
14:08 camelia rakudo-moar 70c19d: OUTPUT«(&infix:<\<=»>)␤»
14:08 BrokenRobot Ah. Thanks
14:08 psch m: package Foo {our sub infix:<\<=»>  { $^a < $^b }}; import Foo; say Foo::.keys; say Foo::<&infix:<\<=»>>
14:08 camelia rakudo-moar 70c19d: OUTPUT«(&infix:<\<=»>)␤(Any)␤»
14:09 psch ah, but the import doesn't work for the &[] form..?
14:09 psch i think that's another notch in "we need to make canonicalize_pair do something during runtime lookups"
14:10 BrokenRobot psch: it works, but not with a weird op name
14:10 BrokenRobot m: package Foo {sub infix:["op"] is export { $^a < $^b }}; import Foo; say &[op]
14:10 camelia rakudo-moar 70c19d: OUTPUT«sub infix:<op> ($a, $b) { #`(Sub+{Precedence}|67198896) ... }␤»
14:10 BrokenRobot m: package Foo {sub infix:["<=»"] is export { $^a < $^b }}; import Foo; say &[<=»]
14:10 camelia rakudo-moar 70c19d: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Unable to parse expression in infix noun; couldn't find final ']' ␤at <tmp>:1␤------> ort { $^a < $^b }}; import Foo; say &[<=⏏»]␤»
14:13 jnthn BrokenRobot: Confirm that my workaround fixes the loop/return thing
14:13 BrokenRobot \o/
14:13 jnthn So, we can not have that bug for release and keep the other return improvements :)
14:14 BrokenRobot jnthn++
14:14 BrokenRobot m: m: package Foo {sub infix:«<=\»»  is export { $^a < $^b }}; import Foo; say { &CALLERS::("infix:«<=\»»") }()
14:14 camelia rakudo-moar 70c19d: OUTPUT«No such symbol '&::CALLERS::infix:«<=»»'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
14:14 BrokenRobot ^ seems the issue is that op. Doesn't work with CALLERS either
14:15 BrokenRobot b2gills: any ideas?
14:16 b2gills m: say sub infix:«<=\»»  is export { $^a < $^b }
14:17 camelia rakudo-moar 70c19d: OUTPUT«sub infix:<\<=»> ($a, $b) { #`(Sub+{Precedence}|50857776) ... }␤»
14:17 BrokenRobot m: package Foo {sub infix:<\<=»> is export { $^a < $^b }}; import Foo; say { &CALLERS::("infix:<\\<=»>") }()
14:17 camelia rakudo-moar 70c19d: OUTPUT«sub infix:<\<=»> ($a, $b) { #`(Sub+{Precedence}|46764128) ... }␤»
14:17 BrokenRobot Awesome, b2gills++
14:20 psch BrokenRobot: yeah, i figured that a not-easily-canonicalized pair is what makes stuff weird there
14:33 BrokenRobot does rakudo's make test skip 02-rakudo on purpose?
14:33 dalek Heuristic branch merge: pushed 19 commits to nqp by jnthn
14:33 BrokenRobot t/02-rakudo tests that is
14:39 dalek rakudo/nom: 7ee6578 | jnthn++ | src/ (5 files):
14:39 dalek rakudo/nom: Switch Rakudo away from using lexotic for return.
14:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7ee6578ce9
14:39 dalek rakudo/nom: fcd0093 | jnthn++ | src/core/Exception.pm:
14:39 dalek rakudo/nom: Update Exception.fail after return changes.
14:39 jnthn Here goes dalek...
14:39 jnthn :P
14:39 jnthn Only 11 commits. Can't possibly be a merge!
14:40 dalek joined #perl6-dev
14:45 * lizmat builds and spectest and keeps fingers crossed
14:46 dalek roast: a9597e6 | jnthn++ | integration/weird-errors.t:
14:46 dalek roast: Untodo inline/return test.
14:46 dalek roast:
14:46 dalek roast: MoarVM has a workaround for it, and untodoing this will keep us honest
14:46 dalek roast: in doing a real fix before removing the workaround there. :-)
14:46 dalek roast: review: https://github.com/perl6/roast/commit/a9597e6781
14:46 b2gills That last pull+rebuild took just over 4 minutes, it usually takes less than three ( rebuilding again to see if it goes back down )
14:48 lizmat jnthn: I'm seeing some Inline::Perl5 breakage  :-(
14:49 b2gills ... and back down to 2m9s
14:49 jnthn Funny, I had my fastest Rakudo build on my Windows box just now...
14:50 jnthn 96.25s for Rakudo itself
14:50 b2gills I use 「time rakudobrew build moar」 so it includes git pull
14:51 jnthn ah, fair enough
14:51 jnthn lizmat: Any details for me?
14:51 lizmat in a mo, when the spectest is finished  :-)
14:52 jnthn k
14:52 b2gills .oO( I assume that means mo-ment not mo-nth )
14:53 jnthn If anything, that merge might make them a tad faster :)
14:53 lizmat https://gist.github.com/lizmat/3f447654c9150e823f2057d9b3bcc9b9
14:53 lizmat jnthn: ^^^
14:54 b2gills actually I think my build timings haven't been below 2m30s until just now
14:54 * lizmat looks forward to the next test-t, [Tux]  ??
14:55 * lizmat nukes install to make sure Inline::Perl5 issues aren't transitionary
14:56 jnthn Hmmm
15:05 mst I know it wasn't, but I really wanted that to be a Banks reference
15:06 BrokenRobot m: "<><>"..subst(/<?before <[<>]>>/, '\\', :g).say;
15:06 camelia rakudo-moar 519e76: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤    subst used at line 1. Did you mean 'substr'?␤␤»
15:06 BrokenRobot m: "<><>".subst(/<?before <[<>]>>/, '\\', :g).say;
15:06 camelia rakudo-moar 519e76: OUTPUT«\<\>\<\>␤»
15:07 BrokenRobot (never mind; found my bug while trying to ask wtf I had a difference :P)
15:10 jnthn lizmat: Well, I can reproduce it. I've not much idea what it means or what can be done about it.
15:13 lizmat jnthn : I guess nine will need to shine his light on it  :-)
15:13 jnthn It's nothing to do with spesh, at least :)
15:16 jnthn ohhh...I see it
15:16 jnthn It's doing a CONTROL and assuming that every control exception is a warning
15:16 jnthn And return exceptions are now control exceptions too
15:17 geekosaur again? :p
15:17 jnthn lol!
15:17 jnthn Maybe I should implement them in terms of hardware traps? :P
15:18 BrokenRobot :)
15:18 geekosaur thatd be a step backwards (to, oh, the 1940s...)
15:19 geekosaur actually don't even need to go that far back, considering the history of algol-60
15:20 jnthn OK, got a clean Inline::Perl5.
15:20 jnthn And, good news, the patch is fully backward-compatible
15:20 BrokenRobot \o/
15:21 jnthn aww, no commit bit :)
15:21 lizmat jnthn: I could merge a PR
15:23 jnthn PR submat
15:24 jnthn nine++ # Inline::Perl5 was easy to patch
15:25 lizmat merged
15:26 lizmat Inline::Perl5 now installed ok
15:26 jnthn phew :)
15:26 jnthn Any improvement for you in spectest time? :)
15:27 nine Thanks jnthn++, lizmat++!
15:27 nine That CONTROL handler is actually for Inline::Perl6
15:27 jnthn nine: np, figured I'd see if I could quickly figure it out rather than you having to :)
15:27 lizmat jnthn: will know in a min
15:28 jnthn k
15:28 nine So everyone's looking forward to test-t now?
15:29 jnthn Will be interesting to see how much the next/return changes help
15:30 jnthn [Tux] seemed to think the next ones more than the return ones
15:32 lizmat Files=1109, Tests=52351, 272 wallclock secs (15.50 usr  4.18 sys + 1653.50 cusr 133.22 csys = 1806.40 CPU)
15:33 lizmat this seem much faster, but then again, roast is not your typical Perl 6 code
15:33 lizmat afk&
15:33 jnthn Well, it's probably a speedup for the compiler itself too
15:34 BrokenRobot m: say 272/60
15:34 camelia rakudo-moar 519e76: OUTPUT«4.533333␤»
15:34 jnthn Of course I don't know what it was before so... ;)
15:34 lizmat jnthn: yes, allomorphs e.g.
15:34 BrokenRobot I've been waiting for mine to complete for 14 minutes already :) still on S12
15:34 BrokenRobot 2-core 32-bit box :(
15:35 lizmat the CPU and wallclock really depend on what I'm doing at the same time, and on the temperature of my notebook
15:35 lizmat I've seen faster, I've also seen much slower
15:35 jnthn Well, you're in Florida, so I assume it's hot :P
15:35 lizmat yup, 33 outside
15:35 jnthn eww
15:36 jnthn Prague is about 20 today. Perfect. :)
15:36 lizmat jnthn: maybe some entries about this in docs/ChangeLog are in order  :-)
15:36 lizmat really afk&
15:40 dalek rakudo/nom: 5ca43c2 | jnthn++ | docs/ChangeLog:
15:40 dalek rakudo/nom: Note return/next improvements in ChangeLog.
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5ca43c26d2
15:40 jnthn lizmat++ # reminding me to do that :)
15:41 jnthn OK, enough for now :) Time to rest a bit, then make some cheese curry :)
15:45 * mst likes microwaving curries then melting 250g of cheddar into them
15:49 [Coke] I thought the US disabled all C temperature measurements on native soil.
15:50 [Coke] (I actually have my car set to report in C so I have to do the conversions on the regular)
15:51 [Coke] it was 30c in upstate new york last night.
15:52 perlpilot looks like the lows/highs will be around 22/32 C in Orlando next week.
15:54 jdv79 [Coke]: where?  the bank time/temp signs around here alternate C and F - at least most i think.
15:55 BrokenRobot PR to support custom ops via Str params in cmp-ok: https://github.com/rakudo/rakudo/pull/788
15:56 psch BrokenRobot: i still think there's a lot of bandaiding that could be fixed in CORE
15:56 * geekosaur has not seen a bank time/temp sign in years...
15:56 psch BrokenRobot: note that i don't mean to say you have to do that... :)
15:58 BrokenRobot Sure and &[<=»] doesn't work. When that's fixed the stuff in this PR can be amended (the $matcher code fixed and broken tests uncommented)
15:58 BrokenRobot And I'd do that, but I don't know how :P
15:59 psch BrokenRobot: well, Perl6::World.canonicalize_pair is one spot that needs a looks
15:59 psch because i think we need a better way to store the op symbols
15:59 psch as in, only &[<] and &[>] get stored in the symbol table with french quotes
16:01 BrokenRobot Why do they need French quotes at all?
16:02 psch because &infix:<>> and &infix:<<> can't parse
16:02 psch the first is TTIAR, the second is missing delimiter
16:02 psch ..no, the first parses, but doesn't DWYM
16:03 BrokenRobot And @infix:<<=> works fine?
16:03 psch m: say &infix:<<=>
16:03 camelia rakudo-moar 5ca43c: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Unable to parse expression in shell-quote words; couldn't find final '>>' ␤at <tmp>:1␤------> say &infix:<<=>⏏<EOL>␤    expecting any of:␤        colon pair␤        shell-quote words␤»
16:03 psch s/only/at least/ :)
16:03 BrokenRobot Right, it needs some sorta escape, so why not have the same sorta escape for < and > too?
16:03 BrokenRobot And not bother with French quotes
16:04 psch well, as you found out, look-up with escapes also doesn't work right currently
16:04 psch at least over a module border
16:04 BrokenRobot This is actually the reason for one of the &CALLERS in my PR, the escapes don't work with < and >
16:04 BrokenRobot They work through &CALLERS but not &[]
16:05 BrokenRobot They == escapes
16:07 * BrokenRobot greps for canonicalize_pair
16:07 BrokenRobot That looks scary enough for me to not need to have an opinion on how it's implemented :P
16:08 psch fwiw, i think storing in the &infix:[' '] form would be best
16:08 psch but then we also need a way to teach ::() to canonicalize to that
16:08 psch ...i'm not sure if that should be generalized to other foofix
16:09 psch and, well, in the end its still just shifting to ' as broken in infixes :|
16:33 [Coke] jdv79: in capdist NY, all F
16:36 AlexDaniel joined #perl6-dev
16:52 dalek nqp: a66ceb4 | (Steve Mynott)++ | docs/bootstrapping.pod:
16:52 dalek nqp: attempt to update stage0 bootstrap directions
16:52 dalek nqp: review: https://github.com/perl6/nqp/commit/a66ceb4d8b
16:52 dalek nqp: 720cf19 | (Steve Mynott)++ | docs/bootstrapping.pod:
16:52 dalek nqp: jnthn++ feedback and minor tweaks
16:52 dalek nqp: review: https://github.com/perl6/nqp/commit/720cf19c22
16:52 dalek nqp: d1a950f | jnthn++ | docs/bootstrapping.pod:
16:52 dalek nqp: Merge pull request #291 from stmuk/master
16:52 dalek nqp:
16:52 dalek nqp: attempt to update stage0 bootstrap directions
16:52 dalek nqp: review: https://github.com/perl6/nqp/commit/d1a950f8ce
16:54 BrokenRobot Any hints for what exception to throw if one of the args in a given possibly-lazy-or-infinite list isn't the right type?
16:55 BrokenRobot Like, I wanna throw when that arg is reached
16:55 stmuk I suppose the js backend doesn't bootstrap itself?
16:58 BrokenRobot m: X::TypeCheck.new(:operation("processing a divisor in polymod()"), :got(2.5), :expected(Int)).throw # I'll go with that
16:58 camelia rakudo-moar 5ca43c: OUTPUT«Type check failed in processing a divisor in polymod(); expected Int but got Rat (2.5)␤  in block <unit> at <tmp> line 1␤␤»
17:17 [Tux] This is Rakudo version 2016.05-168-g5ca43c2 built on MoarVM version 2016.05-37-ga126e0f
17:17 [Tux] test            15.801
17:17 [Tux] test-t           9.400
17:17 [Tux] csv-parser      22.201
17:19 BrokenRobot nine: so the .rev-dep stuff... you said it was meant to be after the release. Is it OK to include it or do I need to do some sort of git stuff to exclude it? http://irclog.perlgeek.de/perl6-dev/2016-06-16#i_12679648
17:19 [Tux] second run 9.410
17:29 BrokenRobot joined #perl6-dev
17:35 nine BrokenRobot: I think it's ok to include it. I was aiming at after the release just to be safe. It passes all tests I could think of, should in theory be harmless and noone has complained since it went in.
18:25 jnthn [Tux]: So, another .3s off? Not bad :)
18:54 RabidGravy I actually assumed that would be a high (low?) water mark and the slack would slowly get taken up by de-optimisations in other areas. I'm glad I was wrong
19:54 Hotkeys m: say "a̩".uninames
19:54 camelia rakudo-moar 5ca43c: OUTPUT«(LATIN SMALL LETTER A COMBINING VERTICAL LINE BELOW)␤»
19:54 Hotkeys oops wrong place
20:13 BrokenRobot So it's 33 in Orlando, but it'll be 37-39 here in Canuckistan this weekend :) Go ahead, make a Canadians live in igloos joke :p
20:50 mst I thought you lived in buildings made entirely out of apologies
20:51 Zoffix :)
20:52 hoelzro 37?!
21:15 geekosaur we had a big cold front go through yesterday. naturally it's like 15 degrees (F) warmer today... wtf
21:16 geekosaur (no, it didn't go back through overnight as a warm front. we actually are supposed to see temperatures drop as the center of the high pressure area arrives, but the outer parts are warm. "yay")
21:17 jnthn We've escaped anything especially hot here so far this summer.
21:17 jnthn Certainly a cooler summer than last year...so far.
21:17 jnthn A load of rain though. The pub downstairs hasn't even bothered to set up its outside terrace.
21:29 Zoffix m: say 2 mod 1.5
21:29 camelia rakudo-moar 5ca43c: OUTPUT«Cannot resolve caller infix:<div>(Int, Rat); none of these signatures match:␤    (Int:D \a, Int:D \b)␤    (int $a, int $b --> int)␤  in block <unit> at <tmp> line 1␤␤»
21:29 Zoffix LTA IMO
21:30 jnthn How so?
21:30 jnthn Oh...it mentions div in the error
21:30 jnthn wtf
21:30 Zoffix Yeah
21:31 jnthn Yeah, that can pay a visit to the RT queue imo :)
21:37 Zoffix Is there a specific timezone for "releasing on 3rd Saturday"? 'cause it's 18th somewhere already :)
21:38 Zoffix Wondering if I should start the process now or wait until tomorrow
21:38 Zoffix (tomorrow = after I wake up in EDT :P)
21:41 AlexDaniel joined #perl6-dev
21:43 jnthn Zoffix: Whatever's most comfortable for you.
21:43 jnthn It's not strict at all.
21:44 Zoffix cool
22:17 Zoffix Oh, I'd need to wait for MoarVM release anyway, right?
22:17 Zoffix Or should I do that too
22:22 jnthn Ohhhh
22:22 jnthn No, I'm meant to do that :)
22:22 jnthn I can do it tomorrow :)
22:23 jnthn And I'm in Europe, so... :)
22:23 Zoffix K :D
22:23 jnthn What's HEAD now will be The Releaes modulo ChangeLog updates.
22:23 jnthn *The Release
22:24 jnthn If I can't spell release, I probably shouldn't do one :D
22:24 Zoffix hehe :D
22:24 jnthn Pardubický porter FTW, I guess :)
22:39 Zoffix The LTA mod error stuff seems to actually be due to our not implementing mod/div according to the spec. They're supposed to work on all numerics: <Zoffix> m: say 2 mod 1.5
22:39 Zoffix <camelia> rakudo-moar 5ca43c: OUTPUT«Cannot resolve caller infix:<div>(Int, Rat); none of these signatures match:␤    (Int:D \a, Int:D \b)␤    (int $a, int $b --> int)␤  in block <unit> at <tmp> line 1␤␤»
22:39 Zoffix Oops
22:40 Zoffix The LTA mod error stuff seems to actually be due to our not implementing mod/div according to the spec. They're supposed to work on all numerics:  https://rt.perl.org/Ticket/Display.html?id=128428
22:40 hankache joined #perl6-dev
22:51 sortiz joined #perl6-dev
23:22 Zoffix__ joined #perl6-dev
23:39 Zoffix joined #perl6-dev
23:46 TimToady Zoffix: div and mod are spec'd to only work on numerics of identical type
23:46 TimToady 2 and 1.5 are of different types
23:46 TimToady S03 sez "Not coercive, so fails on differing types."
23:48 Zoffix Right, bad example in the ticket, but only Int Int stuff is implemented, not numerics
23:48 Zoffix m: &infix:<div>.candidates.say; &infix:<mod>.candidates.say
23:48 camelia rakudo-moar 5ca43c: OUTPUT«(sub infix:<div> (Int:D \a, Int:D \b) { #`(Sub|58335552) ... } sub infix:<div> (int $a, int $b --> int) { #`(Sub+{Callable[int]}|58335400) ... })␤(sub infix:<mod> (Real $a, Real $b) { #`(Sub|61141920) ... })␤»
23:48 Zoffix And mod uses div
23:49 Zoffix m: say 2.5 mod 2.5
23:49 camelia rakudo-moar 5ca43c: OUTPUT«Cannot resolve caller infix:<div>(Rat, Rat); none of these signatures match:␤    (Int:D \a, Int:D \b)␤    (int $a, int $b --> int)␤  in block <unit> at <tmp> line 1␤␤»

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