Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-10-19

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

All times shown according to UTC.

Time Nick Message
01:35 Zoffix s: &sprintf
01:35 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/eb6907e/src/core/Cool.pm#L319
01:46 iBakeCake imma swap is_approx to is-approx in 6.c-errata shortly. Functionally the tests will remain the same, as the new version without custom tolerances replicates the old one's behaviour.
01:56 iBakeCake Ummm...
01:57 iBakeCake How does it work: 2015.12 Does not have is-approx(). It passes 6.c-errata. 2016.12 will not have is_approx().... So if we change 6.c-errata to use is-approx instead of is_approx, a 2015.12 version attempting to run those tests would fail.
01:57 iBakeCake Is that acceptable?
01:59 * iBakeCake currently thinks of extending deprecation to the next language release. It's not like is_approx is in the way or anything.
02:00 iBakeCake OTOH the passing 6.c test suite is packed with the tarballs
02:02 TimToady .oO(the road to 6.d is paved with melting tarballs...)
02:24 iBakeCake ZOFVM: Files=1198, Tests=130039, 143 wallclock secs (22.81 usr  3.74 sys + 2597.14 cusr 225.72 csys = 2849.41 CPU)
02:30 dalek roast: 40f6f5b | (Zoffix Znet)++ | / (45 files):
02:30 dalek roast: Replace deprecated is_approx with is-approx
02:30 dalek roast:
02:30 dalek roast: is_approx will reach the end of its deprecation cycle on Dec. 17. Replace it
02:30 dalek roast: with the new version, the is-approx. The new is-approx without explicit
02:30 dalek roast: tolerance provided behaves exactly as old is_approx as of today[^1], so this
02:30 dalek roast: commit makes no functional changes and all tests function the same.
02:30 dalek roast:
02:30 dalek roast: Method used:
02:30 dalek roast: 1) find . -iname '*' -exec perl -pi -e \
02:30 dalek roast:     's/(^|\s)is_approx(\(|\s)/${1}is-approx${2}/g' {} \;
02:30 dalek roast: 2) Check manually to ensure all substitutions are done on is_approx
02:31 iBakeCake https://github.com/perl6/roast/commit/40f6f5b47c5d296e742f029e1d15d49da8413188
02:31 iBakeCake Gonna do 6.c-errata tomorrow
04:57 geekosaur joined #perl6-dev
05:46 nine FWIW I'm against removal of is_approx and against changing 6.c-errata to is-approx. Cost/benefit doesn't seem right.
05:59 geekosaur joined #perl6-dev
06:07 geekosaur joined #perl6-dev
06:09 geekosaur joined #perl6-dev
06:16 geekosaur joined #perl6-dev
06:21 RabidGravy joined #perl6-dev
06:21 geekosaur joined #perl6-dev
06:21 [Tux] This is Rakudo version 2016.10-16-geb6907e built on MoarVM version 2016.10-12-gdf20321
06:21 [Tux] csv-ip5xs        3.269
06:21 [Tux] test            16.028
06:21 [Tux] test-t           6.864
06:21 [Tux] csv-parser      17.421
06:31 geekosaur joined #perl6-dev
06:34 geekosaur joined #perl6-dev
06:34 nine geekosaur: have you considered stopping to flood? ;)
06:40 geekosaur joined #perl6-dev
06:42 geekosaur joined #perl6-dev
06:44 geekosaur znc flaking (known bug) because local network flaking
06:44 * geekosaur had intended to be asleep now. as if. apparently no sleep permitted tonight
06:54 samcv :P
07:52 lizmat joined #perl6-dev
07:52 lizmat Files=1150, Tests=53642, 211 wallclock secs (12.77 usr  3.84 sys + 1282.64 cusr 115.72 csys = 1414.97 CPU)
08:15 FROGGS joined #perl6-dev
08:57 jnthn morning, #perl6-dev
08:59 tadzik joined #perl6-dev
09:03 ilmari[m] joined #perl6-dev
09:07 Zoffix__ joined #perl6-dev
09:33 lizmat decommute&
09:35 FROGGS jnthn: the with nativecall registered callback gets called now btw
09:37 jnthn FROGGS++ :)
09:57 FROGGS now I just need to do something sane :o)
10:10 dalek roast: 3fe2159 | cpin++ | S32-list/duckmap.t:
10:10 dalek roast: A couple more duckmap tests (#173)
10:10 dalek roast: review: https://github.com/perl6/roast/commit/3fe2159277
10:13 Zoffix nine, what's the cost of is_approx/is-approx?
10:16 Zoffix nine, considering on 2015.12 Inline::Perl5 fails to install (with panda) entirely and fails these tests of HEAD 6.c-errata: https://gist.github.com/zoffixznet/2beb9e84e6a1beb17a0871e0f77fff32
10:31 Zoffix I guess it can be argued a mere use of a test function in roast constitutes it being "tested"
10:33 Zoffix Sounds like we need a proper deprecation policy (unless one I'm not aware of exists). Specifically for stuff that isn't explicitly covered by roast.
10:33 Zoffix m: dd to-json [^3]
10:33 camelia rakudo-moar eb6907: OUTPUT«"[\n  0,\n  1,\n  2\n]"␤»
10:55 timotimo i have an optimization idea that could reduce the size of core.setting ... i don't know by how much yet.
10:55 Zoffix \o/
10:56 timotimo just doing my first trial run of a small subset of this optimization
10:59 timotimo m: say "after this opt, the size of the core setting is now { 10962296 / 11052656 }x what it was before"
10:59 camelia rakudo-moar eb6907: OUTPUT«after this opt, the size of the core setting is now 0.99182459x what it was before␤»
10:59 timotimo wow ... almost one percent? :\
11:01 Zoffix .oO( We are the 99%! )
11:02 timotimo m: say (11052656 - 10962296) / 1024
11:02 camelia rakudo-moar eb6907: OUTPUT«88.242188␤»
11:02 timotimo this makes me hopeful, though
11:08 timotimo hum. this deduplicates 3838 instances of a thing to 1 .. but the next spots in the ranking have 483, 139, 137, and 135 each
11:20 timotimo m: say (11052656 - 10947896) / 1024
11:20 camelia rakudo-moar eb6907: OUTPUT«102.304688␤»
11:24 timotimo m: say 61607.6 - 61714.8
11:24 camelia rakudo-moar eb6907: OUTPUT«-107.2␤»
11:24 timotimo oh, wrong way around
11:24 timotimo that's a whooping 107 kilobytes off of rakudo startup, though
11:24 nine Zoffix: the cost is for example that 2015.12 won't be able to run 6.c-errata anymore. So it's gonna be harder to find out, when someone was fixed/started failing. I'll look into Inline::Perl5.
11:29 timotimo m: say "total savings off of core setting: { 11052648 - 10947896 }"
11:29 camelia rakudo-moar eb6907: OUTPUT«total savings off of core setting: 104752␤»
11:29 timotimo the memory saving is more than just the reduction in core setting size! \o/
11:33 iBakeCake OK, I'll leave is_approx in 6.c-errata
11:37 nine Zoffix: the Inline::Perl5 failure is the "Bytecode validation error at offset 190, instruction 30: operand type 32 does not match register type 24" which also appeared on Travis and has been fixed in MoarVM somewhere between 2016.06 and 2016.09
11:51 dalek rakudo/cache_most_common_cds: cc13fb5 | timotimo++ | src/Perl6/World.nqp:
11:51 dalek rakudo/cache_most_common_cds: cache the top three container descriptors
11:51 dalek rakudo/cache_most_common_cds:
11:51 dalek rakudo/cache_most_common_cds: measured across the core setting, though hopefully the
11:51 dalek rakudo/cache_most_common_cds: tests are cheap enough to not impact common user programs
11:51 dalek rakudo/cache_most_common_cds: review: https://github.com/rakudo/rakudo/commit/cc13fb5edd
11:54 timotimo kind of wishing we could just measure before/after maxresidentk for all our test files
11:59 iBakeCake OK
12:04 timotimo next step for my cache
12:05 brrt joined #perl6-dev
12:25 timotimo m: say (11052656 - 10912288) / 1024
12:25 camelia rakudo-moar eb6907: OUTPUT«137.078125␤»
12:25 timotimo that's a little bit more win
12:25 timotimo not bad i guess :)
12:26 timotimo m: say 61714.8 - 61406.0
12:26 camelia rakudo-moar eb6907: OUTPUT«308.8␤»
12:26 timotimo now *that* is good
12:26 FROGGS and what is *that*?
12:26 timotimo that's how much smaller a perl6 -e '' is now
12:27 FROGGS by 300kb?
12:28 timotimo yeah
12:29 brrt probably still worth it
12:29 timotimo excuse me? you're saying 300kb isn't good?
12:29 timotimo (well, almost half of that is still just the mmaped core setting shrinking)
12:30 timotimo it's definitely worth it
12:30 brrt yes, 300kb is good... sorry :-o
12:30 timotimo :D
12:31 timotimo i wonder how much time per kilobyte of deserialization we spend during startup
12:36 dalek nqp: b7335a9 | jnthn++ | tools/build/MOAR_REVISION:
12:36 dalek nqp: Bump MOAR_REVISION for various fixes.
12:36 dalek nqp: review: https://github.com/perl6/nqp/commit/b7335a9e51
12:39 dalek rakudo/cache_most_common_cds: a58c139 | timotimo++ | src/Perl6/World.nqp:
12:39 dalek rakudo/cache_most_common_cds: generalize container descriptor caches
12:39 dalek rakudo/cache_most_common_cds:
12:39 dalek rakudo/cache_most_common_cds: will now cache descriptors of all names, but still only
12:39 dalek rakudo/cache_most_common_cds: for Any and Mu and only for no default value and readonly.
12:39 dalek rakudo/cache_most_common_cds: review: https://github.com/rakudo/rakudo/commit/a58c139730
12:40 timotimo https://gist.github.com/timo/e1070ff64a45f65548c9cd7c1e90f2d2 - think i should add a cache for something else?
12:40 timotimo clearly we need a cache for descriptors for variables named a, b, or x
12:42 iBakeCake .oO( $i )
12:42 [Coke] Zoffix, jdv79: I'll see if I can golf it.
12:43 [Coke] (regarding is-approx vs. is_approx - I think we have to leave the old one in place in 6.c errata.
12:46 dalek rakudo/nom: 200364a | jnthn++ | tools/build/NQP_REVISION:
12:46 dalek rakudo/nom: Bump NQP_REVISION for some MoarVM fixes.
12:46 dalek rakudo/nom:
12:46 dalek rakudo/nom: One involving a callframe crash (jnthn++), one involving a mkdir bug
12:46 dalek rakudo/nom: on Windows (FROGGS++).
12:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/200364abe6
12:46 iBakeCake [Coke]: it's something to do with grammar captures, I think. The $!made the error references is from NQPMatch (https://github.com/perl6/nqp/blob/master/src/QRegex/Cursor.nqp#L805 ) and the .list>>.ast on this line is what triggers the error: https://github.com/supernovus/exemel/blob/master/lib/XML/Element.pm6#L327
12:46 iBakeCake That's as far as I've gotten.
12:47 iBakeCake And yeah, I'm leaving is_approx in
12:47 [Coke] oh, then you're already way ahead of me. if we do need a golf, let me know, I can do that. :)
12:47 iBakeCake [Coke]: you do it.
12:47 [Coke] Roger.
12:47 iBakeCake I gave up. The above alone took me like an hour and I figured I wouldn't know how to fix it anyway :)
12:49 DrForr Heh. I did get a few giggles in the crowd (such as it was) for Σ @x;
12:49 iBakeCake I got "You're not making your case better" when I used that after my slides with the shrug operator :)
12:50 dalek roast: 2df332c | jnthn++ | S06-advanced/callframe.t:
12:50 dalek roast: Test to cover a fixed callframe($n).file bug.
12:50 dalek roast: review: https://github.com/perl6/roast/commit/2df332c765
12:50 dalek roast: 4bd2bf1 | jnthn++ | S06-advanced/callframe.t:
12:50 dalek roast: Also cover use of callframe in a hot loop.
12:50 dalek roast: review: https://github.com/perl6/roast/commit/4bd2bf1c57
12:50 DrForr "What, you'd prefer to have to write everything out longhand in ASCII?"
12:50 iBakeCake :)
12:53 timotimo oh, huh, spec test fallout
12:53 * iBakeCake rushes to the shelter
13:00 jnthn iBakeCake: Did you golf it to anything smaller than using the XML module?
13:01 iBakeCake jnthn: unfortunately no. What I mentioned above was it.
13:01 [Coke] is there a rakudobrew invocation that builds the latest version of rakudo/nqp/moar ?
13:02 [Coke] or do I need to find the commits from each to be safe?
13:02 iBakeCake [Coke]: it should be rakudobrew tripple nom master master but IIRC it was broken
13:02 iBakeCake like it was complaining about make
13:03 iBakeCake Must... Resist... Urge...
13:03 [Coke] ok. I already grabbed the shas for this one, will try that next time. danke.
13:03 dalek roast: 99bcae0 | (Zoffix Znet)++ | S02-types/num.t:
13:03 dalek roast: [coverage] Cover naked nummy secs
13:03 dalek roast: review: https://github.com/perl6/roast/commit/99bcae0855
13:03 * iBakeCake giggles
13:04 jnthn [Coke]: fwiw I bumped the MOAR/NQP revisions
13:04 DrForr We should add an OS VM so we can have a rakudobrew double Bochs.
13:04 jnthn [Coke]: So building Rakudo HEAD should get you the fixes for 426
13:06 [Coke] iBakeCake: triple with explicit values has same failure: Couldn't determine correct make program. Aborting.
13:06 [Coke] jnthn++, thanks.
13:09 dalek roast: 7ac1bd3 | (Zoffix Znet)++ | S02-types/num.t:
13:09 dalek roast: Shorten sin/cos to tan
13:09 dalek roast: review: https://github.com/perl6/roast/commit/7ac1bd356c
13:11 timotimo i'll be AFK for a bit, but if anybody wants to investigate my branch causing spec test breakage, feel free
13:12 timotimo perl6 t/spec/S03-binding/scalars.rakudo.moar; perl6 t/spec/S04-statements/for.rakudo.moar; perl6 t/spec/integration/advent2009-day09.t; perl6 t/spec/integration/advent2013-day21.t
13:12 timotimo ^- this'll get you all the failures at once
13:14 mst joined #perl6-dev
13:27 jnthn Well, got the module golfed from 1245 lines to 309 so far...
13:27 dalek roast: 157f9a2 | (Zoffix Znet)++ | S02-types/num.t:
13:27 dalek roast: Define √ to make trig tests more readable
13:27 dalek roast: review: https://github.com/perl6/roast/commit/157f9a2b78
13:27 [Coke] jnthn++
13:40 jnthn And now down to 110 lines
13:43 iBakeCake m: say cotan(2e10*π)
13:43 camelia rakudo-moar 200364: OUTPUT«-223277.804065798␤»
13:43 iBakeCake m: say cotan(2e100*π)
13:43 camelia rakudo-moar 200364: OUTPUT«3.40219219786696␤»
13:44 iBakeCake :} that's quite a precion loss.
13:44 iBakeCake (both "should" be Inf)
13:45 jnthn .oO( not sure if typo or pun :P )
13:46 iBakeCake heh.... typo
13:46 iBakeCake m: say cotan(π) ≅ -tan(π/2)
13:46 camelia rakudo-moar 200364: OUTPUT«False␤»
13:47 iBakeCake m: say cotan(π) ≅ -tan(π/2)/2
13:47 camelia rakudo-moar 200364: OUTPUT«True␤»
13:47 iBakeCake Fun
13:47 iBakeCake m: say ∞ ≅ ∞/2
13:47 camelia rakudo-moar 200364: OUTPUT«False␤»
13:49 iBakeCake m: say ∞ == ∞/2
13:49 camelia rakudo-moar 200364: OUTPUT«True␤»
13:51 iBakeCake m: multi sub infix:<≅> (∞, ∞) { Bool::True };
13:51 camelia rakudo-moar 200364: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> multi sub infix:<≅> (⏏∞, ∞) { Bool::True };␤»
13:51 iBakeCake m: multi sub infix:<≅> (Inf, Inf) { Bool::True };
13:51 camelia rakudo-moar 200364: ( no output )
13:58 iBakeCake Rakudobugged (inf literal in sig): https://rt.perl.org/Ticket/Display.html?id=129915
14:01 go|dfish joined #perl6-dev
14:02 jnthn Well, fixed the warnings around $!made
14:03 jnthn Turns out the very occasional SEGV is unrelated
14:04 * jnthn spectests the fix
14:05 iBakeCake :o
14:05 iBakeCake jnthn++
14:06 timotimo oooooh
14:07 jnthn committable6 HEAD grammar G { token TOP { .+ { make ~$/ } } }; await do for ^300 { start { G.parse('x' x 1000) } }
14:07 jnthn committable6: HEAD grammar G { token TOP { .+ { make ~$/ } } }; await do for ^300 { start { G.parse('x' x 1000) } }
14:07 committable6 jnthn, ¦«HEAD»: Use of Nil in string context␤Use of Nil in string context␤  in block  at /tmp/IprhnwAtMX line 1␤  in block  at /tmp/IprhnwAtMX line 1
14:08 jnthn That is a kinda golf of it
14:10 jnthn committable6: HEAD use Test; grammar G { token TOP { .+ { make ~$/ } } }; my $warned; { CONTROL { when CX::Warn { $warned = True; .resume } }; await do for ^300 { start { G.parse('x' x 1000) } } }; nok $warned
14:10 committable6 jnthn, ¦«HEAD»: ok 1 -
14:10 jnthn committable6: HEAD use Test; grammar G { token TOP { .+ { make ~$/ } } }; my $warned; { CONTROL { when CX::Warn { $warned = True; .resume } }; await do for ^300 { start { G.parse('x' x 1000) } } }; nok $warned
14:10 committable6 jnthn, ¦«HEAD»: Use of Nil in string context␤Use of Nil in string context␤  in block  at /tmp/05qJBTLZ_M line 1␤  in regex TOP at /tmp/05qJBTLZ_M line 1␤ok 1 -
14:10 jnthn Oh, right
14:10 jnthn committable6: HEAD use Test; grammar G { token TOP { .+ { make ~$/ } } }; my $warned; { await do for ^300 { start { CONTROL { when CX::Warn { $warned = True; } }; G.parse('x' x 1000) } } }; nok $warned
14:10 committable6 jnthn, ¦«HEAD»: not ok 1 - ␤␤# Failed test at /tmp/LncO2yPgQW line 1 «exit code = 1»
14:11 dalek rakudo/nom: 4f3681b | (Zoffix Znet)++ | src/core/Numeric.pm:
14:11 dalek rakudo/nom: Make ∞ ≅ ∞ give True
14:11 dalek rakudo/nom:
14:11 dalek rakudo/nom: Since ∞ == ∞ is True, and, say, 2 ≅ 2 is True, it makes sense for ∞ ≅ ∞ to
14:11 dalek rakudo/nom: be True as well. However, the math involved produced a NaN, which made the
14:11 dalek rakudo/nom: operator return False for infinities.
14:11 dalek rakudo/nom:
14:11 dalek rakudo/nom: Add two extra candidates that handle ∞ ≅ ∞ and -∞ ≅ -∞
14:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4f3681b75d
14:11 dalek roast: ab4bbc6 | (Zoffix Znet)++ | S03-operators/relational.t:
14:11 dalek roast: Test ≅ works correctly with infinities
14:11 dalek roast: review: https://github.com/perl6/roast/commit/ab4bbc6a5e
14:13 dalek rakudo/nom: 7a456ff | jnthn++ | src/Perl6/Actions.nqp:
14:13 dalek rakudo/nom: Missing clone of codeblocks embedded in regexes.
14:13 dalek rakudo/nom:
14:13 dalek rakudo/nom: Could cause over-sharing when a grammar was used on multiple threads.
14:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7a456ff801
14:14 jnthn Should try it on my non-golfed version too I guess
14:14 jnthn break; bbi10
14:14 jnthn Then will add the test
14:14 [Coke] jnthn: woot, it worked.
14:14 jnthn [Coke]: The fix I just did, or the MoarVM #426?
14:14 [Coke] 426
14:14 jnthn Nice :)
14:15 [Coke] ... now I have to make sure I finish this stupid spell checking project. :)
14:17 jnthn [Ckoe]++ :)
14:38 * jnthn back
14:40 mst [Ckoe]++
14:40 timotimo jdv79: you could have a look if jnthn's latest rakudo commit fixes your long-standing asynchronous + grammars bug
14:51 dalek roast: dd714f8 | jnthn++ | S17-promise/start.t:
14:51 dalek roast: Test golfed from RT #128833.
14:51 dalek roast: review: https://github.com/perl6/roast/commit/dd714f82e2
14:51 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128833
14:52 iBakeCake m: say acotan 0
14:52 camelia rakudo-moar 7a456f: OUTPUT«1.5707963267949␤»
14:52 iBakeCake m: say acotan -0
14:52 camelia rakudo-moar 7a456f: OUTPUT«1.5707963267949␤»
14:53 iBakeCake This should be a NaN innit?
14:53 [Coke] jnthn++
14:55 iBakeCake m: say acotan my num $ = 0e0
14:55 camelia rakudo-moar 7a456f: OUTPUT«Inf␤»
14:56 iBakeCake Ah, OK. It's only the non-native that's broken
14:56 iBakeCake m: say acotan my num $ = -0e0
14:56 camelia rakudo-moar 7a456f: OUTPUT«-Inf␤»
14:56 iBakeCake cool
15:03 iBakeCake m: say cotan acotan 5e0
15:03 camelia rakudo-moar 7a456f: OUTPUT«5␤»
15:03 iBakeCake m: say cotan acotan my num $ = 5e0
15:03 camelia rakudo-moar 7a456f: OUTPUT«1.1216586630592␤»
15:03 * iBakeCake needs a graph
15:03 * mst needs an adult
15:03 iBakeCake mst: gimme an arccot graph
15:06 iBakeCake nm, forgot about wolframalpha
15:44 jdv79 jnthn: the SEGVs seem to be gone as well
15:45 iBakeCake \o/
15:45 jdv79 was that a seperate fix or did the $!made fix stop aggrivating it...?
15:46 jdv79 jnthn: in any case, thanks!
15:50 iBakeCake ZOFVM: Files=1198, Tests=130055, 139 wallclock secs (20.34 usr  3.27 sys + 2314.08 cusr 228.44 csys = 2566.13 CPU)
15:54 jnthn jdv79: It's possible that the SEGV I got was unrelated to the fix I did
15:54 jnthn jdv79: The stack trace of the one I got looks a lot like an "impossible" crash I saw from a totally different example a couple of weeks ago
15:55 jnthn (So, likely totally unrelated to grammars, and will take a lot of finding due to being hard to trigger)
15:59 dalek rakudo/nom: 8e9fd0a | (Zoffix Znet)++ | src/core/Num.pm:
15:59 dalek rakudo/nom: Fix incorrect calculation produced by acotan(num)
15:59 dalek rakudo/nom:
15:59 dalek rakudo/nom: The num version of the method uses incorrect formula to calculate acotan.
15:59 dalek rakudo/nom: The following identities should hold:
15:59 dalek rakudo/nom:     θ = acotan cotan θ for -π < θ < π
15:59 dalek rakudo/nom:     θ = cotan acotan θ for θ ∈ ℝ
15:59 dalek rakudo/nom:
15:59 dalek rakudo/nom: Fix by calculating atan(1/x), result of which is corroborated by the above
15:59 dalek rakudo/nom: identities, WolframAlhpa[^1], and our implementation of acotan for boxed types.
15:59 dalek rakudo/nom:
15:59 dalek rakudo/nom: [1] http://www.wolframalpha.com/input/?i=acotan
16:00 iBakeCake https://github.com/rakudo/rakudo/commit/8e9fd0a61b18ce365965d519433f4b90bd0e96d1
16:00 iBakeCake Test will come in later today, as part of coverage work.
16:04 brrt is iBakeCake really Zoffix?
16:04 FROGGS brrt: psst!
16:05 timotimo yes, psst!
16:05 FROGGS brrt: if you tell anyone we have to eat you like a piece of paper with a secret message
16:05 iBakeCake brrt: nah, I hold Zoffix in my basement and make him write code 24/7 :P
16:05 TimToady a different person holds Zoffix every week, to throw off investigators
16:06 mst and stay ahead of the restraining orders
16:06 brrt :-o
16:06 * brrt erases his question, Slack stle
16:07 timotimo what question?
16:08 brrt indeed
16:11 dalek rakudo/nom: 697a0ae | jnthn++ | src/core/IO/Path.pm:
16:11 dalek rakudo/nom: Fix missing close in IO::Path.slurp(:bin).
16:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/697a0ae14d
16:32 dalek rakudo/maybe-windows-precomp-fix: 0e0c08e | jnthn++ | src/core/CompUnit/Precompilation (3 files):
16:32 dalek rakudo/maybe-windows-precomp-fix: Close a unit's handle when it's found outdated.
16:32 dalek rakudo/maybe-windows-precomp-fix:
16:32 dalek rakudo/maybe-windows-precomp-fix: This attempts to fix an issue on Windows where we cannot rename the
16:32 dalek rakudo/maybe-windows-precomp-fix: newly compiled file to the original file because we still have the
16:32 dalek rakudo/maybe-windows-precomp-fix: original one open.
16:32 dalek rakudo/maybe-windows-precomp-fix: review: https://github.com/rakudo/rakudo/commit/0e0c08e7de
16:32 jnthn Will try that out on Windows in a moment
16:33 timotimo ooooh
16:33 jnthn I somehow at some point managed to nuke the .git folder on my Windows checkout of Rakudo
16:33 jnthn So ended up doing the change in my VM while I got a new clone :)
16:34 timotimo mhm
16:36 jnthn I think it actually does it. :)
16:36 jnthn .ask nine could you glance the maybe-windows-precomp-fix branch if you get a chance? It seems to fix a bug on Windows where .rename in the precomping sub-process failed due to the file being open still in the parent process
16:36 yoleaux2 jnthn: I'll pass your message to nine.
16:37 jnthn Rest, dinner, etc. bbl
16:52 dalek roast: d6cb68a | (Zoffix Znet)++ | S02-types/num.t:
16:52 dalek roast: [coverage] Cover nummy trig: cotan and acotan
16:52 dalek roast:
16:52 dalek roast: Also covers acotan bug fixed by
16:52 dalek roast: https://github.com/rakudo/rakudo/commit/8e9fd0a61b18ce365965d519433f4b90bd0e96d1
16:52 dalek roast: review: https://github.com/perl6/roast/commit/d6cb68a96b
16:58 go|dfish joined #perl6-dev
17:00 psch o/
17:00 yoleaux2 18 Oct 2016 15:12Z <bartolin_> psch: I (also) spend some time looking at those UnwindExceptions. didn't find a solution, but at least I think I understand why we get them with for loops and not with 'while' or 'loop'
17:00 yoleaux2 18 Oct 2016 15:12Z <bartolin_> psch: maybe this is of interest for you: https://gist.github.com/usev6/78beac8113b8a54cf02acba66c3cd68f
17:02 timotimo o/ psch
17:07 psch geez, isp still doesn't have anything under control apparently :|
17:08 psch also, i apparently got a macbook air now
17:08 timotimo neat
17:08 psch 'cause i got that job and they almost exclusively dev on macosx and ios
17:08 timotimo +1 for that job! :)
17:08 * timotimo grocery shopping
17:08 psch yeaah, it's gonna be interesting
17:09 psch three of the latest 20 or so commits were "make it stop crashing"
17:09 nine .
17:09 yoleaux2 16:36Z <jnthn> nine: could you glance the maybe-windows-precomp-fix branch if you get a chance? It seems to fix a bug on Windows where .rename in the precomping sub-process failed due to the file being open still in the parent process
17:09 nine jnthn: looking at it
17:10 psch .tell bartolin_ p6for transform into the appropriate .map call, so this is probably a permutation of #126490
17:10 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126490
17:10 yoleaux2 psch: I'll pass your message to bartolin_.
17:11 psch .tell bartolin_ note that that ticket got accidentifixed by a refactor, but apparently there's still wonky bits in how jvm handles our iterators
17:11 yoleaux2 psch: I'll pass your message to bartolin_.
17:12 AlexDaniel joined #perl6-dev
17:40 iBakeCake w00t found two more nummy trig functions that do incorrect calculation
17:41 * iBakeCake does a happy dance
17:47 iBakeCake m: use nqp; say nqp::log_n(????**10)
17:47 camelia rakudo-moar 697a0a: OUTPUT«10␤»
17:49 dalek nqp: 71dbc3d | (Zoffix Znet)++ | docs/ops.markdown:
17:49 dalek nqp: log_n appears to be ln not log₁₀
17:49 dalek nqp: review: https://github.com/perl6/nqp/commit/71dbc3d0f3
18:06 nine jnthn: your patch looks good! I'd actually say we should go one step further and make sure the file gets closed in all code paths. But that's complicated by the fact that on Windows, one needs to keep the file handle of a mapped file open while POSIX sees the mapping as a new reference and wants you to close the file handle.
18:08 nine jnthn: oh and that will also mean that we cannot update a precomp file on Windows while it's in use by a running program. But I guess that's just one of those issues Windows users have to live with. It's the same with ordinary DLL files.
18:24 jnthn nine: Yeah, I figured the second part of that
18:24 jnthn nine: Not sure we can do a lot about it. I also guess that the installation precomps won't be impacted by it though, as they are versioned and so we don't replace?
18:26 jnthn nine: I'll merge the patch; not immediately sure what other paths warrant a look
18:26 dalek rakudo/nom: a7e801f | (Zoffix Znet)++ | src/core/Num.pm:
18:26 dalek rakudo/nom: Fix num-typed hyperbolic inverse sin/cos functions
18:26 dalek rakudo/nom:
18:26 dalek rakudo/nom: The formula for asinh is ln(x + √(x²+1)) and for acosh is ln(x + √(x²-1)).
18:26 dalek rakudo/nom: The current multies for num types are missing the square roots.
18:26 dalek rakudo/nom:
18:26 dalek rakudo/nom: Correct the calculation. Rewrite using nqp ops for 6.2x speed gain.
18:26 dalek rakudo/nom:
18:26 dalek rakudo/nom: References:
18:26 dalek rakudo/nom: [1] http://www.wolframalpha.com/input/?i=asinh
18:26 dalek rakudo/nom: [2] http://www.wolframalpha.com/input/?i=acosh
18:26 dalek rakudo/nom: [3] https://en.wikipedia.org/wiki/Hyperbolic_function#Inverse_functions_as_logarithms
18:26 iBakeCake https://github.com/rakudo/rakudo/commit/a7e801f396250da76529734764acb62087187834
18:28 dalek rakudo/nom: 44a4c75 | jnthn++ | src/core/CompUnit/Precompilation (3 files):
18:28 dalek rakudo/nom: Close a unit's handle when it's found outdated.
18:28 dalek rakudo/nom:
18:28 dalek rakudo/nom: This fixes an issue on Windows where precomp repositories could not
18:28 dalek rakudo/nom: rename a newly compiled file to match the name of the the original
18:28 dalek rakudo/nom: file (thus replacing it), because we still had the original one open.
18:28 dalek rakudo/nom: Windows is fussy about such things.
18:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/44a4c75496
18:28 jnthn Well, cherry-picked it and made the comment less speculative :)
18:29 jnthn Hopefully Perl 6 hacking on Windows will be fun again now :)
18:35 nine jnthn: installation precomps will be replaced when you upgrade one of their dependencies
18:35 [Coke] well.
18:41 jnthn nine: Ah, right
18:43 iBakeCake m: say asinh ∞
18:43 camelia rakudo-moar a7e801: OUTPUT«Inf␤»
18:43 iBakeCake m: say asinh -∞
18:43 camelia rakudo-moar a7e801: OUTPUT«NaN␤»
18:43 iBakeCake (needs to be -Inf)
19:01 cognominal joined #perl6-dev
19:09 iBakeCake m: say asinh my num $ = -0e0
19:09 camelia rakudo-moar 44a4c7: OUTPUT«0␤»
19:10 iBakeCake And this needs to be -0e0. Not sure how to make it so (or whether it matters to us). I recall there was a ticket about signed zeros not working right
19:10 iBakeCake m: say asin my num $ = -0e0
19:10 camelia rakudo-moar 44a4c7: OUTPUT«-0␤»
19:10 iBakeCake hmm
19:11 iBakeCake m: use nqp; say nqp::neg_n(asinh my num $ = -0e0)
19:11 camelia rakudo-moar 44a4c7: OUTPUT«-0␤»
19:18 dalek joined #perl6-dev
19:18 iBakeCake aww :( dalek was away while I pushed
19:18 iBakeCake How anticlimactic
19:18 iBakeCake Fix asinh(-∞) to return -∞, not NaN: https://github.com/rakudo/rakudo/commit/74d0e36ba27b9736b63b84c0169108a5a9a5d83e
19:20 iBakeCake .oO( stoopid robot )
19:30 iBakeCake awww... that fix is insufficient
19:31 iBakeCake Oh. nm.. it's is-approx() giving me NaNs :P
19:35 iBakeCake aye, insufficient
19:35 iBakeCake m: dd asinh -1e200
19:35 camelia rakudo-moar 74d0e3: OUTPUT«Inf␤»
19:36 iBakeCake Should be -Inf
19:36 iBakeCake committable6: 2016.10 asinh -1e200
19:36 committable6 iBakeCake, ¦«2016.10»: WARNINGS for /tmp/LZ1JT0XlZw:␤Useless use of "asinh -1e200" in expression "asinh -1e200" in sink context (line 1)
19:36 iBakeCake committable6: 2016.10 say asinh -1e200
19:36 committable6 iBakeCake, ¦«2016.10»: Inf
19:45 iBakeCake Rakudobugged: https://rt.perl.org/Ticket/Display.html?id=129919
19:46 iBakeCake I can think of fixes involving detecting Inf/0e0 and adjusting the signs but that feels inelegant
19:57 * [Coke] finds a picture of jdv79 from NYC.
20:06 pyrimidi_ joined #perl6-dev
20:08 pyrimidi_ joined #perl6-dev
21:10 Zoffix r: say acotan(my num $ = -∞)
21:10 camelia rakudo-jvm 2a1605: OUTPUT«-0.6366197723675814␤»
21:10 camelia ..rakudo-moar 74d0e3: OUTPUT«-0␤»
21:10 Zoffix lovely...
21:11 Zoffix (-0 is the right answer)
21:11 timotimo -0.6 is close enough
21:11 Zoffix :D
21:15 dalek roast: ee12821 | (Zoffix Znet)++ | S02-types/num.t:
21:15 dalek roast: Add explicit test numy acotan -∞ gives -0e0
21:15 dalek roast: review: https://github.com/perl6/roast/commit/ee12821702
21:17 Zoffix oh, it was the one that was broken this morning. So JVM camelia is likely just not updated to HEAD yet
21:18 Zoffix committable6, 2016.10 say acotan(my num $ = -∞)
21:18 committable6 Zoffix, ¦«2016.10»: -0.636619772367581
21:18 Zoffix \o/
21:23 dalek roast: 6c31fe3 | (Zoffix Znet)++ | S02-types/num.t:
21:23 dalek roast: [coverage] Cover nummy trig: sinh and asinh
21:23 dalek roast:
21:23 dalek roast: Includes cover for asinh case of
21:23 dalek roast: https://github.com/rakudo/rakudo/commit/a7e801f396250da76529734764acb62087187834
21:23 dalek roast: and fudge for
21:23 dalek roast: RT#129919: https://rt.perl.org/Ticket/Display.html?id=129919
21:23 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129919
21:23 dalek roast: review: https://github.com/perl6/roast/commit/6c31fe31ab
21:28 Zoffix That should do it for the day \o/
21:28 * Zoffix &
21:28 Zoffix left #perl6-dev
21:56 MasterDuke joined #perl6-dev
21:57 AlexDaniel joined #perl6-dev
22:07 lizmat joined #perl6-dev

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