Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
02:48 ilbot3 joined #perl6-dev
02:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
04:37 ggoebel joined #perl6-dev
06:50 RabidGravy joined #perl6-dev
06:54 Woodi joined #perl6-dev
07:19 [TuxCM] This is Rakudo version 2016.10-293-g58a4826 built on MoarVM version 2016.10-172-g1ba1dd2
07:19 [TuxCM] csv-ip5xs        3.029
07:19 [TuxCM] test            14.547
07:19 [TuxCM] test-t           6.594
07:19 [TuxCM] csv-parser      14.778
07:21 go|dfish joined #perl6-dev
08:29 b2gills1 joined #perl6-dev
09:18 lizmat alas, the new hash scheme doesn't make things faster  :-(
09:18 lizmat and good *, #perl6-dev!
09:40 DrForr o/'
09:50 |Tux| Second run
09:50 |Tux| csv-ip5xs        2.974
09:50 |Tux| test            13.990
09:50 |Tux| test-t           6.379
09:50 |Tux| csv-parser      14.728
10:19 brrt (what new hash scheme?)
10:19 brrt oh, the flat strings thingy
10:19 brrt unshared strings
11:08 dalek rakudo/nom: 2d56751 | lizmat++ | src/core/Shaped1Array.pm:
11:08 dalek rakudo/nom: Fix .rotate/.reverse on 1dimmed assigning to self
11:08 dalek rakudo/nom:
11:08 dalek rakudo/nom: Turns out the problem was really in the .STORE candidate for identical
11:08 dalek rakudo/nom: shapes.  If the target list contains containers that also occur in the
11:08 dalek rakudo/nom: source list (e.g. from a .reverse or a .rotate), then just assigning
11:08 dalek rakudo/nom: without creating new containers, will mess up things thoroughly, because
11:08 dalek rakudo/nom: earlier assignments can then influence the values of later assignments.
11:08 dalek rakudo/nom:
11:08 dalek rakudo/nom: So this basically fixes:
11:08 dalek rakudo/nom:
11:08 dalek rakudo/nom:   my @a[5] = ^5; @a = @a.rotate;
11:09 lizmat review: https://github.com/rakudo/rakudo/commit/2d56751
11:11 pmurias joined #perl6-dev
11:56 geekosaur joined #perl6-dev
12:05 travis-ci joined #perl6-dev
12:05 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Fix .rotate/.reverse on 1dimmed assigning to self
12:05 travis-ci https://travis-ci.org/rakudo/rakudo/builds/176666957 https://github.com/rakudo/rakudo/compare/58a482615a7e...2d56751abe24
12:05 travis-ci left #perl6-dev
12:15 AlexDaniel joined #perl6-dev
12:33 AlexDani` joined #perl6-dev
13:41 dalek rakudo/nom: 85c7072 | (Zoffix Znet)++ | src/core/Str.pm:
13:41 dalek rakudo/nom: Teach Str.parse-base to handle signed numbers
13:41 dalek rakudo/nom:
13:41 dalek rakudo/nom: This makes it able to reverse any Real.base() output, such as
13:41 dalek rakudo/nom: (-16).base(16).parse-base(16), making it the only available way
13:41 dalek rakudo/nom: to do so, since :16("...") method does not accept signed numbers.
13:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/85c7072f61
13:41 dalek roast: ca3eb95 | (Zoffix Znet)++ | S32-str/parse-base.t:
13:41 dalek roast: Test Str.parse-base can handle signed numbers
13:41 dalek roast: review: https://github.com/perl6/roast/commit/ca3eb95827
14:05 lizmat joined #perl6-dev
14:19 dalek roast: a932240 | lizmat++ | S09-multidim/methods.t:
14:19 dalek roast: Add tests for fix in 2d56751abe248c019116
14:19 dalek roast: review: https://github.com/perl6/roast/commit/a9322406f0
14:19 lizmat joined #perl6-dev
14:36 viki .ask TimToady was − (fancy minus) meant to work everywhere a regular minus works or just with literals? "−42".Numeric and sub (−4) {} fail for example. Should those be fixed?
14:36 yoleaux2 viki: I'll pass your message to TimToady.
14:48 pmurias joined #perl6-dev
14:51 viki Very interesting ticket: https://rt.perl.org/Ticket/Display.html?id=128897#ticket-history
14:52 viki A negative zero exists only in Nums, but a "-0".Num convertion first results in an Int that is then converted to Num :)
14:52 viki Which makes sense, but is an implementation detail and isn't what the end user asked for.
14:53 viki At the same time, what point is there for a negative zero at this level?
14:53 * viki is considering a WONTFIX for this one.
14:54 viki I guess I can ask him for usecases of negative zeros..
15:23 dalek roast: ec2218c | (Zoffix Znet)++ | S32-str/parse-base.t:
15:23 dalek roast: Make it more clear we're testing fancy Unicode minus
15:23 dalek roast:
15:23 dalek roast: Based on comments on
15:23 dalek roast: https://github.com/perl6/roast/commit/ca3eb95827c0191c028c626228daa91fa9461f0e
15:23 dalek roast: review: https://github.com/perl6/roast/commit/ec2218cdac
15:46 FROGGS joined #perl6-dev
15:47 FROGGS o/
15:57 pmurias joined #perl6-dev
16:01 AlexDaniel m: "-0e0".Num.perl.say
16:01 camelia rakudo-moar 85c707: OUTPUT«0e0␤»
16:04 pmurias joined #perl6-dev
16:05 committable6 joined #perl6-dev
16:16 dalek roast: 839566c | (Zoffix Znet)++ | S05-capture/match-object.t:
16:16 dalek roast: Add tests for smartmatch with regex-in-a-variable
16:16 dalek roast:
16:16 dalek roast: For fix implemented in https://github.com/rakudo/rakudo/commit/5ac593e
16:16 dalek roast: review: https://github.com/perl6/roast/commit/839566cfd6
16:17 viki geekosaur: we do support negative zero.
16:18 viki geekosaur: what are limits of series and how does that translate to casting strings to numerics?
16:19 geekosaur https://en.wikipedia.org/wiki/Series_(mathematics)
16:19 geekosaur ... urgh, banner /o\
16:19 geekosaur and you care about this when reading input relating to the limit of such a series.
16:20 geekosaur (negative vs. positive comes in when the series relates to transcendental numbers; losing the sign is apt to put e.g. arctangent in the wrong quadrant, so the limit is signed even when zero)
16:20 viki OK. Worth implementing a fix then.
16:22 viki val() is kinda wonky anyway. Maybe need some rethinking anyway
16:22 geekosaur actually "numerical methods" might be the better search term; series are the focal point for negative zero but numerical methods are why they matter
16:22 viki m: quietly say val Nil
16:22 camelia rakudo-moar 85c707: OUTPUT«Nil␤»
16:22 viki m: quietly say val "42", :val-or-fail
16:22 camelia rakudo-moar 85c707: OUTPUT«42␤»
16:22 viki m: quietly say val Nil, :val-or-fail
16:22 camelia rakudo-moar 85c707: OUTPUT«Unexpected named argument 'val-or-fail' passed␤  in block <unit> at <tmp> line 1␤␤»
16:23 viki (and val() is what does the conversion in "-0".Num)
16:29 pmurias joined #perl6-dev
17:14 lizmat joined #perl6-dev
17:27 dalek rakudo/nom: 7f32243 | (Zoffix Znet)++ | src/core/Complex.pm:
17:27 dalek rakudo/nom: Fix Complex exponentiation involving zeros
17:27 dalek rakudo/nom:
17:27 dalek rakudo/nom: Use the same rules as other numerics: 0**n == 0, but 0**0 == 1
17:27 dalek rakudo/nom:
17:27 dalek rakudo/nom: Fixes RT#128785: https://rt.perl.org/Ticket/Display.html?id=128785
17:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f322436c9
17:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128785
17:27 dalek roast: 6cf2e01 | (Zoffix Znet)++ | S32-num/complex.t:
17:27 dalek roast: Test Complex exponentiation involving zeros
17:27 dalek roast:
17:27 dalek roast: RT#128785: https://rt.perl.org/Ticket/Display.html?id=128785
17:27 dalek roast: review: https://github.com/perl6/roast/commit/6cf2e012c2
17:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128785
17:54 * viki ponders removing Rat.base(Int:D, Whatever) and is testing if any breakage occurs
17:54 viki I meant Rational.whatever
17:56 viki ohh
17:56 viki I can't
17:56 viki brain mixed stuff up
17:59 viki dat code https://github.com/rakudo/rakudo/blob/85c7072/src/core/Rational.pm#L124-L159
18:02 viki eh, screw it. I'm not decrypting that.
18:02 viki we have Rational.base(Int:D, Whatever) that does something special and that's undocumented....
18:04 viki oh, now I rember how I got here... Rational.base(Int:D, Whatever) is a cause of a bug... so I guess I have to decrypt it :(
18:40 dalek nqp: 26c952f | (Pawel Murias)++ | src/vm/js/ (4 files):
18:40 dalek nqp: [js] Make nqp::radix and nqp::radix_I use slurpy_array from the HLL.
18:40 dalek nqp: review: https://github.com/perl6/nqp/commit/26c952fbc7
18:40 dalek nqp: fe0f17f | (Pawel Murias)++ | src/vm/js/ (2 files):
18:40 dalek nqp: [js] Make nqp::islist work properly on VMArray objects.
18:40 dalek nqp: review: https://github.com/perl6/nqp/commit/fe0f17f319
18:40 dalek nqp: ec8f19d | (Pawel Murias)++ | src/vm/js/ (2 files):
18:40 dalek nqp: [js] Make nqp::split use the slurpy_array from the hll.
18:40 dalek nqp: review: https://github.com/perl6/nqp/commit/ec8f19d437
19:12 jdv79 joined #perl6-dev
19:25 RabidGravy joined #perl6-dev
19:36 dalek rakudo/nom: 29db214 | FROGGS++ | src/core/Label.pm:
19:36 dalek rakudo/nom: fix Label.gist, 34f7f36 broke it
19:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29db214274
19:45 dalek rakudo/nom: 2432c46 | (Zoffix Znet)++ | src/core/Rational.pm:
19:45 dalek rakudo/nom: Improve readability of Rational.base algo
19:45 dalek rakudo/nom:
19:45 dalek rakudo/nom: - get rid of single-letter variables
19:45 dalek rakudo/nom: - simplify some of the logical paths
19:45 dalek rakudo/nom:
19:45 dalek rakudo/nom: Part of the bug hunt for 0.9999999999999999999999.[base(10)|perl] giving "0.A"
19:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2432c46976
20:19 lizmat FROGGS: can a p6box_s() ever be null ??
20:20 psch lizmat: afaik it should die internally whenever it gets something that would mean null
20:20 psch lizmat: note though that that might not hold on nqp-j
20:21 psch lizmat: the degenrate case -- i.e. passing a JVM-level null into p6box_s -- is caught on nqp-j
20:21 psch +e
20:22 psch but yeah, the result should be meaningfully stringy or the op should die
20:22 psch that seems to be the contract, in any case
20:25 lizmat well, it feels to me the p6box_s should be outside of the nqp::ifnull, not inside
20:25 FROGGS lizmat: you are right, my patch is wrong too...
20:25 lizmat otherwise you can forget about the nqp::ifnull anyway, since it can never be null
20:25 * psch doesn't have the context
20:25 psch if you hand VMNull to p6box_s it dies
20:26 FROGGS lizmat: wouldnt it make sense to revert my patch an 34f7f36?
20:26 lizmat no, I think you do have a point
20:27 lizmat -          nqp::ifnull(nqp::p6box_s(nqp::getlexdyn('$?FILES')), '<unknown>'));
20:27 lizmat +          nqp::p6box_s(nqp::ifnull(nqp::getlexdyn('$?FILES')), '<unknown>'));
20:27 lizmat is my suggestion
20:27 psch m: use nqp; say nqp::ifnull(nqp::p6box_s(nqp::null), "foo")
20:27 camelia rakudo-moar 2432c4: OUTPUT«Cannot unbox a type object (VMNull) to a str.␤  in block <unit> at <tmp> line 1␤␤»
20:27 psch lizmat++
20:28 lizmat m: use nqp; say p6box_s(nqp::ifnull(nqp::null, "foo"))
20:28 camelia rakudo-moar 2432c4: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Undeclared routine:␤    p6box_s used at line 1␤␤»
20:28 lizmat m: use nqp; say nqp::p6box_s(nqp::ifnull(nqp::null, "foo"))
20:28 camelia rakudo-moar 2432c4: OUTPUT«foo␤»
20:28 FROGGS it is not actually boxed twice, is it?
20:29 lizmat don't think so
20:30 psch m: use nqp; say nqp::what(nqp::getlexdyn('$?FILES'))
20:30 camelia rakudo-moar 2432c4: OUTPUT«(Str)␤»
20:30 psch m: use nqp; my str $x = "foo"; say nqp::what($x)
20:30 camelia rakudo-moar 2432c4: OUTPUT«(Str)␤»
20:31 lizmat yeah, it gets upgraded automagically
20:31 psch autoboxing... *shakes fist*
20:33 psch m: use nqp; my \x = Label.new; say nqp::getattr(x, Label, '$!file').^methods
20:33 camelia rakudo-moar 2432c4: OUTPUT«Cannot unbox a type object (Any) to a str.␤  in block <unit> at <tmp> line 1␤␤»
20:33 psch *really* roundabout, but that seems to suggest 'str $!file'
20:33 psch not sure we have to manually take of the boxing anyway
20:35 lizmat m: use nqp; my \x = Label.new; say nqp::getattr(nqp::decont(x), Label, '$!file').^methods
20:35 camelia rakudo-moar 2432c4: OUTPUT«Cannot unbox a type object (Any) to a str.␤  in block <unit> at <tmp> line 1␤␤»
20:35 lizmat ah
20:35 lizmat ok
20:35 psch *take care
20:36 FROGGS can we just interpolate a str in a qq-string?
20:36 psch m: my str $x = "fooey"; say "so we $x"
20:36 camelia rakudo-moar 2432c4: OUTPUT«so we fooey␤»
20:36 FROGGS I'm quite sure it caused trouble back then when I implemented Labels
20:36 FROGGS j: my str $x = "fooey"; say "so we $x"
20:36 camelia rakudo-jvm 76b061: OUTPUT«so we fooey␤»
20:36 dalek rakudo/nom: 29f8fd0 | (Zoffix Znet)++ | src/core/Int.pm:
20:36 dalek rakudo/nom: Unify accepted .base() arguments
20:36 dalek rakudo/nom:
20:36 dalek rakudo/nom: Currently second argument to base can be a Whatever, but only if the
20:36 dalek rakudo/nom: invocant is a Rational. This creates a special case for the method, and
20:36 dalek rakudo/nom: the user has to watch out what type of a Real the invocant is, before
20:36 dalek rakudo/nom: using the Whatever precision.
20:36 dalek rakudo/nom:
20:36 dalek rakudo/nom: Unify the method's behaviour by providing degenerate cases of Whatever
20:36 dalek rakudo/nom: precision for the rest of the Reals where it acts as if precision was not specified.
20:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29f8fd00a1
20:36 FROGGS well, we might be lucky
20:36 psch *that* would've terrified me :)
20:36 viki ooopps
20:36 psch i mean, if it had failed on r-j
20:37 dalek rakudo/nom: c1d2599 | (Zoffix Znet)++ | src/core/Real.pm:
20:37 dalek rakudo/nom: Add missing file for .base(...Whatever) commit
20:37 dalek rakudo/nom:
20:37 dalek rakudo/nom: These changes are part of work in commit
20:37 dalek rakudo/nom: https://github.com/rakudo/rakudo/commit/29f8fd00a10da8dd23547f3da11f048c565bb708
20:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c1d2599234
20:38 dalek roast: bf90578 | (Zoffix Znet)++ | S32-num/base.t:
20:38 dalek roast: Test all Reals can handle Whatever as precision in .base()
20:38 dalek roast: review: https://github.com/perl6/roast/commit/bf905782bb
20:39 dalek rakudo/nom: 53d7b72 | lizmat++ | src/core/Label.pm:
20:39 dalek rakudo/nom: Fix Label.gist, FROGGS++
20:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/53d7b726de
20:41 FROGGS gnight
21:06 cognominal joined #perl6-dev
21:58 lizmat NR.PM meeting shutting down&
23:09 seatek joined #perl6-dev
23:48 lizmat joined #perl6-dev

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