Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-01-20

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

All times shown according to UTC.

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

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