Zoffix | t/spec/S32-io/IO-Socket-Async.t wobbly :( gist.github.com/zoffixznet/eac1da1...30211d14cc | 01:33 | |
(worked fine when I ran it by itself) | |||
MasterDuke | i seem to remember getting that a bunch when i 'make spectest' | 01:39 | |
Zoffix | m: use Test; cmp-ok 2, '<', 5 | ||
camelia | rakudo-moar 2126ed: OUTPUT«not ok 1 - # Failed test at <tmp> line 1# Could not use '<' as a comparator» | ||
Zoffix | m: use Test; cmp-ok '', '~~>;warn run "ls"; <z', '', ''; | 01:40 | |
camelia | rakudo-moar 2126ed: OUTPUT«Perlitodalek-queueevalbotevalbot.logfooliblogmboxnqp-jsp1p2p6eval-tokenperl5rakudo-j-1rakudo-j-2rakudo-j-instrakudo-j-inst-1rakudo-j-inst-2rakudo-m-1rakudo-m-2rakudo-m-instrakudo-m-inst-1rak…» | ||
Zoffix | PR to fix both of the above: github.com/rakudo/rakudo/pull/786 | ||
timotimo | you are *mean* :) | ||
why am i not in bed yet | |||
Zoffix | m: say 100 ≅ -100 | 02:16 | |
camelia | rakudo-moar 2126ed: OUTPUT«True» | ||
Zoffix | RT: rt.perl.org/Ticket/Display.html?id=128421 | ||
Fix: github.com/rakudo/rakudo/pull/787 | |||
Tests: github.com/perl6/roast/pull/128 | |||
dalek | kudo/nom: 102b0ea | (Zoffix Znet)++ | / (2 files): Fix cmp-ok * Make it possible to use '<' and '>' (strings) as comparators. * Avoid EVAL to prevent exploitable code ( rt.perl.org/Ticket/Display.html?id=128283 ) Note that we explicitly don't support user-defined operators passed as comparators *as strings* and we can't use CALLER:: (see irclog.perlgeek.de/perl6-dev/2016-0...12678792). Those are to be used with &[op] notation. |
02:47 | |
kudo/nom: 21f0be1 | lizmat++ | / (2 files): Merge pull request #786 from zoffixznet/fix-cmp-ok Fix cmp-ok ee915c3 | (Zoffix Znet)++ | src/core/Numeric.pm: Fix RT#128421 Fix ≅ incorrectly handling negative numbers, e.g. producing True for 100 ≅ -100 |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128421 | ||
dalek | kudo/nom: 70c19dd | lizmat++ | src/core/Numeric.pm: Merge pull request #787 from zoffixznet/fix-approx-op Fix RT#128421 |
||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128421 | ||
Zoffix | Is there a point in throws-like taking a Str at all? | 03:37 | |
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 | ||
like "undefined symbols" | |||
Zoffix | Like what symbols? | 03:39 | |
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» | ||
Zoffix | m: use Test; eval-dies-ok q[my $joffrey = "nasty"; die "bye bye Ned" if $joffrey ~~ /dfsadsadsadasnasty/], "Ned Stark dies"; | ||
camelia | rakudo-moar 70c19d: OUTPUT«not ok 1 - Ned Stark dies# Failed test 'Ned Stark dies'# at <tmp> line 1» | ||
Zoffix | why is this working :/ | ||
Oh | 03:41 | ||
I guess I should say, yeah, that's working, but is entirely useless. | |||
timotimo, what sort of symbols? None of the symbols from where the test is being run would be defined. | 03:42 | ||
timotimo | um | 03:43 | |
like '$joffrey = "nasty"' | |||
you want that to throw an "undefined symbol" error | |||
don't forget we have a language test suite as the biggest user of the test library | |||
Zoffix | Thanks | 03:45 | |
Well, sorta. | |||
The stuff in roast is testing core features that are available in the context of the code EVALed. | 03:46 | ||
timotimo | right | 03:47 | |
Zoffix | [21:41:14] <timotimo> why am i not in bed yet | 03:49 | |
[23:50:15] <Zoffix> [21:41:14] <timotimo> why am i not in bed yet | 03:50 | ||
:) | |||
timotimo | yeah, can't sleep :( | ||
Zoffix | ditto | ||
10 to midnight here | |||
timotimo | right now i'm looking for a mini usb cable | ||
it's ten to six here | |||
jdv79 | its ten of tomorrow round these parts | 03:51 | |
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: rt.perl.org/rt3//Public/Bug/Displa...?id=128419 | ||
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) ... }» | ||
Zoffix | b2gills, you should read RT tickets more often :) there was a lot of effort to figure that out: rt.perl.org/Ticket/Display.html?id=128283 | 04:06 | |
b2gills++ | 04:07 | ||
I'll send a fix to cmp-ok tomorrow or in a few days | 04:10 | ||
There's a shitzillion roast failures with RT#128419 fix: gist.github.com/zoffixznet/0ca7276...39dff3b05b | 04:16 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128419 | ||
Zoffix | Before I expend time fixing them, it's fine to just convert all of them to throws-like { EVAL '...' }, right? | 04:17 | |
[Tux] | This is Rakudo version 2016.05-156-g70c19dd built on MoarVM version 2016.05-18-g1339332 | 06:42 | |
test 17.352 | |||
test-t 9.743 | |||
csv-parser 21.946 | |||
patrickz | www.ugexe.com/when-open-source-doesnt-work/ | 07:18 | |
I guess someone should give ugexe a commit bit to rakudo. | 07:19 | ||
stmuk | I think he just has to sign a contribution agreement? | 07:31 | |
or chase people over PRs :) | 07:32 | ||
masak | I... don't understand the message of that post. | 07:42 | |
is it a comment on something that happened recently that I missed? | 07:43 | ||
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 vanheusden.com/misc/blog/2016-05-1...mpared.php | 08:01 | |
nine | masak: I can pretty much guess what it's about: PR 729 | 08:04 | |
flok420 | the perl script generated is vps001.vanheusden.com/~folkert/test.pl (perl 6 version, the 5 version can be generated with the scripts on the site mentioned) | ||
nine | masak: which is all the more surprising since it has been waiting for ugexe to fix a backwards compatibility issue. | ||
masak: I'd be very happe to see it merged once it doesn't break installed modules for everyone. | 08:05 | ||
psch | flok420: the 'Perl 6' link seem to link to python code? | 08:11 | |
...actually, everything links to python code? | 08:12 | ||
oh, now i get it | 08:13 | ||
psch is still waiting on the coffee | |||
nine | If only people would at least try to talk first before storming off and leaving a rant on a blog :/ | ||
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:17 | |
or, well, after installing the distribution if you want to go that far vOv | 08:18 | ||
flok420 | psch yeah those python scripts generate e.g. perl or cobol or javascript etc code from a brainfuck program. | 08:37 | |
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 | ||
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:39 | ||
not to mention probably terribly annoying to write :P | 08:40 | ||
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:42 | ||
so, the general slowness is probably "iteration could be faster" and "invocation could have less overhead", which both are well known | 08:43 | ||
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 | ||
as in, the json we generate usually comes with some HTML around, which probably won't work out with 4.9k loc :) | |||
jnthn | It's more about how deep the call tree goes and how varied it is than the number of lines of code | 08:46 | |
psch | well, the file in question declares 43 subs, and calls at least a few nested vOv | 08:47 | |
jnthn | Worth a try... :) | ||
fwiw, I've been sent a generated output from that to look at also | 08:48 | ||
psch | ah, alright then | ||
i'll do some more waking up and then back at the nested CU thingy... | |||
jnthn | :) | 08:50 | |
jnthn will continue trying to fix return stuff on JVM this afternoon :) | |||
psch | although i really can't shake the feeling that we're just somehow messing up in the cuid_to_qbid mapping... | 08:55 | |
masak | nine: huh. sounds like a misunderstanding, or unintended deadlocking, or something. | 09:41 | |
nine | yep | 09:51 | |
which could have been cleared up by simply asking | |||
Zoffix | Turns out "* ugexe (ugexe@p6.nu) has left ("pointless")" was weird... | 10:24 | |
So there are now two raging blog post about nine and precompilation over a few bugs? 😂 | 10:37 | ||
No one's rage-posting about .hyper being broken! Priorities! 😂 | |||
Are we doing R* release for 2016.06.06? Seems there were many speed improvements since 04 | 10:47 | ||
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:49 | |
Woodi | .o(*Patience* is a virtue) | 10:53 | |
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 | |
Looks like just a very strange way to vent frustration. | |||
Hell, I have 56 still-open PRs some of them going back years: github.com/search?utf8=✓&q=is%...zoffixznet | 10:56 | ||
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:57 | |
Zoffix | Waaaait a minute. A ton of them are to masak's repos! | 10:58 | |
nine | You should clearly rage quit working on masak! | 11:03 | |
.oO(that somehow sounds very wrong) |
|||
psch | hrm | 11:04 | |
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 | ||
'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()()' | |||
nine | psch: oh I can sympathize so well | ||
psch | which seems somewhat related, even though it's *very* hunchy | 11:06 | |
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 | ||
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:10 | |
nine | those were my thoughts exactly :) | 11:13 | |
Of course, it's still possible that it's not the right solution after all :/ | |||
psch | yeah... | 11:16 | |
i think i'll have to figure out why we don't generate a strictly ascending list of qb_* methods | |||
because, well, that's kind of a hint, right | |||
if it is because we somehow skip it but shouldn't, it means that the cuid => qbid mapping gets wonky | 11:17 | ||
...although i'm not sure yet how to figure out if we wrongfully don't gen it /o\ | |||
nine | What makes you think that they should be strictly ascending? | ||
psch | well, they're not sorted, but all number from 0 to num-methods - 1 exist | 11:18 | |
sooo i'm probably again wrongly saying "strictly ascending" :) | |||
and they don't all exist we break during initializeCompunit in CompUnit.java | 11:19 | ||
because each CU gets its lexical values set during init | 11:20 | ||
*and *if* they | |||
[Coke] | rakudo.org certs are tripping up chrome. | 12:24 | |
"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. | |||
" | |||
oh, and actually the front page is dead. | |||
oh. https doesn't work, http does. (I have https everywhere enabled) | 12:25 | ||
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 "google.com" from location bar, delete the "google" part and try to visit the site via HTTPS :P | ||
AlexDaniel | but he was right! What's your reasoning for not having https set up? ;) | 12:28 | |
BrokenRobot | AlexDaniel: it's very simple: money | ||
nine | What? pmicheaud trying to usurp Perl 6! | ||
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! | ||
xkcd.com/1172/ | |||
AlexDaniel: the cost of paying me to learn how to use it and use it. But the event happened before letsencrypt existed anyway | |||
AlexDaniel | okay | 12:30 | |
BrokenRobot | Though we probably should have it on rakudo.org :D | 12:32 | |
[Coke] | I opened an RT, and forwarded the rt to [email@hidden.address] | 12:33 | |
(which i assume is pm) | |||
MasterDuke: are you still having trouble commenting on RT tickets? | 12:34 | ||
(github.com/rakudo/rakudo/pull/775) | |||
MasterDuke__ | [Coke]: yeah, my account seems to be messed up | 13:01 | |
per AlexDaniel's advice i emailed the admin account (about 3 weeks ago), but haven't heard back | 13:02 | ||
and when i email perl-bugs-followup it takes a while for my emails to show up | 13:04 | ||
see #128280 for example | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128280 | ||
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 | ||
(also that's kind of a #perl6 question i think) | |||
flok420 | ah ok. thought it was a bug. | 13:08 | |
psch | m: say 3 +& 2 | ||
camelia | rakudo-moar 70c19d: OUTPUT«2» | ||
psch | m: say 3 & 2 | ||
camelia | rakudo-moar 70c19d: OUTPUT«all(3, 2)» | ||
BrokenRobot | flok420: there *is* a bug though. $test will have -1 | ||
AlexDaniel | m: uint8 $test = 0; $test--; say $test | ||
camelia | rakudo-moar 70c19d: OUTPUT«===SORRY!=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> uint8⏏ $test = 0; $test--; say $test expecting any of: infix infix stopper statement end statement modifier…» | ||
AlexDaniel | m: my uint8 $test = 0; $test--; say $test | 13:09 | |
camelia | rakudo-moar 70c19d: OUTPUT«-1» | ||
AlexDaniel | holy… | ||
psch | m: my uint8 $t = 0; $test--; $test +&= 255; say $test | ||
camelia | rakudo-moar 70c19d: OUTPUT«===SORRY!=== Error while compiling <tmp>Variable '$test' is not declaredat <tmp>:1------> my uint8 $t = 0; ⏏$test--; $test +&= 255; say $test» | ||
AlexDaniel | bisect: my uint8 $test = 0; $test--; say $test | ||
bisectable | AlexDaniel: on both starting points the exit code is 0 and the output is identical as well | ||
psch | m: my uint8 $test = 0; $test--; $test +&= 255; say $test | ||
camelia | rakudo-moar 70c19d: OUTPUT«-1» | ||
BrokenRobot | That's been the case since pre-Christmas. | ||
AlexDaniel | m: my UInt $test = 0; $test--; say $test | ||
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» | ||
BrokenRobot digs for the RT detaling a lot of discrepancies | |||
AlexDaniel | /o\ | ||
psch | AlexDaniel: UInt unfortunately doesn't get native fastitude anymore :/ | ||
well, "anymore" as in "in contrast to uint" | 13:10 | ||
flok420 | ok thanks guys! | 13:11 | |
BrokenRobot | Here, I didn't get through all of them tho: rt.perl.org/Ticket/Display.html?id=127409 | ||
AlexDaniel | flok420: by the way, it is mentioned here: doc.perl6.org/language/5to6-nutshell | ||
flok420 | thanks, I'll read it | 13:13 | |
AlexDaniel | /o\ | 13:14 | |
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» | ||
jnthn | m: my Int $test = 1; $test div= 2 | 13:20 | |
camelia | ( no output ) | ||
dalek | p/return-without-lexotic: 390a1c5 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ExceptionHandling.java: Skip compiler stubs as well as thunks. |
13:28 | |
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("<", "\» | ||
psch | m: sub infix:['<»'] { } | 13:31 | |
camelia | ( no output ) | ||
BrokenRobot | Fixed by escpaing the < in <, but I guess we can't make a better error? | ||
psch | fwiw, i think $*W.canonicalize_pair needs some deeper thought in general | ||
and, well, ::() needs to go through it too to make things easier | 13:32 | ||
probably only when we do find a pair in ::(), though | |||
jnthn | Yay, seems I managed to get rakudo-j on its feet again after the return changes :) | 13:35 | |
psch | jnthn++ | ||
it's probably too much to hope that magically fixed the precomp/install bug too, isn't it? :) | |||
jnthn | 'fraid so | 13:38 | |
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 | ||
jnthn | BrokenRobot: Are you the person doing The Release this weekend? | 13:41 | |
BrokenRobot | jnthn: yup. | ||
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 | |
(The for ^158 {...} one) | |||
I don't think I've time/energy to do a real fix for it this side of the release :) | 13:43 | ||
BrokenRobot | bisect: sub foo { return 42 }; for ^158 { foo } | 13:44 | |
bisectable | BrokenRobot: (2016-06-01) github.com/rakudo/rakudo/commit/7250543 | ||
BrokenRobot | Wouldn't just avoiding the above commit avoid the bug too? | 13:45 | |
timotimo | but that's the whole point of the branch :) | 13:46 | |
psch | fwiw, i'd be ok with hiding | ||
BrokenRobot | timotimo: to fix (or "hide") the bug, right? | 13:47 | |
dalek | kudo/return-without-lexotic: f7577ee | jnthn++ | / (5 files): Remove now-unused p6routinereturn op. |
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 | ||
BrokenRobot | Oh, then sure, let's merge :D | ||
AlexDaniel | :D | ||
jnthn | Yeah, the merge and (hopeful, testing now) workaround would let us keep most of the performance win without having the bug | 13:50 | |
BrokenRobot | Went to teach cmp-ok to take custom ops as Str... found a bug in custom ops exported from a module | 13:54 | |
(comprehensive tests)++ | |||
[Coke] | email through RT can end up in a manual spam filter. | 13:55 | |
if it's been weeks, a followup to the bugadmins saying "any progress on this" is reasonable. | 13:56 | ||
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: gist.github.com/zoffixznet/4cf75e2...f0f5302f0c | 13:57 | |
Fails with &CALLERS::("infix:<\<=»>"); too | 13:59 | ||
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) ... }» | ||
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:05 | |
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) ... }» | ||
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 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
psch | m: package Foo {our sub infix:<op> { $^a < $^b }}; import Foo; say Foo::.keys | ||
camelia | rakudo-moar 70c19d: OUTPUT«(&infix:<op>)» | ||
b2gills | m: package Foo {sub infix:<op> is export { $^a < $^b }}; import Foo; say { &CALLERS::("infix:<op>") }() | ||
camelia | rakudo-moar 70c19d: OUTPUT«sub infix:<op> ($a, $b) { #`(Sub+{Precedence}|56250272) ... }» | ||
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 | ||
camelia | rakudo-moar 70c19d: OUTPUT«(&infix:<\<=»>)» | ||
BrokenRobot | Ah. Thanks | ||
psch | m: package Foo {our sub infix:<\<=»> { $^a < $^b }}; import Foo; say Foo::.keys; say Foo::<&infix:<\<=»>> | ||
camelia | rakudo-moar 70c19d: OUTPUT«(&infix:<\<=»>)(Any)» | ||
psch | ah, but the import doesn't work for the &[] form..? | 14:09 | |
i think that's another notch in "we need to make canonicalize_pair do something during runtime lookups" | |||
BrokenRobot | psch: it works, but not with a weird op name | 14:10 | |
m: package Foo {sub infix:["op"] is export { $^a < $^b }}; import Foo; say &[op] | |||
camelia | rakudo-moar 70c19d: OUTPUT«sub infix:<op> ($a, $b) { #`(Sub+{Precedence}|67198896) ... }» | ||
BrokenRobot | m: package Foo {sub infix:["<=»"] is export { $^a < $^b }}; import Foo; say &[<=»] | ||
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 &[<=⏏»]» | ||
jnthn | BrokenRobot: Confirm that my workaround fixes the loop/return thing | 14:13 | |
BrokenRobot | \o/ | ||
jnthn | So, we can not have that bug for release and keep the other return improvements :) | ||
BrokenRobot | jnthn++ | 14:14 | |
m: m: package Foo {sub infix:«<=\»» is export { $^a < $^b }}; import Foo; say { &CALLERS::("infix:«<=\»»") }() | |||
camelia | rakudo-moar 70c19d: OUTPUT«No such symbol '&::CALLERS::infix:«<=»»' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
BrokenRobot | ^ seems the issue is that op. Doesn't work with CALLERS either | ||
b2gills: any ideas? | 14:15 | ||
b2gills | m: say sub infix:«<=\»» is export { $^a < $^b } | 14:16 | |
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:<\\<=»>") }() | ||
camelia | rakudo-moar 70c19d: OUTPUT«sub infix:<\<=»> ($a, $b) { #`(Sub+{Precedence}|46764128) ... }» | ||
BrokenRobot | Awesome, b2gills++ | ||
psch | BrokenRobot: yeah, i figured that a not-easily-canonicalized pair is what makes stuff weird there | 14:20 | |
BrokenRobot | does rakudo's make test skip 02-rakudo on purpose? | 14:33 | |
dalek | Heuristic branch merge: pushed 19 commits to nqp by jnthn | ||
BrokenRobot | t/02-rakudo tests that is | ||
dalek | kudo/nom: 7ee6578 | jnthn++ | src/ (5 files): Switch Rakudo away from using lexotic for return. |
14:39 | |
rakudo/nom: fcd0093 | jnthn++ | src/core/Exception.pm: | |||
rakudo/nom: Update Exception.fail after return changes. | |||
jnthn | Here goes dalek... | ||
:P | |||
Only 11 commits. Can't possibly be a merge! | |||
lizmat builds and spectest and keeps fingers crossed | 14:45 | ||
dalek | ast: a9597e6 | jnthn++ | integration/weird-errors.t: Untodo inline/return test. MoarVM has a workaround for it, and untodoing this will keep us honest in doing a real fix before removing the workaround there. :-) |
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 ) | ||
lizmat | jnthn: I'm seeing some Inline::Perl5 breakage :-( | 14:48 | |
b2gills | ... and back down to 2m9s | 14:49 | |
jnthn | Funny, I had my fastest Rakudo build on my Windows box just now... | ||
96.25s for Rakudo itself | 14:50 | ||
b2gills | I use 「time rakudobrew build moar」 so it includes git pull | ||
jnthn | ah, fair enough | 14:51 | |
lizmat: Any details for me? | |||
lizmat | in a mo, when the spectest is finished :-) | ||
jnthn | k | 14:52 | |
b2gills | .oO( I assume that means mo-ment not mo-nth ) |
||
jnthn | If anything, that merge might make them a tad faster :) | 14:53 | |
lizmat | gist.github.com/lizmat/3f447654c91...d9b3bcc9b9 | ||
jnthn: ^^^ | |||
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] ?? | |||
lizmat nukes install to make sure Inline::Perl5 issues aren't transitionary | 14:55 | ||
jnthn | Hmmm | 14:56 | |
mst | I know it wasn't, but I really wanted that to be a Banks reference | 15:05 | |
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'?» | ||
BrokenRobot | m: "<><>".subst(/<?before <[<>]>>/, '\\', :g).say; | ||
camelia | rakudo-moar 519e76: OUTPUT«\<\>\<\>» | ||
BrokenRobot | (never mind; found my bug while trying to ask wtf I had a difference :P) | 15:07 | |
jnthn | lizmat: Well, I can reproduce it. I've not much idea what it means or what can be done about it. | 15:10 | |
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 :) | ||
ohhh...I see it | 15:16 | ||
It's doing a CONTROL and assuming that every control exception is a warning | |||
And return exceptions are now control exceptions too | |||
geekosaur | again? :p | 15:17 | |
jnthn | lol! | ||
Maybe I should implement them in terms of hardware traps? :P | |||
BrokenRobot | :) | 15:18 | |
geekosaur | thatd be a step backwards (to, oh, the 1940s...) | ||
actually don't even need to go that far back, considering the history of algol-60 | 15:19 | ||
jnthn | OK, got a clean Inline::Perl5. | 15:20 | |
And, good news, the patch is fully backward-compatible | |||
BrokenRobot | \o/ | ||
jnthn | aww, no commit bit :) | 15:21 | |
lizmat | jnthn: I could merge a PR | ||
jnthn | PR submat | 15:23 | |
nine++ # Inline::Perl5 was easy to patch | 15:24 | ||
lizmat | merged | 15:25 | |
Inline::Perl5 now installed ok | 15:26 | ||
jnthn | phew :) | ||
Any improvement for you in spectest time? :) | |||
nine | Thanks jnthn++, lizmat++! | 15:27 | |
That CONTROL handler is actually for Inline::Perl6 | |||
jnthn | nine: np, figured I'd see if I could quickly figure it out rather than you having to :) | ||
lizmat | jnthn: will know in a min | ||
jnthn | k | 15:28 | |
nine | So everyone's looking forward to test-t now? | ||
jnthn | Will be interesting to see how much the next/return changes help | 15:29 | |
[Tux] seemed to think the next ones more than the return ones | 15:30 | ||
lizmat | Files=1109, Tests=52351, 272 wallclock secs (15.50 usr 4.18 sys + 1653.50 cusr 133.22 csys = 1806.40 CPU) | 15:32 | |
this seem much faster, but then again, roast is not your typical Perl 6 code | 15:33 | ||
afk& | |||
jnthn | Well, it's probably a speedup for the compiler itself too | ||
BrokenRobot | m: say 272/60 | 15:34 | |
camelia | rakudo-moar 519e76: OUTPUT«4.533333» | ||
jnthn | Of course I don't know what it was before so... ;) | ||
lizmat | jnthn: yes, allomorphs e.g. | ||
BrokenRobot | I've been waiting for mine to complete for 14 minutes already :) still on S12 | ||
2-core 32-bit box :( | |||
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 | |
I've seen faster, I've also seen much slower | |||
jnthn | Well, you're in Florida, so I assume it's hot :P | ||
lizmat | yup, 33 outside | ||
jnthn | eww | ||
Prague is about 20 today. Perfect. :) | 15:36 | ||
lizmat | jnthn: maybe some entries about this in docs/ChangeLog are in order :-) | ||
really afk& | |||
dalek | kudo/nom: 5ca43c2 | jnthn++ | docs/ChangeLog: Note return/next improvements in ChangeLog. |
15:40 | |
jnthn | lizmat++ # reminding me to do that :) | ||
OK, enough for now :) Time to rest a bit, then make some cheese curry :) | 15:41 | ||
mst likes microwaving curries then melting 250g of cheddar into them | 15:45 | ||
[Coke] | I thought the US disabled all C temperature measurements on native soil. | 15:49 | |
(I actually have my car set to report in C so I have to do the conversions on the regular) | 15:50 | ||
it was 30c in upstate new york last night. | 15:51 | ||
perlpilot | looks like the lows/highs will be around 22/32 C in Orlando next week. | 15:52 | |
jdv79 | [Coke]: where? the bank time/temp signs around here alternate C and F - at least most i think. | 15:54 | |
BrokenRobot | PR to support custom ops via Str params in cmp-ok: github.com/rakudo/rakudo/pull/788 | 15:55 | |
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... | |||
psch | BrokenRobot: note that i don't mean to say you have to do that... :) | ||
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 | |
And I'd do that, but I don't know how :P | |||
psch | BrokenRobot: well, Perl6::World.canonicalize_pair is one spot that needs a looks | 15:59 | |
because i think we need a better way to store the op symbols | |||
as in, only &[<] and &[>] get stored in the symbol table with french quotes | |||
BrokenRobot | Why do they need French quotes at all? | 16:01 | |
psch | because &infix:<>> and &infix:<<> can't parse | 16:02 | |
the first is TTIAR, the second is missing delimiter | |||
..no, the first parses, but doesn't DWYM | |||
BrokenRobot | And @infix:<<=> works fine? | 16:03 | |
psch | m: say &infix:<<=> | ||
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» | ||
psch | s/only/at least/ :) | ||
BrokenRobot | Right, it needs some sorta escape, so why not have the same sorta escape for < and > too? | ||
And not bother with French quotes | |||
psch | well, as you found out, look-up with escapes also doesn't work right currently | 16:04 | |
at least over a module border | |||
BrokenRobot | This is actually the reason for one of the &CALLERS in my PR, the escapes don't work with < and > | ||
They work through &CALLERS but not &[] | |||
They == escapes | 16:05 | ||
BrokenRobot greps for canonicalize_pair | 16:07 | ||
That looks scary enough for me to not need to have an opinion on how it's implemented :P | |||
psch | fwiw, i think storing in the &infix:[' '] form would be best | 16:08 | |
but then we also need a way to teach ::() to canonicalize to that | |||
...i'm not sure if that should be generalized to other foofix | |||
and, well, in the end its still just shifting to ' as broken in infixes :| | 16:09 | ||
[Coke] | jdv79: in capdist NY, all F | 16:33 | |
dalek | p: a66ceb4 | (Steve Mynott)++ | docs/bootstrapping.pod: attempt to update stage0 bootstrap directions |
16:52 | |
p: 720cf19 | (Steve Mynott)++ | docs/bootstrapping.pod: jnthn++ feedback and minor tweaks |
|||
p: d1a950f | jnthn++ | docs/bootstrapping.pod: Merge pull request #291 from stmuk/master attempt to update stage0 bootstrap directions |
|||
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:54 | |
Like, I wanna throw when that arg is reached | 16:55 | ||
stmuk | I suppose the js backend doesn't bootstrap itself? | ||
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» | ||
[Tux] | This is Rakudo version 2016.05-168-g5ca43c2 built on MoarVM version 2016.05-37-ga126e0f | 17:17 | |
test 15.801 | |||
test-t 9.400 | |||
csv-parser 22.201 | |||
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? irclog.perlgeek.de/perl6-dev/2016-0...i_12679648 | 17:19 | |
[Tux] | second run 9.410 | ||
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. | 17:35 | |
jnthn | [Tux]: So, another .3s off? Not bad :) | 18:25 | |
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 | 18:54 | |
Hotkeys | m: say "a̩".uninames | 19:54 | |
camelia | rakudo-moar 5ca43c: OUTPUT«(LATIN SMALL LETTER A COMBINING VERTICAL LINE BELOW)» | ||
Hotkeys | oops wrong place | ||
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:13 | |
mst | I thought you lived in buildings made entirely out of apologies | 20:50 | |
Zoffix | :) | 20:51 | |
hoelzro | 37?! | 20:52 | |
geekosaur | we had a big cold front go through yesterday. naturally it's like 15 degrees (F) warmer today... wtf | 21:15 | |
(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:16 | ||
jnthn | We've escaped anything especially hot here so far this summer. | 21:17 | |
Certainly a cooler summer than last year...so far. | |||
A load of rain though. The pub downstairs hasn't even bothered to set up its outside terrace. | |||
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» | ||
Zoffix | LTA IMO | ||
jnthn | How so? | 21:30 | |
Oh...it mentions div in the error | |||
wtf | |||
Zoffix | Yeah | ||
jnthn | Yeah, that can pay a visit to the RT queue imo :) | 21:31 | |
Zoffix | Is there a specific timezone for "releasing on 3rd Saturday"? 'cause it's 18th somewhere already :) | 21:37 | |
Wondering if I should start the process now or wait until tomorrow | 21:38 | ||
(tomorrow = after I wake up in EDT :P) | |||
jnthn | Zoffix: Whatever's most comfortable for you. | 21:43 | |
It's not strict at all. | |||
Zoffix | cool | 21:44 | |
Oh, I'd need to wait for MoarVM release anyway, right? | 22:17 | ||
Or should I do that too | |||
jnthn | Ohhhh | 22:22 | |
No, I'm meant to do that :) | |||
I can do it tomorrow :) | |||
And I'm in Europe, so... :) | 22:23 | ||
Zoffix | K :D | ||
jnthn | What's HEAD now will be The Releaes modulo ChangeLog updates. | ||
*The Release | |||
If I can't spell release, I probably shouldn't do one :D | 22:24 | ||
Zoffix | hehe :D | ||
jnthn | Pardubický porter FTW, I guess :) | ||
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 | |
<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» | |||
Oops | |||
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: rt.perl.org/Ticket/Display.html?id=128428 | 22:40 | ||
TimToady | Zoffix: div and mod are spec'd to only work on numerics of identical type | 23:46 | |
2 and 1.5 are of different types | |||
S03 sez "Not coercive, so fails on differing types." | |||
Zoffix | Right, bad example in the ticket, but only Int Int stuff is implemented, not numerics | 23:48 | |
m: &infix:<div>.candidates.say; &infix:<mod>.candidates.say | |||
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) ... })» | ||
Zoffix | And mod uses div | ||
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» |