[Tux] | This is Rakudo version 2016.12-395-gdd911efeb built on MoarVM version 2016.12-115-ged2df9ac | 07:24 | |
csv-ip5xs 2.948 | |||
test 12.249 | |||
test-t 4.960 | |||
csv-parser 13.294 | |||
Geth | p: cf29a264ea | TimToady++ | 2 files unbreak builds on jvm, js Turns out the first approach won't work on jvm because of fatename[0] isn't initialized to 0 in the bootstrap. So we'll use NFA attributes, and process fate offsets in a manner that should work without the need to patch each vm. (For now, though, the new mechanism is enabled only for proto, not alt.) |
09:15 | |
timotimo | huggable: release | 09:16 | |
huggable | timotimo, nothing found | ||
timotimo | which one is the release bot again ... | ||
buggable: release | 09:17 | ||
buggable: status | |||
i hope "release" isn't the magic word to cut the release automatically | |||
buggable: help | |||
buggable | timotimo, tags | tag SOMETAG | eco | eco Some search term | speed | ||
timotimo | nope, not the right bot | ||
huggable: help | |||
huggable | timotimo, nothing found | ||
timotimo | i should probably wait until my brain is warmedup | 09:18 | |
TimToady | well, crumbles, that unbreaks nqp, but rakudo is still bust on jvm | 09:30 | |
if I can't figure it out tomorrow, I'll just revert the whole thing for till after release | |||
thunk & | 09:31 | ||
timotimo | NeuralAnomaly: status | ||
NeuralAnomaly | timotimo, [✘] Next release is today. Since last release, there are 92 new still-open tickets (3 unreviewed and 0 blockers) and 18 unreviewed commits. See perl6.fail/release/stats for details | ||
timotimo | i wonder if we should mark all our bots with +v | 09:33 | |
lizmat | Files=1162, Tests=56141, 189 wallclock secs (11.27 usr 4.24 sys + 1145.33 cusr 103.89 csys = 1264.73 CPU) | 09:40 | |
Geth | kudo/nom: 7c81becffb | (Elizabeth Mattijsen)++ | src/core/Nil.pm Make sure Nil.chomp/chop just warn like before Spotted by AlexDaniel++ |
10:04 | |
kudo/nom: 66b2fc2c3c | (Elizabeth Mattijsen)++ | src/core/Buf.pm Fix for RT #130599 FWIW, I think the old behaviour *is* correct. |
10:48 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130599 | ||
Geth | kudo/nom: f97d5c2aaf | (Timo Paulssen)++ | src/core/Supply.pm implement "next" in whenever blocks |
11:01 | |
lizmat | timotimo jnthn : one can only wonder what "redo" would / should do | 11:11 | |
timotimo | i think i can implement redo, too. | ||
jnthn | redo would just call the block again with the same value BUT... | ||
timotimo | like, whenever already taps the supply and runs the code block with it | ||
BUT :D | 11:12 | ||
it will also invoke the BUT phaser | |||
jnthn | ...need to be really careful that we do it immediately | ||
And not queue it | |||
Otherwise we'll have a race where we get other values being handled before the redo of the current one :) | |||
timotimo | right. i expect run-supply-code is something that queues something | ||
jnthn | Right. | ||
lizmat | I was reminded of the grep issues / repeated redo a little while ago :-) | ||
jnthn | So we need to not call that again :) | ||
timotimo | i can handle that, i believe | 11:13 | |
would be a little bit harder to write reliable tests, though :) | |||
jnthn | Yeah. Again, tests will be good :) | ||
timotimo | as in, tests that'll asplode when the race exists | ||
jnthn | You actually can, I believe | ||
timotimo | is there a clever way to turn that into a hare-and-tortoise situation? | ||
not in the sense of the fable where the tortoise outsmarts the hare to win the race | |||
but to have one participant be very fast and one be very slow? | 11:14 | ||
jnthn | Yeah, if you use a semaphore or something and block on it inside of the whenever (don't do this in real code ;)) | ||
Then on the outside you feed another value into the thing being whenever'd over | |||
And then increment the semaphore | |||
timotimo | :D | ||
jnthn | Then have the whenever do the redo after | ||
Then you'll create such a situation :) | 11:15 | ||
timotimo | i'll try to implement that | ||
currently wondering how best to implement the redo-will-re-invoke thing | |||
jnthn | Not sure, off hand | ||
timotimo | i'd like to not have a loop around the initial invocation | 11:16 | |
so i'll put that into the REDO handler instead | |||
i'd like to use a resume, but i think i'll have to rethrow to make that sane | |||
i think i have it sketched out in my brain now | |||
but i'll put it into a PR instead of committing it directly to nom | 11:33 | ||
jnthn | +1 | ||
timotimo | among other things because i used loop { } rather than a nqp::while-like, because i'm not sure how exactly to leave easily except with "last" | 11:35 | |
oh, i haven't actually implemented last properly yet :) | 11:38 | ||
i'm not sure how to actually reach the $tap in question when the LAST handler fires here | 11:41 | ||
it actually looks like i just need to copy the contents of the done callback that's already in the .tap call | 12:00 | ||
Geth | kudo/whenever_last_redo: 0a0508d6a5 | (Timo Paulssen)++ | src/core/Supply.pm allow whenever blocks to use `redo` |
12:02 | |
kudo/whenever_last_redo: e0d98e65be | (Timo Paulssen)++ | src/core/Supply.pm allow `last` to be used inside whenever blocks |
|||
kudo: timo++ created pull request #998: Implement `last` and `redo` for whenever blocks |
12:05 | ||
timotimo | oh wow i syntax errored | 12:12 | |
turns out you need to declare variables before you use them | 12:14 | ||
lizmat | wow, what novelty! :-) | 12:15 | |
Geth | kudo/whenever_last_redo: cb7dcee11a | (Timo Paulssen)++ | src/core/Supply.pm fix syntax error in impl of `last` in whenever. |
12:16 | |
timotimo | i'd be glad if tests could be written while i'm AFK, but i'll do them afterwards if need be | 12:29 | |
brokenchicken | .tell TimToady FWIW, I think rakudo-j was busted even before the fate thing | 12:44 | |
yoleaux2 | brokenchicken: I'll pass your message to TimToady. | ||
brokenchicken | timotimo: the release command can't be run by regular users. | 12:45 | |
timotimo | that's good | ||
so the release is tomorrow, yeah? | |||
brokenchicken | yeah | ||
timotimo | good to know | 12:46 | |
brokenchicken | FWIW, I'd find "next" nore useful in whenever than "redo" | 12:59 | |
I dunno if it makes sense; basically a way to `return` from a whenever block. | |||
I commonly write `return unless blah blah` early on and that saves an indent level, but you can't return from a block and you can't give whenever a sub either | 13:00 | ||
jnthn | next is certainly the more useful of them in a whenever :) | 13:01 | |
timotimo | i don't understand what you mean by "i'd find" ... next is already in there, after all. | ||
it's just redo and last that are behind a PR | |||
brokenchicken | Ah. Cool. | ||
I just went by branch name :) | |||
timotimo | the branchname is "last, redo" :D | ||
brokenchicken | Oh... next is already implemented you mean? :o | 13:02 | |
heh | |||
m: react whenever Supply.interval(1) { next unless .is-prime; .say; done if $++ > 3 } | 13:03 | ||
camelia | rakudo-moar f97d5c: OUTPUT«235711» | ||
brokenchicken | well, I'll be damned | ||
timotimo | that's what i meant by "is already in there", but i should probably have said "in rakudo" rather than "in there" | 13:04 | |
pmurias | TimToady: if the js backend needs to be patch to make some NFA optimalization work I don't mind doing that ;) | 13:27 | |
timotimo | will still take another bit until that optimization can actually give us anything | ||
stmuk_ | "We have a Wall! and we gonna make the implementers pay for it!" | 15:33 | |
Geth | p: f058ef2574 | TimToady++ | 2 files Revert "unbreak builds on jvm, js" This reverts commit cf29a264eaf5b13e7385155712953f271a531e78. Need to make this work cross-platform after release. |
16:18 | |
p: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...8-gd7e286b 742175f9b4 | TimToady++ | src/QRegex/Cursor.nqp This reverts commit 994d2159fc151d38239e214ce2c9874340abe3b9. Try again after release. |
|||
p: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...8-gd7e286b 6369ac7589 | TimToady++ | tools/build/MOAR_REVISION |
|||
nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...8-gd7e286b | |||
brokenchicken | TimToady: for `eqv` op, are NaN eqv NaN and are -0e0 eqv 0e0 or are those meant to be False? | 16:28 | |
perlpilot | I would think NaN eqv NaN is True, but the other False. | 16:30 | |
brokenchicken | errr.. Yeah. NaN eqv NaN => True; -0e0 eqv 0e0 => False | 16:31 | |
basically s/==/===/ here: github.com/rakudo/rakudo/blob/f97d...ric.pm#L34 | |||
TimToady | I would agree; eqv is not math, for which we have ==, but basically is about "would these serialize to the same thing" | ||
yoleaux2 | 12:44Z <brokenchicken> TimToady: FWIW, I think rakudo-j was busted even before the fate thing | ||
brokenchicken | Cool. Will fix it shortly. | 16:32 | |
Geth | ast: bbdbb01587 | (Zoffix Znet)++ | S02-types/num.t Fix incorrect test Tests were added as part of coverage work and are not part of 6.c-errata The current version passes only because `eqv` fails to distinguish signed zeros. |
16:51 | |
kudo/nonblocking-await: a5b2d19a77 | (Jonathan Worthington)++ | 10 files Start sketching out new `await` implementation. This does not yet support non-blocking `await`, but the factoring is designed to enable it to be put in place. For now, only Promise has been updated to support `await` under the new factoring, and only a single result may be `await`ed. |
|||
jdv79 | check this beauty out: gist.github.com/anonymous/eff04b8d...fff22b1c08 | 17:29 | |
brokenchicken | m: /<[ ]>/ | 17:32 | |
camelia | ( no output ) | ||
brokenchicken | m: '' ~~ /<[ ]>/ | ||
camelia | ( no output ) | ||
brokenchicken | m: 'x' ~~ /<[ ]>/ | ||
camelia | ( no output ) | ||
brokenchicken | :( | ||
m: say " " ~~ m:s/<-[ ]>/ | 17:33 | ||
camelia | rakudo-moar f97d5c: OUTPUT«===SORRY!===Iteration past end of iterator» | ||
brokenchicken | m: /<-[ ]>/ | ||
camelia | rakudo-moar f97d5c: OUTPUT«===SORRY!===Iteration past end of iterator» | ||
jdv79 | impressive skills | 17:34 | |
is that a normal "error"? | 17:38 | ||
brokenchicken | Nope :) Just an unfixed bug | 17:40 | |
jdv79 | o | 17:41 | |
brokenchicken | rt.perl.org/Ticket/Display.html?id...et-history | 17:43 | |
Might also be mentioned in some other ticket | |||
jdv79 | thanks | 17:46 | |
Geth | kudo/nom: 3f80e133ce | (Zoffix Znet)++ | src/core/Numeric.pm Make eqv work right on NaN and signed num zeros eqv should return[^1] True when each side is a NaN and False when zeros of different signs are compared. Currently, the logic always uses `==` op, which makes it fail for those cases. Fix by using `===` for Nums and `==` for rest of cases. We can't use ... (5 more lines) |
18:01 | |
ast: f06d534d2f | (Zoffix Znet)++ | 2 files Test infix:<eqv> handles NaNs and signed zeros correctly Bug find: irclog.perlgeek.de/perl6/2017-01-20#i_13959538 Rakudo fix: github.com/rakudo/rakudo/commit/3f80e133ce |
18:02 | ||
bartolin | brokenchicken: last night (on commit dd911efeb9) rakudo-j compiled and after 'make install' spectest was mostly clean. the build is broken on HEAD | 19:27 | |
brokenchicken | ah, ok | 19:28 | |
bartolin | . o O ( at least on my machine ) | 19:30 | |
brokenchicken will likely cut the release tonight | 20:05 | ||
seeins as MoarVM got shipped already | |||
bartolin | rakudo-j is unhappy with 66b2fc2c3c | 20:07 | |
brokenchicken | what's the error? | 20:08 | |
bartolin | some explosion in stage jast, don't have the details atm | 20:09 | |
will gist it in a moment^H^H^H some minutes | |||
gist.github.com/usev6/a3aa19f605e9...ce24622d66 | 20:12 | ||
I don't know why r-j explodes like that. If I add a 'CATCH { default { Nil } }; within the try the build passes: github.com/rakudo/rakudo/blob/3f80...Buf.pm#L15 | 20:58 | ||
bartolin is tired and goes to bed | 20:59 | ||
o/ | |||
brokenchicken | \o | ||
jdv79 | so if i have a perl6 module that requires some perl5 libs will we be able to depend on them? | 21:49 | |
as in mention them in META6 and have zef or whatever reach out to cpanm or whatever to try to fulfill them? | 21:50 | ||
or would that be handled more like p5's Alien type thing or just not at all. | |||
brokenchicken | would be sweet if zef could handle it; considering how much we currently rely on Perl 5 modules and all.... | 21:52 | |
jdv79 | not sure how to pkg it up and doc it is all | 21:54 | |
i guess for now i'll just doc the p5 reqs | |||
Geth | kudo/nom: 8ec54bafe4 | (Zoffix Znet)++ | src/core/Order.pm Fix infix:<cmp> for case of Real + Subclass of Rational The current code uses .WHAT to indicate to nqp::getattr() where to find the $!denominator attribute, which is provided by Rational role. This works for classes that do the role directly, but not for their subclasses, of which RatStr is one. Fix by using public accessor instead. This is 15% slower than using nqp to get that attribute, but works. Fixes RT#130606: rt.perl.org/Ticket/Display.html?id=130606 |
22:00 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130606 | ||
ast: 6bbfcc0eef | (Zoffix Znet)++ | S32-num/rat.t Test Real cmp RatStr does not crash RT#130606: rt.perl.org/Ticket/Display.html?id=130606 |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130606 | ||
brokenchicken | .ask lizmat do you know of any nqp magicks to access attributes provided by mixed in roles? My attempt failed for subclasses: github.com/rakudo/rakudo/commit/8ec54bafe4 | 22:02 | |
yoleaux2 | brokenchicken: I'll pass your message to lizmat. | ||
brokenchicken | $ grep -FR '$!denominator' src/ | wc -l | 22:04 | |
31 | |||
something tells me there are more places with similar bug... | |||
ugexe | jdv79: i've thought about it only a little bit, but I was thinking they could possible be declared with their full identity in `depends`, such as `"depends" : [ "Inline::Perl5", "Mojolicious:from<Perl5>" ]` but I can see that getting out of control easily | 22:19 | |
jdv79 | yeah. not a big deal. | 22:21 | |
ugexe | otherwise you can just add any new field to the META6 that you want, and then use a Build.pm to run `cpanm` on the depends value of that new field | ||
brokenchicken | m: class Foo does Rational[Int,Int] {}; class Bar is Foo {}.new: 42, 42 | 22:24 | |
camelia | rakudo-moar 8ec54b: OUTPUT«P6opaque: no such attribute '$!numerator' in type Bar when trying to bind a value in block <unit> at <tmp> line 1» | ||
perlpilot | Having a "perl5-depends" would be nice. | 22:26 | |
brokenchicken would rather see a more generalized solution | |||
:from<Python> :) | 22:27 | ||
perlpilot | "python-depends" works too ;) | ||
brokenchicken | heh | ||
fair enough | |||
perlpilot | maybe "foreign-dependencies" : { "perl5" : [ ... ], "python": [ ... ] } though | 22:28 | |
Surely someone will write a Perl 6 program that will depend on all of the Inline:: modules at some point :) | 22:29 | ||
But then ... is it Python2 or Python3? | |||
brokenchicken wonders if there's a CPAN version for Brainfuck... | 22:30 | ||
timotimo | we should pretend python2 doesn't exist, i think? | ||
brokenchicken | ppftt... python! They should've renamed it to something else! | ||
perlpilot | heh | ||
pmurias | what Python version does Inline::Python support? | 22:32 | |
it seems to mention Python 2 in the README :/ | |||
* 2.7.12 | |||
perlpilot notes no Inline::Javascript yet | 22:33 | ||
Geth | ast: 1f674085e6 | (Timo Paulssen)++ | S17-supply/syntax.t a simple test for "next" in whenever blocks |
22:54 |