[TuxCM] | This is Rakudo version 2016.10-293-g58a4826 built on MoarVM version 2016.10-172-g1ba1dd2 | 07:19 | |
csv-ip5xs 3.029 | |||
test 14.547 | |||
test-t 6.594 | |||
csv-parser 14.778 | |||
lizmat | alas, the new hash scheme doesn't make things faster :-( | 09:18 | |
and good *, #perl6-dev! | |||
DrForr | o/' | 09:40 | |
|Tux| | Second run | 09:50 | |
csv-ip5xs 2.974 | |||
test 13.990 | |||
test-t 6.379 | |||
csv-parser 14.728 | |||
brrt | (what new hash scheme?) | 10:19 | |
oh, the flat strings thingy | |||
unshared strings | |||
dalek | kudo/nom: 2d56751 | lizmat++ | src/core/Shaped1Array.pm: Fix .rotate/.reverse on 1dimmed assigning to self Turns out the problem was really in the .STORE candidate for identical shapes. If the target list contains containers that also occur in the source list (e.g. from a .reverse or a .rotate), then just assigning without creating new containers, will mess up things thoroughly, because earlier assignments can then influence the values of later assignments. So this basically fixes: my @a[5] = ^5; @a = @a.rotate; 85c7072 | (Zoffix Znet)++ | src/core/Str.pm: Teach Str.parse-base to handle signed numbers This makes it able to reverse any Real.base() output, such as (-16).base(16).parse-base(16), making it the only available way to do so, since :16("...") method does not accept signed numbers. |
11:08 | |
lizmat | review: github.com/rakudo/rakudo/commit/2d56751 | 11:09 | |
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Fix .rotate/.reverse on 1dimmed assigning to self | 12:05 | |
travis-ci.org/rakudo/rakudo/builds/176666957 github.com/rakudo/rakudo/compare/5...56751abe24 | |||
ast: ca3eb95 | (Zoffix Znet)++ | S32-str/parse-base.t: Test Str.parse-base can handle signed numbers |
|||
ast: a932240 | lizmat++ | S09-multidim/methods.t: Add tests for fix in 2d56751abe248c019116 |
14:19 | ||
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. | ||
viki | Very interesting ticket: rt.perl.org/Ticket/Display.html?id...et-history | 14:51 | |
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 | ||
Which makes sense, but is an implementation detail and isn't what the end user asked for. | |||
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. | |||
I guess I can ask him for usecases of negative zeros.. | 14:54 | ||
dalek | ast: ec2218c | (Zoffix Znet)++ | S32-str/parse-base.t: Make it more clear we're testing fancy Unicode minus Based on comments on github.com/perl6/roast/commit/ca3e...1fa9461f0e |
15:23 | |
FROGGS | o/ | 15:47 | |
AlexDaniel | m: "-0e0".Num.perl.say | 16:01 | |
camelia | rakudo-moar 85c707: OUTPUT«0e0» | ||
dalek | ast: 839566c | (Zoffix Znet)++ | S05-capture/match-object.t: Add tests for smartmatch with regex-in-a-variable For fix implemented in github.com/rakudo/rakudo/commit/5ac593e |
16:16 | |
viki | geekosaur: we do support negative zero. | 16:17 | |
geekosaur: what are limits of series and how does that translate to casting strings to numerics? | 16:18 | ||
geekosaur | en.wikipedia.org/wiki/Series_(mathematics) | 16:19 | |
... urgh, banner /o\ | |||
and you care about this when reading input relating to the limit of such a series. | |||
(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. | ||
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 | ||
viki | m: quietly say val Nil | ||
camelia | rakudo-moar 85c707: OUTPUT«Nil» | ||
viki | m: quietly say val "42", :val-or-fail | ||
camelia | rakudo-moar 85c707: OUTPUT«42» | ||
viki | m: quietly say val Nil, :val-or-fail | ||
camelia | rakudo-moar 85c707: OUTPUT«Unexpected named argument 'val-or-fail' passed in block <unit> at <tmp> line 1» | ||
viki | (and val() is what does the conversion in "-0".Num) | 16:23 | |
dalek | kudo/nom: 7f32243 | (Zoffix Znet)++ | src/core/Complex.pm: Fix Complex exponentiation involving zeros Use the same rules as other numerics: 0**n == 0, but 0**0 == 1 Fixes RT#128785: rt.perl.org/Ticket/Display.html?id=128785 |
17:27 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128785 | ||
dalek | ast: 6cf2e01 | (Zoffix Znet)++ | S32-num/complex.t: Test Complex exponentiation involving zeros RT#128785: rt.perl.org/Ticket/Display.html?id=128785 |
||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128785 | ||
viki ponders removing Rat.base(Int:D, Whatever) and is testing if any breakage occurs | 17:54 | ||
I meant Rational.whatever | |||
ohh | 17:56 | ||
I can't | |||
brain mixed stuff up | |||
dat code github.com/rakudo/rakudo/blob/85c7...#L124-L159 | 17:59 | ||
eh, screw it. I'm not decrypting that. | 18:02 | ||
we have Rational.base(Int:D, Whatever) that does something special and that's undocumented.... | |||
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:04 | ||
dalek | p: 26c952f | (Pawel Murias)++ | src/vm/js/ (4 files): [js] Make nqp::radix and nqp::radix_I use slurpy_array from the HLL. |
18:40 | |
p: fe0f17f | (Pawel Murias)++ | src/vm/js/ (2 files): [js] Make nqp::islist work properly on VMArray objects. |
|||
p: ec8f19d | (Pawel Murias)++ | src/vm/js/ (2 files): [js] Make nqp::split use the slurpy_array from the hll. |
|||
kudo/nom: 29db214 | FROGGS++ | src/core/Label.pm: fix Label.gist, 34f7f36 broke it |
19:36 | ||
kudo/nom: 2432c46 | (Zoffix Znet)++ | src/core/Rational.pm: Improve readability of Rational.base algo - get rid of single-letter variables - simplify some of the logical paths Part of the bug hunt for 0.9999999999999999999999.[base(10)|perl] giving "0.A" |
19:45 | ||
lizmat | FROGGS: can a p6box_s() ever be null ?? | 20:19 | |
psch | lizmat: afaik it should die internally whenever it gets something that would mean null | 20:20 | |
lizmat: note though that that might not hold on nqp-j | |||
lizmat: the degenrate case -- i.e. passing a JVM-level null into p6box_s -- is caught on nqp-j | 20:21 | ||
+e | |||
but yeah, the result should be meaningfully stringy or the op should die | 20:22 | ||
that seems to be the contract, in any case | |||
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... | ||
lizmat | otherwise you can forget about the nqp::ifnull anyway, since it can never be null | ||
psch doesn't have the context | |||
if you hand VMNull to p6box_s it dies | |||
FROGGS | lizmat: wouldnt it make sense to revert my patch an 34f7f36? | 20:26 | |
lizmat | no, I think you do have a point | ||
- nqp::ifnull(nqp::p6box_s(nqp::getlexdyn('$?FILES')), '<unknown>')); | 20:27 | ||
+ nqp::p6box_s(nqp::ifnull(nqp::getlexdyn('$?FILES')), '<unknown>')); | |||
is my suggestion | |||
psch | m: use nqp; say nqp::ifnull(nqp::p6box_s(nqp::null), "foo") | ||
camelia | rakudo-moar 2432c4: OUTPUT«Cannot unbox a type object (VMNull) to a str. in block <unit> at <tmp> line 1» | ||
psch | lizmat++ | ||
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» | ||
lizmat | m: use nqp; say nqp::p6box_s(nqp::ifnull(nqp::null, "foo")) | ||
camelia | rakudo-moar 2432c4: OUTPUT«foo» | ||
FROGGS | it is not actually boxed twice, is it? | ||
lizmat | don't think so | 20:29 | |
psch | m: use nqp; say nqp::what(nqp::getlexdyn('$?FILES')) | 20:30 | |
camelia | rakudo-moar 2432c4: OUTPUT«(Str)» | ||
psch | m: use nqp; my str $x = "foo"; say nqp::what($x) | ||
camelia | rakudo-moar 2432c4: OUTPUT«(Str)» | ||
lizmat | yeah, it gets upgraded automagically | 20:31 | |
psch | autoboxing... *shakes fist* | ||
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» | ||
psch | *really* roundabout, but that seems to suggest 'str $!file' | ||
not sure we have to manually take of the boxing anyway | |||
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» | ||
lizmat | ah | ||
ok | |||
psch | *take care | ||
FROGGS | can we just interpolate a str in a qq-string? | 20:36 | |
psch | m: my str $x = "fooey"; say "so we $x" | ||
camelia | rakudo-moar 2432c4: OUTPUT«so we fooey» | ||
FROGGS | I'm quite sure it caused trouble back then when I implemented Labels | ||
j: my str $x = "fooey"; say "so we $x" | |||
camelia | rakudo-jvm 76b061: OUTPUT«so we fooey» | ||
dalek | kudo/nom: 29f8fd0 | (Zoffix Znet)++ | src/core/Int.pm: Unify accepted .base() arguments Currently second argument to base can be a Whatever, but only if the invocant is a Rational. This creates a special case for the method, and the user has to watch out what type of a Real the invocant is, before using the Whatever precision. Unify the method's behaviour by providing degenerate cases of Whatever precision for the rest of the Reals where it acts as if precision was not specified. |
||
FROGGS | well, we might be lucky | ||
psch | *that* would've terrified me :) | ||
viki | ooopps | ||
psch | i mean, if it had failed on r-j | ||
dalek | kudo/nom: c1d2599 | (Zoffix Znet)++ | src/core/Real.pm: Add missing file for .base(...Whatever) commit These changes are part of work in commit github.com/rakudo/rakudo/commit/29...8c565bb708 |
20:37 | |
ast: bf90578 | (Zoffix Znet)++ | S32-num/base.t: Test all Reals can handle Whatever as precision in .base() |
20:38 | ||
kudo/nom: 53d7b72 | lizmat++ | src/core/Label.pm: Fix Label.gist, FROGGS++ |
20:39 | ||
FROGGS | gnight | 20:41 | |
lizmat | NR.PM meeting shutting down& | 21:58 |