Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-11-09

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:13 eviltwin_b joined #perl6
00:17 tokuhirom joined #perl6
00:18 envi_ joined #perl6
00:25 allbery_b joined #perl6
00:26 dorlamm joined #perl6
00:27 molaf joined #perl6
00:31 eviltwin_b joined #perl6
00:32 clairvy joined #perl6
00:35 icovnik joined #perl6
00:46 allbery_b joined #perl6
00:48 allbery_b joined #perl6
00:50 replore_ joined #perl6
00:52 eviltwin_b joined #perl6
01:00 eviltwin_b joined #perl6
01:02 linguini joined #perl6
01:09 allbery_b joined #perl6
01:15 benabik joined #perl6
01:21 worr joined #perl6
01:23 eviltwin_b joined #perl6
01:28 simcop2387 joined #perl6
01:49 Alias joined #perl6
01:51 hypolin joined #perl6
01:53 geekosaur joined #perl6
02:09 eviltwin_b joined #perl6
02:15 eviltwin_b joined #perl6
02:23 eviltwin_b joined #perl6
02:25 geekosaur joined #perl6
02:32 abercrombie joined #perl6
02:33 dalek 6model: fe6b2b0 | diakopter++ | lua/runtime/ (3 files):
02:33 dalek 6model: minor efficiency improvements
02:33 dalek 6model: review: https://github.com/diakopte​r/6model/commit/fe6b2b097f
02:39 dalek 6model: 98852e3 | diakopter++ | lua/runtime/Try.lua:
02:39 dalek 6model: _
02:39 dalek 6model: review: https://github.com/diakopte​r/6model/commit/98852e38c4
02:40 eviltwin_b joined #perl6
02:48 ribasushi joined #perl6
02:52 djanatyn joined #perl6
02:53 Tene joined #perl6
02:53 Tene joined #perl6
02:54 ribasushi_ joined #perl6
02:59 Trashlord joined #perl6
03:01 eviltwin_b joined #perl6
03:03 eviltwin_b joined #perl6
03:19 geekosaur joined #perl6
03:21 satyavvd joined #perl6
03:23 cognominal joined #perl6
03:24 cognominal joined #perl6
03:32 eviltwin_b joined #perl6
03:35 wolfman2000 joined #perl6
03:38 geekosaur joined #perl6
03:41 eviltwin_b joined #perl6
03:45 cooper joined #perl6
03:47 eviltwin_b joined #perl6
03:53 eviltwin_b joined #perl6
03:54 clairvy joined #perl6
04:03 clairvy joined #perl6
04:17 eviltwin_b joined #perl6
04:22 eviltwin_b joined #perl6
04:29 mishin joined #perl6
04:32 mishin Hi perl 6, i try Gabor presentation http://www.youtube.com/watch?v=​2M3f3uAqMWg&feature=related abot perl 6 irc
04:33 mishin rakudo:say 44*33
04:33 mishin perl6: say 33*22
04:33 p6eval pugs b927740, rakudo 198513, niecza v11-22-gbebf7a0: OUTPUT«726␤»
04:51 mkramer joined #perl6
05:08 daniel-s joined #perl6
05:08 Trashlord joined #perl6
05:11 mkramer joined #perl6
05:13 orafu joined #perl6
05:14 eviltwin_b joined #perl6
05:19 eviltwin_b joined #perl6
05:21 kaleem joined #perl6
05:22 clairvy joined #perl6
05:22 geekosaur joined #perl6
05:23 japhb .u PLUS MINUS
05:23 phenny U+00B1 PLUS-MINUS SIGN (±)
05:26 Trashlord joined #perl6
05:34 kaleem joined #perl6
05:35 kaleem joined #perl6
05:42 kaleem joined #perl6
05:42 kaleem joined #perl6
05:43 diakopter .
05:45 sorear good * #perl6
05:45 diakopter o/
05:51 geekosaur joined #perl6
06:01 Trashlord joined #perl6
06:15 moritz \o
06:15 phenny moritz: 08 Nov 22:20Z <jnthn> tell moritz I created the bigint branch in Rakudo. It needs the bigint branch of NQP installed. It's ready to start switching to use the new ops and triaging.
06:17 geekosaur joined #perl6
06:26 eviltwin_b joined #perl6
06:26 sorear o/ moritz
06:28 Trashlord joined #perl6
06:30 rhr joined #perl6
06:34 Trashlord joined #perl6
06:36 koban joined #perl6
06:59 eviltwin_b joined #perl6
07:11 geekosaur joined #perl6
07:13 wtw joined #perl6
07:14 dalek nqp/bigint: 6426a56 | moritz++ | src/ (2 files):
07:14 dalek nqp/bigint: nqp_bigint_bool op (checks != 0)
07:14 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/6426a56c7f
07:17 eviltwin_b joined #perl6
07:17 Woodi joined #perl6
07:32 Vlavv_ joined #perl6
07:38 jnthn moritz: Did the normal istrue not work?
07:38 jnthn morning, btw :)
07:39 jnthn moritz: I didn't expect us to need an nqp_bigint_bool style op
07:40 cognominal morning
07:40 tadzik morning
07:41 jnthn for example, this already Just Works:
07:41 jnthn > if 0 { say "lol" }
07:41 jnthn Nil
07:41 jnthn > if 1 { say "lol" }
07:41 jnthn lol
07:42 wk joined #perl6
07:45 tadzik lol
07:49 mishin joined #perl6
07:49 Vlavv_ joined #perl6
07:51 jnthn commute time, bbs
07:54 geekosaur joined #perl6
07:55 moritz jnthn: it unboxes to int, which might fail when an Int is too big to unbox losslessly into an int
07:55 moritz I mean, the bool test might fail
07:55 mberends joined #perl6
07:56 allbery_b joined #perl6
08:07 alim joined #perl6
08:15 carlin joined #perl6
08:17 simcop2387 joined #perl6
08:30 geekosaur joined #perl6
08:33 geekosaur joined #perl6
08:39 moritz perl6: say 2 ** 20
08:39 p6eval pugs b927740, rakudo 198513, niecza v11-22-gbebf7a0: OUTPUT«1048576␤»
08:40 mj41 joined #perl6
08:42 moritz perl6: say 2 ** 20 * 1.8
08:42 p6eval pugs b927740, rakudo 198513: OUTPUT«1887436.8␤»
08:42 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«9437184/5␤»
08:45 geekosaur joined #perl6
08:46 flight16 joined #perl6
08:49 moritz nqp: say(pir::lcm__Iii(50, 45))
08:49 p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I102')␤  in file '(file unknown)' line 40␤␤»
08:49 moritz nqp: say(pir::lcmd__Iii(50, 45))
08:49 p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I102')␤  in file '(file unknown)' line 40␤␤»
08:51 dalek nqp/bigint: 1db0ea8 | moritz++ | src/ (2 files):
08:51 dalek nqp/bigint: fix a few ops, moritz--
08:51 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/1db0ea8d12
09:19 eviltwin_b joined #perl6
09:25 flussence joined #perl6
09:35 dakkar joined #perl6
09:43 mj41 joined #perl6
09:45 jrockway joined #perl6
09:45 geekosaur joined #perl6
09:46 envi_ joined #perl6
09:53 eviltwin_b joined #perl6
09:55 simcop2387 joined #perl6
09:59 cognominal joined #perl6
10:22 Khisanth joined #perl6
10:22 simcop2387 joined #perl6
10:22 dalek rakudo/bigint: fb5b1b9 | moritz++ | / (2 files):
10:22 dalek rakudo/bigint: start to switch to bigint ops
10:22 dalek rakudo/bigint:
10:22 dalek rakudo/bigint: This breaks spectest horribly, and I do not understand the failure mode
10:22 dalek rakudo/bigint: It says "get_boxed_ref could not unbox for the given representation" in
10:22 dalek rakudo/bigint: sub infix:<->, but when I test infix:<-> in isoluation, I cannot reproduce that failure mode
10:22 dalek rakudo/bigint: review: https://github.com/rakudo/rakudo/commit/fb5b1b995e
10:28 dakkar joined #perl6
10:41 jnthn Wow. Took me a couple of hours to get from the door of $dayjob to my keyboard today :)
10:42 jnthn moritz: Oh. I bet the failure you're seeing is due to scalar containers not being removed first.
10:43 simcop2387 joined #perl6
10:43 moritz jnthn: that's what I thought first too, but I did write infix:<-> as nqp::sub_I(nqp::p6decont($a), nqp::p6decont($b));
10:43 jnthn moritz: (too big to unbox losslessly) but 0 will always unbox to 0, and I assume everything else will unbox to non-zero even if it does overflow?
10:44 jnthn moritz: yeah, that should handle it
10:45 moritz I'm not sure what mp_get_int() does on overflow
10:47 * jnthn guesses MAX_INT or so
10:47 jnthn Would have to check
10:49 moritz oh
10:49 moritz it bit-ors all digits
10:49 jnthn ok
10:49 jnthn So
10:49 moritz erm
10:49 moritz no
10:49 jnthn It's never going to be zero
10:49 * moritz stupid
10:49 moritz res = DIGIT(a,i);
10:49 moritz while (--i >= 0) {
10:49 moritz res = (res << DIGIT_BIT) | DIGIT(a,i);
10:49 moritz }
10:49 * jnthn suspects moritz isn't stupid, but sometimes he doesn't quite C so well ;)
10:49 moritz DIGIT_BIT is about 60
10:50 jnthn ah
10:50 moritz so it shifts it, ignores overflow, and bit-ors the least significant digit to it
10:50 jnthn *nod*
10:50 moritz so, could be 0
10:50 jnthn yeah :/
10:52 jnthn Will have to ponder this a bit. But it needs to be some kinda upgrade to the boolification protocol
10:52 jnthn Rather than an op
10:53 jnthn moritz: curious, does it only fail for infix:<->?
10:53 jnthn (in the spectest)
10:53 jnthn Or was that just an example?
10:54 moritz jnthn: that's how all the backtraces look like
10:54 moritz seems to be triggered by a rather common operation
10:54 moritz likely something in Test.pm
10:58 * jnthn would be curious to see the full backtrace
10:58 alvis joined #perl6
10:59 moritz jnthn: https://gist.github.com/be33fed37436cab21d6c
10:59 simcop2387 joined #perl6
10:59 jnthn is_runtime?
10:59 moritz oh, is_runtime is part of the backtrace printer, I think
10:59 jnthn hmm, meta-fail
10:59 jnthn yeah
11:00 jnthn Does @array.end actually work?
11:00 moritz oh, because I'm stupid
11:01 moritz running with --ll-exception shows that it's from postfix:<++>
11:01 moritz and that contains  nqp::add_I(nqp::p6decont($a), 1)
11:01 moritz and since add_I is a nqp_bigint_add__PPP, it boxes 1 to a parrot Integer, I supose
11:01 moritz and can't unbox it to bigint
11:02 jnthn brb, lunch
11:04 eviltwin_b joined #perl6
11:09 daxim joined #perl6
11:11 simcop2387 joined #perl6
11:12 icovnik joined #perl6
11:17 geekosaur joined #perl6
11:17 ab5tract joined #perl6
11:21 Mowah_ joined #perl6
11:59 simcop2387 joined #perl6
12:03 clairvy joined #perl6
12:08 azatoth_work joined #perl6
12:09 azatoth_work left #perl6
12:11 jnthn back
12:11 jnthn moritz: I'm surprised if it's emitting a 1 there rather than the boxed object.
12:13 jnthn Would be worth checking the code to see...
12:16 Psyche^ joined #perl6
12:26 bluescreen10 joined #perl6
12:38 koban left #perl6
12:39 mkramer joined #perl6
12:39 mkramer left #perl6
12:47 shinobicl hi
12:48 envi_ joined #perl6
12:49 alim joined #perl6
12:50 envi_ joined #perl6
13:04 molaf joined #perl6
13:11 geekosaur joined #perl6
13:16 eviltwin_b joined #perl6
13:23 dalek rakudo/bigint: 88158ac | moritz++ | src/core/Int.pm:
13:23 dalek rakudo/bigint: a few fixes, still completely broken
13:23 dalek rakudo/bigint: review: https://github.com/rakudo/rakudo/commit/88158acf84
13:23 kaleem_ joined #perl6
13:31 jnthn moritz: Still the infix:<-> issue?
13:33 jnthn Those p6box_i should really not be needed...if they are, some code-gen thingy is busted.
13:33 jnthn Will investigate this evening, anyways.
13:35 geekosaur joined #perl6
13:37 moritz jnthn: https://gist.github.com/1351446 that's the current status
13:38 moritz I've added a nqp::p6decont around the 'self' in Int.Bool (because I didn't know what else to try), no luck so far
13:39 moritz maybe adding more diagnostics to the get_boxed_ref error would make things a bit clearer
13:39 jnthn well, self shouldn't ever be in a container though
13:39 moritz thought so, but wasn't sure
13:40 jnthn What does Int.Bool look like?
13:40 moritz multi method Bool(Int:D:) {
13:40 moritz nqp::p6bool(nqp::bool_I(nqp::p6decont(self)));
13:40 moritz }
13:40 moritz thing is
13:40 moritz $ ./perl6 -e 'say ?3'
13:40 moritz Bool::True
13:40 moritz works
13:41 jnthn say ?(my $x = 3)
13:41 jnthn ?
13:41 moritz same
13:41 jnthn say 3.Bool ?
13:41 moritz also works
13:41 jnthn hm. wtf. :S
13:41 moritz it seems all the errors come from loading/using Test.pm
13:41 moritz so it might be codegen thing
13:42 jnthn And...only in some cases?
13:42 jnthn Or use Test always fails?
13:42 moritz 'use Test;' fails
13:42 moritz ... if precompiled
13:43 moritz otherwise it's dog slow, but at least 'use Test; plan 3' seems to work
13:43 jnthn oh!
13:43 jnthn It's only a pre-compilation bug, then?
13:43 moritz seems like
13:43 jnthn ah
13:44 jnthn OK, that's a really good hint.
13:46 moritz I've now manually deleted the Test.pir dependency from Makefile and running a spectest
13:46 moritz much less epic failure :-)
13:46 jnthn aha
13:47 moritz (so far only 2 subtests failig in S02-literals/radix.rakudo, no surprise here)
13:47 moritz literal handling isn't updated to bigints yet
13:47 alim joined #perl6
13:47 jnthn yeah
13:48 moritz $ ./perl6 -e 'my $fac = 1; $fac *= $_ for 1..30; say $fac'
13:48 moritz 265252859812191058636308480000000
13:48 moritz niecza: my $fac = 1; $fac *= $_ for 1..30; say $fac
13:48 p6eval niecza v11-22-gbebf7a0: OUTPUT«265252859812191058636308480000000␤»
13:48 moritz \o/
13:49 ruoso joined #perl6
13:49 fsergot hi #perl6 o/
13:50 jnthn moritz: yay!
13:52 clairvy joined #perl6
13:53 [Coke] moritz: yay.
13:53 [Coke] Does this need testing on windows ?
13:53 moritz [Coke]: it's not yet in a state where you can run 'make spectest'
13:55 [Coke] hokay.
13:56 moritz but when it is, we'll need the testing, yes
13:56 clairvy joined #perl6
13:59 Sarten-X joined #perl6
14:00 [Coke] if I checked out the branch in rakudo, would --gen-parrot DTRT?
14:00 moritz nope
14:00 moritz hm, or maybe
14:01 * [Coke] kicks off a regular windows build, it's been months.
14:01 clairvy joined #perl6
14:01 jnthn Not yet.
14:02 fsergot joined #perl6
14:02 moritz jnthn: I've bumped NQP_REVISION to something in the nqp/bigint branch
14:02 moritz (in the rakudo/bigint branch)
14:02 moritz so it should work after all
14:02 clairvy joined #perl6
14:02 benabik joined #perl6
14:05 jnthn moritz: ah, ok, I missed that :)
14:05 moritz (wasn't in a commit message, I think)
14:06 [Coke] jnthn: I can't build on windows. whoops.
14:06 clairvy joined #perl6
14:07 jnthn [Coke]: I do it every day ;)
14:07 jnthn [Coke]: What compiler?
14:07 jnthn What Perl?
14:07 clairvy joined #perl6
14:07 [Coke] VS 2010 express, AS perl.
14:07 [Coke] dies in nqp.
14:07 jnthn Ah. :/
14:07 jnthn That's normally a winning combination.
14:07 [Coke] (ugh. and remaking after the failure in nqp remakes /everything/)
14:07 jnthn On bigint branch?
14:08 [Coke] jnthn: yes, I switched to it on your advice. ;)
14:08 [Coke] jnthn: nope.
14:08 jnthn Really odd
14:08 jnthn Oh
14:08 [Coke] nom on rakudo.
14:08 jnthn How does it explode?
14:08 moritz what's the error?
14:08 [Coke] getting there. ;)
14:08 jnthn And is there an old libparrot.dll in your nqp directory?
14:09 [Coke] https://gist.github.com/1351532
14:09 clairvy joined #perl6
14:10 [Coke] nothing matching libparrot under nqp\
14:10 [Coke] I could probably stand to do a real clean of rakudo and try again.
14:10 jnthn [Coke]: Try
14:10 jnthn copy install\bin\libparrot.dll nqp
14:10 jnthn (from the Rakudo directory)
14:11 [Coke] jnthn: argh, too late. ;)
14:11 [Coke] I'll let you know if it dies after a clean start.
14:12 clairvy joined #perl6
14:12 [Coke] arggggh. can't use raw --gen-parrot when you're going over an http proxy.
14:15 geekosaur joined #perl6
14:15 clairvy joined #perl6
14:16 clairvy joined #perl6
14:17 dalek rakudo/bigint: 513f055 | moritz++ | src/core/Int.pm:
14:17 dalek rakudo/bigint: switch more ops to bigint
14:17 dalek rakudo/bigint: review: https://github.com/rakudo/rakudo/commit/513f055d75
14:18 clairvy joined #perl6
14:18 moritz nom: say (-3.6).Int
14:18 p6eval nom 198513: OUTPUT«-3␤»
14:19 moritz nom: say (-3.6).perl
14:19 p6eval nom 198513: OUTPUT«-18/5␤»
14:19 moritz nom: say (-18 div 5)
14:19 p6eval nom 198513: OUTPUT«-3␤»
14:19 clairvy joined #perl6
14:21 japhb Am I correct in assuming that nqp::substr(), because it produces a native string, creates a GCable, whereas nqp::ord(), because it produces a native int, does not?
14:21 jnthn japhb: yes
14:21 [Coke] jnthn: same failure on a clean build.
14:21 jnthn [Coke]: Try the copy I suggested
14:22 jnthn then nmake again in nqp directory
14:22 japhb jnthn, great, thanks.
14:22 clairvy joined #perl6
14:22 * japhb sees a few places to trade off a couple nqp:: ops against a GCable, which feels like a net win
14:23 japhb (of course, profiling will tell)
14:23 clairvy joined #perl6
14:23 jnthn :)
14:23 jnthn Creating less garbage is generally good :)
14:24 localhost joined #perl6
14:25 [Coke] jnthn: that did it. evil; nqp should be linking against the install dir.
14:25 sayu joined #perl6
14:25 clairvy joined #perl6
14:26 japhb jnthn, yeah, that was my thought.  Especially because in these spots, the substring was only being used to compare against a single-character constant string, and then thrown away.
14:26 [Coke] jnthn++
14:26 geekosaur joined #perl6
14:27 clairvy joined #perl6
14:27 [Coke] https://gist.github.com/1351578 # rakudo build failure
14:28 [Coke] (making another copy of libparrot.dll...)
14:28 clairvy joined #perl6
14:29 jnthn japhb: Yeah, that's a bit of a waste
14:29 clairvy joined #perl6
14:34 kmwallio joined #perl6
14:35 clairvy joined #perl6
14:36 clairvy joined #perl6
14:38 * [Coke] opens a ticket on the libparrot copying.
14:38 [Coke] jnthn: are you getting spectest failures?
14:38 [Coke] (and/or hanging tests?)
14:39 clairvy joined #perl6
14:39 jnthn [Coke]: No hangs on 64 bit. On 32 bit, yes...
14:39 jnthn [Coke]: Thus the bigint work ;)
14:39 geekosaur joined #perl6
14:40 clairvy joined #perl6
14:41 clairvy joined #perl6
14:47 clairvy joined #perl6
14:47 fsergot joined #perl6
14:48 overrosy joined #perl6
14:49 eviltwin_b joined #perl6
14:49 clairvy joined #perl6
14:49 fhelmberger joined #perl6
15:00 clairvy joined #perl6
15:10 clairvy joined #perl6
15:15 pmurias joined #perl6
15:15 pmurias awwaiid: hi
15:15 kfo_ joined #perl6
15:15 geekosaur joined #perl6
15:16 awwaiid hiya
15:16 awwaiid I pulled your change last night and pushed up a new release :)
15:17 pmurias thanks
15:19 pmurias what namespace should the GDB backend go into Devel::ebug::GDB or Devel::ebug::Backend::GDB?
15:19 eviltwin_b joined #perl6
15:22 clairvy joined #perl6
15:23 awwaiid Devel::ebug::Backend::GDB
15:23 tadzik I'd go for Devel::Debug :)
15:23 awwaiid tadzik, Devel::ebug already exists, and is cute bcause then it is perl -d:ebug
15:24 geekosaur joined #perl6
15:26 awwaiid pmurias, one thing that I haven't poked at yet are all of the plugins. Looks like there is a 1-to-1 correspondence between Devel::ebug::Plugin::* and Devel::ebug::Backend::Plugin::* . We'll probably have to make that more resiliant and modular for backends that don't support each plugin, is my guess.
15:27 sayu joined #perl6
15:29 thou joined #perl6
15:29 pmurias awwaiid: printing an appropriate error message seems to be the best we can do
15:32 clairvy joined #perl6
15:36 awwaiid yes, I think so. But not crash.
15:36 awwaiid bbiab, $work
15:40 moritz jnthn: I've traced at least one of the failures in arith.rakudo to bad literal -> number conversion, so that seems like the next area to work on after the codegen thing
15:40 eviltwin_b joined #perl6
15:41 jnthn moritz: ok
15:41 jnthn moritz: Thsoe may be related though
15:41 jnthn (since it's something to do with literals in the code gen that fails)
15:41 jnthn (or so it looks like)
15:43 sorear good * #perl6
15:44 moritz the fanciest number literal in Test.pm is 1_000_000 :-)
15:44 moritz \o sorear
15:46 clairvy joined #perl6
15:52 clairvy joined #perl6
15:53 geekosaur joined #perl6
15:54 jnthn decommute &
15:54 clairvy joined #perl6
15:59 clairvy joined #perl6
16:06 eviltwin_b joined #perl6
16:09 clairvy joined #perl6
16:15 geekosaur joined #perl6
16:15 DarthGandalf joined #perl6
16:16 clairvy joined #perl6
16:18 kaleem joined #perl6
16:18 clairvy joined #perl6
16:27 clairvy joined #perl6
16:28 overrosy joined #perl6
16:29 mkramer joined #perl6
16:31 clairvy joined #perl6
16:31 * jnthn home
16:32 clairvy joined #perl6
16:34 kaleem joined #perl6
16:35 clairvy joined #perl6
16:36 mkramer left #perl6
16:37 clairvy joined #perl6
16:48 dalek nqp/bigint: 302cc17 | jnthn++ | src/ (2 files):
16:48 dalek nqp/bigint: Merge branch 'bigint' of github.com:/perl6/nqp into bigint
16:48 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/302cc1705d
16:51 jnthn oops, rebase fail
16:52 jnthn moritz: Seems I forgot to push 71c9c2b last night
16:52 clairvy joined #perl6
16:52 jnthn moritz: It may help with $weird-issue
16:53 jnthn (with Test.pm)
16:54 jnthn moritz: Yeah, seems to
16:55 clairvy joined #perl6
16:57 eviltwin_b joined #perl6
16:58 clairvy joined #perl6
17:08 wk joined #perl6
17:08 clairvy joined #perl6
17:11 japhb Man http://perlcabal.org/syn/S02.html#Literals is a lot of work ...
17:12 clairvy joined #perl6
17:12 tadzik TimToady action figure: https://joindiaspora.s3.amazonaws.com/uploads​/images/scaled_full_71e35fd883d8ea41165c.jpeg
17:13 MayDaniel joined #perl6
17:13 colomon awesome!
17:13 tadzik indeed
17:13 tadzik I'd buy that
17:13 clairvy joined #perl6
17:13 tadzik odd that I can link to an image, but can't link to a diaspora post
17:16 geekosaur joined #perl6
17:17 clairvy joined #perl6
17:18 colomon I assume it's a custom one-off figure?
17:18 tadzik no idea
17:19 clairvy joined #perl6
17:25 clairvy joined #perl6
17:26 opmenow joined #perl6
17:29 opmenow left #perl6
17:30 moritz it's #phaers time
17:30 am0c joined #perl6
17:31 * jnthn hands moritz an s :)
17:32 geekosaur joined #perl6
17:32 bluescreen10 joined #perl6
17:33 clairvy joined #perl6
17:34 icovnik joined #perl6
17:35 clairvy joined #perl6
17:39 moritz nom: '(a)' ~~ /'(' ~ ')' <alpha> / and say $<alpha>
17:39 p6eval nom 198513: OUTPUT«Any()␤»
17:40 moritz nom: '(a)' ~~ /'(' <alpha> ')' / and say $<alpha>
17:40 p6eval nom 198513: OUTPUT«=> <a>␤␤»
17:41 jnthn moritz: If you got chance to check - did my latest nqp patch help with the Test.pm issue for you?
17:41 clairvy joined #perl6
17:41 jnthn nom: 'a,a,a' ~~ /<alpha> ** ','/ and say $<alpha>
17:42 p6eval nom 198513: OUTPUT«=> <a>␤ => <a>␤ => <a>␤␤»
17:43 moritz jnthn: haven't checked yet
17:43 jnthn k
17:44 jnthn moritz: Any idea why loads of trig tests fail?
17:45 moritz jnthn: probably because Rat literals with many digits don't work
17:45 clairvy joined #perl6
17:45 moritz and Num too
17:45 jnthn nom: say -1.56079666010823
17:45 p6eval nom 198513: OUTPUT«-1.56079666010823␤»
17:45 moritz $ ./perl6 -e 'say -1.56079666010823'
17:45 moritz -2.00571435998317
17:45 jnthn heh, yes
17:45 moritz on the bigint branch
17:46 * jnthn wonders wtf causes that...
17:47 japhb Don't know if it applies to the main parse, but since I noticed it in Str.Numeric: Is nqp::radix() fixed to not just carry a FLOATVAL internally in the bigint branch?
17:48 clairvy joined #perl6
17:49 jnthn nom: say 554474183 / 276447232
17:49 p6eval nom 198513: OUTPUT«2.00571435998317␤»
17:49 clairvy joined #perl6
17:50 eviltwin_b joined #perl6
17:51 clairvy joined #perl6
17:52 moritz jnthn: nqp::radix should be upgraded to use bigint, I think
17:52 moritz erm, meant japhb
17:53 geekosaur joined #perl6
17:53 clairvy joined #perl6
17:54 jnthn nom: my $x = 1; $x +&= 2; say $x;
17:54 p6eval nom 198513: OUTPUT«0␤»
17:54 japhb moritz: yeah, a lot of stuff in Str.Numeric gets a lot slower if nqp::radix is unreliable.  :-)
17:54 jnthn > my $x = 1; $x +&= 2; say $x;
17:54 jnthn Bool::False
17:54 jnthn wtf...
17:54 jnthn > my $x = 1; say $x +& 2; say $x;
17:54 jnthn grr
17:54 jnthn nom: my $x = 1; say $x +& 2
17:54 p6eval nom 198513: OUTPUT«0␤»
17:54 clairvy joined #perl6
17:55 jnthn > my $x = 1; say $x +& 2
17:55 jnthn Bool::False
17:55 jnthn hm :)
17:55 moritz uhm
17:55 moritz moritzfail, probably
17:55 jnthn nqp::p6bool(nqp::bitand_I(nqp::p6decont($a), nqp::p6decont($b)))
17:55 jnthn that shoudln't bool, right? :)
17:56 moritz right
17:56 moritz just nqp::bitand(...)
17:56 moritz bitand_I
17:56 clairvy joined #perl6
17:56 jnthn fixing
17:56 moritz sorry 'bout that
17:56 moritz jnthn: nqp patch helped
17:57 jnthn OK good
17:57 jnthn How does arith.t fail for you, occ?
17:57 jnthn Here it doesn't even compile
17:58 moritz iirc it failed two tests, one of them at least due to the literals
17:59 moritz oh, and it seems to emit extra debug info (wtf?)
17:59 moritz ok 125 - Inf**NaN
17:59 moritz 3
17:59 moritz not ok 126 - Modulo zero dies and is catchable# TODO modulo by zero
17:59 moritz 0
17:59 moritz the 3 and 0 shouldn't be there
18:02 dalek rakudo/bigint: 7b75f75 | jnthn++ | src/core/Int.pm:
18:02 dalek rakudo/bigint: Remove accidental boolification.
18:02 dalek rakudo/bigint: review: https://github.com/rakudo/rakudo/commit/7b75f754b3
18:02 clairvy joined #perl6
18:06 jnthn ok, I have some dinner, then I'll look at literals.
18:18 eviltwin_b joined #perl6
18:20 clairvy joined #perl6
18:21 clairvy joined #perl6
18:29 vmspb joined #perl6
18:29 clairvy joined #perl6
18:34 wolfman2000 joined #perl6
18:35 clairvy joined #perl6
18:37 dual joined #perl6
18:38 clairvy joined #perl6
18:38 Vlavv_ joined #perl6
18:52 clairvy joined #perl6
18:53 simcop2387 joined #perl6
18:58 mj41 joined #perl6
19:02 clairvy joined #perl6
19:07 clairvy joined #perl6
19:08 Trashlord joined #perl6
19:09 clairvy joined #perl6
19:10 clairvy joined #perl6
19:13 vmspb joined #perl6
19:13 clairvy joined #perl6
19:17 clairvy joined #perl6
19:22 bluescreen10 joined #perl6
19:26 ulfffff joined #perl6
19:34 mikemol joined #perl6
19:36 clairvy joined #perl6
19:36 masak evening, #perl6
19:36 * masak missed #phasers bŭ some margin tonight
19:37 mj41 joined #perl6
19:37 masak by*
19:38 jdhore1 joined #perl6
19:43 ksi joined #perl6
19:43 clairvy joined #perl6
19:44 fridim_ joined #perl6
19:45 clairvy joined #perl6
19:46 jnthn o/ masak
19:51 clairvy joined #perl6
19:55 plobsing joined #perl6
19:57 dalek 6model: a7073fd | diakopter++ | lua/ (15 files):
19:57 dalek 6model: more minor optimizations
19:57 dalek 6model: review: https://github.com/diakopte​r/6model/commit/a7073fd2d7
20:00 geekosaur joined #perl6
20:00 clairvy joined #perl6
20:01 ab5tract joined #perl6
20:03 MayDaniel joined #perl6
20:07 jnthn oh ffs
20:07 jnthn Parrot's ops2c parser can't handle case 'b':
20:07 jnthn that is, a case statement with a non-integer
20:08 clairvy joined #perl6
20:10 tadzik eww
20:11 jnthn There's 15 minutes wasted. :/
20:12 jnthn It can't handle a cast to unsigned char either :/
20:12 Trashlord joined #perl6
20:13 clairvy joined #perl6
20:25 clairvy joined #perl6
20:31 clairvy joined #perl6
20:33 clairvy joined #perl6
20:48 clairvy joined #perl6
20:51 jnthn oh huh
20:51 jnthn We handle <integer> using nqp_radix
20:51 jnthn Which...goes via a floating point conversion
20:52 clairvy joined #perl6
20:53 nebuchadnezzar joined #perl6
20:53 jnthn How was this ever going to handle big integer literals :/
20:53 benabik jnthn: Poorly.
20:54 clairvy joined #perl6
20:58 jnthn Heck, I guess it doesn't even do sizable 64-bit integers properly.
20:58 * jnthn didn't realize the "just float it" mentality had seeped this deep :(
21:03 [Coke] float it specifically as a data type, or more as a stylistic "just do whatever works for now" ?
21:04 jnthn [Coke]: The data type.
21:04 jnthn japhb: ping
21:14 clairvy joined #perl6
21:24 shinobicl joined #perl6
21:25 clairvy joined #perl6
21:26 japhb jnthn, pong
21:27 jnthn japhb: I'm currently looking at the number handling. I believe you're looking at similarish stuff.
21:27 jnthn japhb: Have you been looking at nqp::radix?
21:27 jnthn japhb: I'm currently working on a version that works with bigint rather than float...
21:28 jnthn I'm then planning to use it from the grammar too
21:28 jnthn Does this sound reasonable?
21:29 japhb jnthn, I noted that nqp::radix was likely wrong because of carrying things as FLOATVAL, which I mentioned earlier.  I figured you or moritz would most likely need to rewrite it in that branch, so I've been hands-off.  I'm working on Str.Numeric(), which uses nqp::radix() a lot, but I'm working around the lack of precision for now.
21:29 jnthn japhb: OK. I see it outputs three things
21:30 masak 'night, #perl6
21:30 jnthn japhb: Which of those do you use?
21:30 jnthn o/, masak
21:30 japhb It makes sense to me to use it in the grammar too; it looked like pretty tight code.
21:30 japhb jnthn, all three.
21:30 japhb And I'm using all the flags, too.  :-)
21:30 clairvy joined #perl6
21:30 japhb But I'm happy to refactor if it makes your life easier.
21:31 japhb (That is, after all, half of what I'm doing anyway.)
21:31 jnthn OK, that means I need to hand the lot of them back :)
21:31 jnthn My idea is that you'll give in one extra argument
21:31 jnthn which is the target type
21:31 jnthn Int in our case.
21:31 japhb As opposed to?
21:31 jnthn So you'd get three (Perl 6) Int objects back
21:32 jnthn Today it hands back Parrot floats.
21:32 japhb I meant, as opposed to what else would you ask for after the rewrite?
21:32 japhb Wow, English fail there.  Hopefully you know what I meant.
21:33 japhb When would you not ask for Int, in other words?
21:34 jnthn japhb: Well, it's more than I'm showing the op in nqp_bigint.ops
21:35 jnthn japhb: Which doesn't know about Perl 6's Int type.
21:35 jnthn er, shoving
21:35 jnthn not showing :)
21:35 clairvy joined #perl6
21:36 jnthn Just a layer thing :)
21:36 japhb Ah, I get it.
21:36 japhb nodnod
21:36 jnthn Anyway, from your perspective it should be pretty easy to switch, and you'll get better precision.
21:36 moritz \o
21:36 jnthn o/ moritz
21:36 japhb jnthn, excellent, thank you.
21:37 jnthn japhb: Thanks for the context on how the ops is being used
21:37 jnthn japhb: oh, one more thing...
21:37 jnthn The second output value...base
21:37 japhb yes ...?
21:38 jnthn If this was to be a Rat, would that be the denominator?
21:38 jnthn And the first thing the numerator?
21:38 jnthn Or am I mis-thinking?
21:38 clairvy joined #perl6
21:38 jnthn oh hm
21:38 jnthn yeah, I think I am :)
21:38 japhb It is used when handling '123.456'
21:38 jnthn oh
21:38 jnthn Does the op parse the .?
21:38 * jnthn doesn't see that
21:38 japhb The '456' would return 1000 as the base
21:39 jnthn oh, I see
21:39 japhb It tells you how much to divide the fractional part to make a num, or multiply the int part to make a Rat
21:39 japhb Does that make sense?
21:39 jnthn Yes, very much so
21:40 jnthn So this can go a long way to replacing radcalc too
21:40 jnthn OK, seems good.
21:40 * japhb goes to look at radcalc ...
21:40 jnthn Anyway, standardizing the grammar and .Numeric on such an op seems sane.
21:41 jnthn moritz: Feel free to review japhb++ and my discussion to make sure it makes sense to you too ;)
21:41 clairvy joined #perl6
21:42 japhb It looks like radcalc does more than nqp::radix but less than Str.Numeric.  :-)
21:42 moritz correct
21:43 clairvy joined #perl6
21:43 moritz jnthn: will do the review tomorrow
21:43 japhb Oh, interesting way to calc the radix in a '0n' style prefix.
21:44 moritz note that the tommath string parsing function can handle different bases, but doesn't offer the same flexibility as nqp::radix
21:44 japhb I note in passing that radcalc allows uppercase (e.g. '0X') prefixes, but TimToady seemed to dislike that.
21:44 clairvy joined #perl6
21:45 jnthn moritz: OK. I'm going to be a bit time-limited tomorrow; I may push what I have tomorrow and you can pick it up tomorrow if you like.
21:45 jnthn er, push tonight :)
21:45 moritz ok
21:45 * moritz -> sleep
21:45 clairvy joined #perl6
21:45 japhb 0/
21:46 japhb heh, I have a tall head today apparently
21:46 moritz jnthn: one more thing, the ops2c not liking (unsigned char) is probably fixed in newest parrot
21:46 jnthn moritz: ah, ok
21:46 moritz in 53994ea940f93311b57f28fc0964707bddf0b947
21:46 * moritz -> really sleep
21:46 jnthn o/
21:47 clairvy joined #perl6
21:49 skangas joined #perl6
21:50 clairvy joined #perl6
21:51 Lorn joined #perl6
21:51 clairvy joined #perl6
21:55 clairvy joined #perl6
21:57 kboga joined #perl6
22:03 clairvy joined #perl6
22:07 mattp_ joined #perl6
22:09 dalek nqp/bigint: bb5f116 | jnthn++ | src/ops/nqp_bigint.ops:
22:09 dalek nqp/bigint: bigint variant of the nqp radix op.
22:09 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/bb5f11675e
22:10 jnthn OK, that needs tests etc, but I don't have concentration for it tonight.
22:10 kboga hello jnthn, sorry to bother you. I was wondering if you  were planning on making the slides that accompanied your latest talk on "optimizing Rakudo" available on the net?
22:10 jnthn kboga: yes, certainly
22:10 kboga awesome, thanks :)
22:11 Lorn joined #perl6
22:16 clairvy joined #perl6
22:18 MayDaniel joined #perl6
22:24 clairvy joined #perl6
22:24 mattp_ joined #perl6
22:31 clairvy joined #perl6
22:35 Lothar joined #perl6
22:39 clairvy joined #perl6
22:40 aloha joined #perl6
22:42 jnthn I blug: http://6guts.wordpress.com/2011/11/09/slid​es-from-my-optimizing-rakudo-perl-6-talk/
22:42 jnthn kboga: ^^
22:45 PZt joined #perl6
22:46 Chillance joined #perl6
22:49 clairvy joined #perl6
22:51 jnthn sleep &
22:52 kboga good night, and thanks again
22:54 icwiener joined #perl6
22:56 clairvy joined #perl6
23:03 clairvy joined #perl6
23:07 clairvy joined #perl6
23:07 sorear good * #perl6
23:13 bazqux joined #perl6
23:13 clairvy joined #perl6
23:16 japhb o/ sorear
23:17 clairvy joined #perl6
23:24 clairvy joined #perl6
23:34 clairvy joined #perl6
23:42 clairvy joined #perl6
23:42 kboga left #perl6
23:44 clairvy joined #perl6
23:46 clairvy joined #perl6
23:46 alim joined #perl6
23:46 clairvy joined #perl6
23:52 clairvy joined #perl6
23:55 whiteknight joined #perl6
23:56 clairvy joined #perl6
23:59 clairvy joined #perl6

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

Perl 6 | Reference Documentation | Rakudo