Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-01-11

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:56 jnap joined #moarvm
01:45 timotimo i forgot to change the temporary thing in bigint_div, i only did it in bigint_div_num >_>
01:55 dalek MoarVM: 2e5deb8 | (Timo Paulssen)++ | src/ (2 files):
01:55 dalek MoarVM: try to get integer division with negative a behave.
01:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/2e5deb8a70
01:55 dalek MoarVM: 8b259f7 | (Timo Paulssen)++ | src/core/interp.c:
01:55 dalek MoarVM: make sure to abs arguments to gcd_i
01:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/8b259f7dfe
01:55 dalek MoarVM: 9cf4c8b | (Timo Paulssen)++ | src/math/bigintops.c:
01:55 dalek MoarVM: use temporary mp_ints for subtracting 1 in bigint_div*
01:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/9cf4c8bd0e
01:55 dalek MoarVM: 23c14d7 | (Timo Paulssen)++ | src/ (2 files):
01:55 dalek MoarVM: Merge branch 'negative_integer_division'
01:55 dalek MoarVM:
02:03 benabik joined #moarvm
02:19 diakopter timotimo++
02:20 diakopter anyone with a rakudo push bit?
02:21 timotimo no, it's not timotimo++
02:21 timotimo i did it the wrong way around :)
02:21 diakopter timotimo: can you patch something in rakudo for me
02:21 timotimo gotta run for a light rail now
02:22 diakopter replace all the occurences of perl6-m$(BAT) with $(M_RUNNER) in the template for moar's Makefile
02:24 diakopter er
02:24 diakopter well, that, and the $(BAT) definition needs added back in at the top, but it seems someone removed it
02:24 diakopter when on windows.
02:25 diakopter gah
02:25 [Coke] sounds complicated.
02:29 timotimo it would seem to me that if div rounds towards zero but should floor instead, i need to add 1 to the right hand side to force a floor if the lhs is lt 0
02:29 timotimo div referring to C div now
02:32 timotimo but doing that did not seem to help
02:33 diakopter timotimo: you mean subtract 1?
02:34 timotimo yes i did mean that
02:34 timotimo since i want the value to be bigger absolutely
02:35 timotimo what do i do if a is positive and b negative, though?
02:35 timotimo that case is not handled by the rat code
02:35 diakopter wait
02:35 timotimo because there the denominator is forced to be positive
02:35 diakopter no you wouldn't subtract 1, you would subtract b..?
02:35 timotimo i would subtract b??
02:35 diakopter er
02:36 diakopter you would subtract 1 from the result if a % b != 0
02:37 timotimo i don't think so
02:37 timotimo i should be able to maybe i should subtract one from the *result* if that condition holds
02:38 timotimo not backspaces enough
02:39 timotimo i think you are right though. but i should do it completely differently
02:39 timotimo i should divide the absolute values and negate if necessary
02:40 timotimo that should give the correct result and not need to calculate the modulus
02:42 timotimo i thinkbthat is what i will do
02:44 timotimo if you see random b where words should be separated you know I'm on my phone keyboard
03:01 jnap joined #moarvm
03:05 timotimo hm. there is no implementation of integer division in libtommath that behaves like java does
03:09 timotimo hehe, the latest change to libtommath is merging a pull request made by moritz to fix mod on negative integers :D
03:20 timotimo i'm actually not sure about MVM_bigint_div_num
03:20 timotimo the / operator there does floating point division, doesn't it?
03:21 FROGGS[mobile] joined #moarvm
03:21 timotimo because there's mp_get_double on both sides of the /
03:21 timotimo ah, of course, the result is a num.
03:21 timotimo so no magic needed
03:21 dalek MoarVM: eab5033 | (Timo Paulssen)++ | src/ (2 files):
03:21 dalek MoarVM: replace completely wrong appreach with better approach
03:21 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/eab503327e
03:22 * timotimo should probably have tested before pushing
03:22 timotimo yup.
03:23 timotimo of course i made several mistakes
03:23 timotimo i shouldn't be up coding at this hour.
03:23 FROGGS[mobile] joined #moarvm
03:23 dalek MoarVM: 71fab40 | (Timo Paulssen)++ | src/ (2 files):
03:23 dalek MoarVM: replace completely wrong appreach with better approach
03:23 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/71fab40e99
03:23 timotimo nobody saw that.
03:31 timotimo now things are back to 20 failing tests :|
03:36 timotimo you know what. forget about all of this.
03:36 FROGGS[mobile] joined #moarvm
03:36 timotimo this never happened. until tomorrow. when i'll retry and not be as sleep deprived.
04:02 jnap joined #moarvm
04:31 diakopter timotimo: :) it's okay; we've all been there
05:15 * diakopter especially, apparently
05:23 timotimo diakopter: you were right about the remiander check
05:23 timotimo i should have listened to you immediately.
05:24 dalek MoarVM: 17effc2 | (Timo Paulssen)++ | src/ (2 files):
05:24 dalek MoarVM: fix div_i and div_I to floor rather than round towards 0
05:24 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/17effc2a94
05:24 dalek MoarVM: f2ce6f8 | (Timo Paulssen)++ | src/core/interp.c:
05:24 dalek MoarVM: gcd needs to abs both arguments before calculating
05:24 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f2ce6f8982
05:25 timotimo this makes rounders.t pass completely
05:25 timotimo maybe now i can fall asleep
05:25 diakopter timotimo: well, I'm quite certain that's not anywhere near the "right" way to do it, even if it works
05:25 timotimo are you sure?
05:25 diakopter for those tests
05:25 diakopter yea, I'm sure there's a branchless version
05:25 timotimo at least for the bigint stuff we get the remainder for free
05:25 timotimo well, since it's - 1 in the true case and - 0 in the not-true case, yeah
05:25 timotimo trivial branchless version
05:26 timotimo er ... except for the outer branch
05:26 timotimo but that can be done with a multiplication.
05:26 diakopter confounded again! ;)
05:26 timotimo the compiler (or the cpu, even) might be able to do this.
05:26 diakopter yeah
05:26 timotimo we're in the "make it work" stage right now anyway
05:26 diakopter the sufficiently smart compiler knows and sees all
05:27 diakopter well, enough, anyway
05:27 timotimo it certainly does
05:27 timotimo i wonder how the rest of rakudo copes with the div difference between jvm/moarvm and parrot
05:27 diakopter extremely sparse test coverage?
05:27 timotimo that must be it, yeah
05:28 * timotimo opens a quest on questhub
05:30 timotimo http://questhub.io/realm/perl/quest/52d0d752f6d3297c32000061
05:40 timotimo This type cannot unbox to a native string in method Str at src/gen/m-CORE.setting:1020
05:40 timotimo in method abs2rel at src/gen/m-CORE.setting:12607
05:40 timotimo in block frame_name_17 at t/spec/S32-io/io-spec-win.t:266
05:40 timotimo in block frame_name_1 at t/spec/S32-io/io-spec-win.t:257
05:40 timotimo i may look into this tomorrow :)
05:41 timotimo hmm: not ok 823 - Rat.Rat yields correct Rat
05:41 timotimo #      got: '301281685344656669 1250'
05:41 timotimo # expected: '301281685344656640 1250'
05:42 timotimo somehow a num got used instead of a big integer or something?
05:42 timotimo that difference is surprisingly big
05:43 timotimo Files=767, Tests=29473, 912 wallclock secs ( 8.16 usr  1.09 sys + 3192.27 cusr 69.95 csys = 3271.47 CPU)
05:44 timotimo the last entry in perl6_pass_rates.csv has 26962; is that Tests= number the number of succeeded tests or run tests?
05:45 timotimo anyway. bed.
08:06 jnthn Whoa...timotimo++ hacked all night...
08:16 jnthn timotimo: yay, rounders.t now passes fully for me too
08:19 ssutch joined #moarvm
08:23 eternaleye joined #moarvm
08:46 FROGGS[mobile] morning o/
08:46 Woodi joined #moarvm
11:09 cognominal joined #moarvm
11:10 jnthn Epic win! The lounge at Frankfurt has a drink-all-you-want weissbier tap
11:15 FROGGS \o/
11:15 FROGGS jnthn: what are you in frankfurt for?
11:17 jnthn FROGGS: Oh, just connecting here
11:17 FROGGS good :o)
11:18 jnthn It's miserable weather. :)
11:18 FROGGS it is very nice in berlin though
11:21 FROGGS[mobile] joined #moarvm
11:33 masak I can see Weissbier being very drink-all-you-want-able.
11:34 FROGGS[mobile] joined #moarvm
11:34 JimmyZ E:\OpenSource\MoarVM\install\bin\moar --libpath=src\vm\moar\stage0 src\v
11:34 JimmyZ m\moar\stage0\nqp.moarvm --bootstrap --setting=NULL --no-regex-lib --target=mbc
11:34 JimmyZ --output=gen\moar\stage1\nqpmo.moarvm gen\moar\stage1\nqpmo.nqp
11:34 JimmyZ MAST::Local index out of range
11:35 jnthn JimmyZ: You'll almsot certainly have an out of date something or other...
11:36 jnthn OK, got a patch here that puts the serialization blob into the bytecode file as is rather than base-64-ing it.
11:36 jnthn Shaves a whole megabyte off the build output of NQP
11:39 nwc10 cool
11:39 nwc10 when does your plane leave?
11:40 jnthn Boarding starts in 20 ins
11:40 jnthn *mins
11:41 nwc10 Boarding started here. (Into the car. It takes ages these days :-/)
11:44 masak O(@family)
11:44 jnthn make test in NQP used to be 23s on my laptop. Now it's 21s.
11:44 jnthn r: say 100 * 21 / 23
11:44 camelia rakudo-parrot 263aa0, rakudo-jvm 263aa0: OUTPUT«91.304348␤»
11:45 masak \o/
11:48 jnthn Shaved about 5MB off the memory used by nqp-m -e "while 1 { }" too
11:53 dalek MoarVM: cf39b8f | jonathan++ | src/ (5 files):
11:53 dalek MoarVM: Enable storing serialized data in bytecode section
11:53 dalek MoarVM:
11:53 dalek MoarVM: This avoids the whole base-64 of an MVMString and so forth, speeding
11:53 dalek MoarVM: both startup and compilation, cutting memory footprint and decreasing
11:53 dalek MoarVM: the disk size of NQP and Rakudo compilation output.
11:53 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/cf39b8fb56
11:56 jnthn flight &
12:43 FROGGS yay!!
12:43 FROGGS jnthn++
12:44 cognominal joined #moarvm
12:50 tadzik woot
12:56 timotimo yay!
12:56 timotimo a nice little gift before becoming tuitless for ... what was it, 6 days?
12:59 timotimo https://gist.github.com/timo/4b8885415dbef0928f02 \o/
13:00 diakopter I don't understand why I can't pull or --rebase pull the latest commits (since timotimo's merge) without making merge conflicts
13:01 timotimo it could very well be the case that you pulled one of my commits that i then hastily force-pushed over
13:01 diakopter seems so
13:01 diakopter how to fix
13:02 diakopter some kind of force pull?
13:02 timotimo git fetch
13:02 timotimo git reset --hard origin/master
13:04 nwc10 who becomes tuitless? :-(
13:04 diakopter yeah had to do that
13:04 timotimo jnthn said so
13:04 timotimo "22:52 < jnthn> btw, I probably won't have many tuits at all during the next 5-6 days."
13:04 timotimo diakopter: sorry :(
13:05 nwc10 aha
13:05 timotimo but i think you were the only unfortunate soul who got to download these completely botched commits
13:05 diakopter I think he will have some p6 tuits ;)
13:07 timotimo mayhaps
13:10 diakopter I like how Git Extensions now automatically fetches in teh background every few minutes
13:11 diakopter there's a bunch of nom commits in rakudo (back to 9 days) that aren't in moar-support
13:12 diakopter (wouldn't that skew the test comparisons?)
13:12 timotimo my change for chained abverbs would, but only 2 tests in total i believe
13:13 timotimo not sure if the "not set an encoding" commit changes test pass rate
13:13 diakopter oh
13:24 cognominal joined #moarvm
13:47 JimmyZ jnthn: I still got 'MAST::Local index out of range' after updating nqp && moarvm
13:48 timotimo :o
13:48 timotimo but how? :(
13:48 diakopter JimmyZ: you almost certainly need to make realclean or hard reset
13:51 JimmyZ I did do `git clean -xdf' and `git reset HEAD --hard`
14:18 diakopter did you update submodules?
14:18 diakopter (maybe something there?)
14:18 diakopter all three, rakudo, nqp, and moarvm trees
14:18 diakopter (clean/hard I mean)
14:35 FROGGS[mobile] joined #moarvm
14:41 lue joined #moarvm
15:54 lue joined #moarvm
16:51 FROGGS[mobile] joined #moarvm
18:04 FROGGS[mobile] joined #moarvm
18:07 ssutch joined #moarvm
19:04 dalek MoarVM: 3293aaf | (Tobias Leich)++ | / (6 files):
19:04 dalek MoarVM: add op uniisblock to look up unicode blocks directly
19:04 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/3293aaf873
19:04 dalek MoarVM: 4e2fe17 | (Tobias Leich)++ | / (3 files):
19:04 dalek MoarVM: add block lookup, and (evil) hack for property value lookups
19:04 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4e2fe1754b
19:21 * FROGGS creates his own rakudo.moar_summary.out
19:23 diakopter :)
19:44 [Coke] oh, we probably have a new one..
19:46 [Coke] as of a few hours ago:
19:46 FROGGS[mobile] joined #moarvm
19:46 [Coke] +"total",     27135,  1060,   641,  1384, 29729, 28495
19:46 [Coke] r: say 27135/28454 # moar today
19:46 camelia rakudo-parrot 263aa0, rakudo-jvm 263aa0: OUTPUT«0.953644␤»
19:58 FROGGS[mobile] joined #moarvm
20:07 FROGGS mine:
20:07 FROGGS "Synopsis", "pass","fail","todo","skip","plan","spec"
20:07 FROGGS "total",     27460,   686,   639,  1383, 29652, 28495
20:08 FROGGS r: say 27460/28454
20:08 camelia rakudo-parrot 263aa0, rakudo-jvm 263aa0: OUTPUT«0.965066␤»
20:12 grondilu 96.5% ?  nice
20:18 FROGGS[mobile] joined #moarvm
21:34 nwc10 slow thing is, well, slow:  7977 nicholas  30  10  382m 359m  14m R 99.4  0.4   3600:00 moar
21:34 FROGGS :o)
23:17 timotimo but still awesome :D

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary