Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-01-15

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:06 molaf_ joined #perl6
00:09 cognominal_ joined #perl6
00:10 dalek niecza: 8031a73 | sorear++ | / (5 files):
00:10 dalek niecza: mergeback; fix tests
00:10 dalek niecza: review: https://github.com/sorear/niecza/commit/8031a73fca
00:13 dalek zavolaj: e8e83dc | jnthn++ | README.markdown:
00:13 dalek zavolaj: First crack at documenting array and struct usage with Zavolaj.
00:13 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/e8e83dc84a
00:15 tadzik jnthn: in #136 you used binding again, correct?
00:19 jnthn tadzik: oops, the point was meant to be that assignment would work too :)
00:20 tadzik that's what I thought :)
00:20 dalek zavolaj: fdf8cff | jnthn++ | README.markdown:
00:20 dalek zavolaj: Fix example to show what I'd intended; tadzik++ for noticing.
00:20 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/fdf8cffc5c
00:20 jnthn Mmm...this porter beer is really nice :)
00:22 dalek zavolaj: 617a14c | jnthn++ | README.markdown:
00:22 dalek zavolaj: Fix another thinko.
00:22 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/617a14cb14
00:27 colomon niecza: say $*EXECUTABLE_NAME
00:27 p6eval niecza v13-258-gbe89d96: OUTPUT«/home/p6eval/niecza/run/Niecza.exe␤»
00:28 colomon sorear: that's a bit of a problem -- Test::Util expects that to be what you need to call to launch your p6
00:28 colomon if I add "mono" manually in Test::Util.pm, I can actually start running is_run tests.
00:33 dalek rakudo/nom: 4cb15ac | tadzik++ | src/core/ (4 files):
00:33 dalek rakudo/nom: Implement postcircumfix:<( )> for Enumeration; make <=>, cmp and leg return Order rather than Ints
00:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4cb15ac8a3
00:33 tadzik that makes us pass most of t/spec/S03-operators/comparison.t
00:34 tadzik nom: class Blue { method Numeric() { 3; } }; Blue.new < 5
00:34 p6eval nom d1c15f: OUTPUT«No applicable candidates found to dispatch to for 'Real'. Available candidates are:␤:(Mu:U\$v, Mu %_!)␤␤  in method Real at src/gen/CORE.setting:657␤  in sub infix:<<> at src/gen/CORE.setting:2279␤  in block <anon> at /tmp/ASwULTfaBv:1␤  in <anon> at /tmp/ASwULTfaBv:1…
00:36 jnthn tadzik: nom: class Blue { method Real() { 3; } }; Blue.new < 5
00:36 jnthn rt
00:36 jnthn er
00:36 jnthn nom: class Blue { method Real() { 3; } }; Blue.new < 5
00:36 p6eval nom d1c15f:  ( no output )
00:36 jnthn tadzik++ # great
00:37 jnthn Feel free to fudge it (or fix remaning ;-)) and add to t/spectest.data; mark any we regressed with "nom regression" to help us track 'em. :)
00:37 * jnthn goes for some rest
00:37 jnthn night o/
00:37 tadzik yeah, I'm on it
00:37 tadzik g'night!
00:39 dalek roast: cf895c7 | tadzik++ | S03-operators/comparison.t:
00:39 dalek roast: nom fudging
00:39 dalek roast: review: https://github.com/perl6/roast/commit/cf895c7926
00:40 dalek rakudo/nom: 9a1e643 | tadzik++ | t/spectest.data:
00:40 dalek rakudo/nom: Run S03-operators/comparison.t
00:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a1e6432fa
00:43 dalek roast: 9b2b19b | (Solomon Foster)++ | packages/Test/Util.pm:
00:43 dalek roast: Hack to make Test::Util work with Niecza.
00:43 dalek roast: review: https://github.com/perl6/roast/commit/9b2b19bdda
00:46 dalek roast: 2beed8f | (Solomon Foster)++ | S (2 files):
00:46 dalek roast: Fix broken test (post gist changes).  Fudge for niecza.
00:46 dalek roast: review: https://github.com/perl6/roast/commit/2beed8f0eb
00:47 tadzik g'night
00:50 dalek niecza: 0b5d2f8 | (Solomon Foster)++ | t/spectest.data:
00:50 dalek niecza: Turn on S32-io/note.t.
00:50 dalek niecza: review: https://github.com/sorear/niecza/commit/0b5d2f8468
00:51 shinobicl_ left #perl6
00:58 colomon sorear: exit 5 returns 256 * 5 from the program.  by design, I'm assuming?
00:58 sjohnson joined #perl6
00:59 sjohnson :3
00:59 xinming joined #perl6
01:05 dalek roast: f4ea721 | (Solomon Foster)++ | S29-context/die.t:
01:05 dalek roast: Tweak tests.  Unfudge tests that now work for niecza.
01:05 dalek roast: review: https://github.com/perl6/roast/commit/f4ea721101
01:20 colomon niecza: say $*PID
01:20 p6eval niecza v13-260-g0b5d2f8: OUTPUT«Any()␤»
01:21 dalek niecza: d5501c7 | (Solomon Foster)++ | t/spectest.data:
01:21 dalek niecza: Turn on S02-magicals/args.t.
01:21 dalek niecza: review: https://github.com/sorear/niecza/commit/d5501c7dc1
01:36 chinyaw joined #perl6
01:37 sorear colomon: it looks like whoever added system made it return the raw result of system(3), which is a wait(2) code
01:38 colomon errr.... yeah, that would be me.
01:38 am0c joined #perl6
01:38 colomon what should it be doing?
01:39 chinyaw helo, yesterday some one here helped me in question about assembly. but not worked, i need to change value on the top of the floating point register stack , i think its called st(0). how can i do that? **i now this is not perl so if u do not like please just ignore my message :(
01:44 sorear chinyaw: I need to understand WHY you want to do this.
01:45 sorear colomon: check out S2x and Rakudo's behavior, I guess
01:47 chinyaw sorear: i think it was you? :$ i needed to change value of fstp qword ptr [ebx+000007C0] so that it return something else without messing all the code, simple mov did not work :( so i think of change value on top of stack just before the fstp qword ptr [ebx+000007C0] command may let me have the value i need in ebx+000007C0
01:48 geekosaur my question is why ask here?  we're not in general assembler programmers, certainly not with intel syntax
01:48 sorear chinyaw: you shouldn't be using st(0) in amd64 code anyway
01:48 sorear I'm an assembler programmer but chinyaw needs to be broken first
01:48 sorear ey is still thinking in an XY problem modality
01:49 chinyaw sorear: i think you are right
01:50 sorear I get the idea that you're trying to write a routine that can be called from C?
01:50 chinyaw sorear: yes it is my homework for monday :(
01:50 cognominal joined #perl6
01:51 sorear assuming you're on Unix you should read http://www.x86-64.org/documentation/abi.pdf for information on returning values
01:51 sorear honesty, that's rare in this day and age
01:52 sorear x86-64 code is supposed to use the SSE subunit for floating point operations
01:53 sorear the return value stuff is on page 22
01:54 chinyaw oh i will read it looks interesting thank you sorear
01:54 sorear floating point values should be returned in %xmm0
01:54 sorear which I guess is XMM0 in Intel syntax
01:55 sorear XMM0 is just a register; you can mov stuff into it
01:55 sorear they give 15-year-olds assembly language homework where you live?  I'm jealous
01:59 chinyaw no only me and 2 students, i like PIC and microchip and played with 8085 then they give me homework and more study :(
01:59 sorear this looks like a live reference, http://courses.engr.illinois.edu/ece390/archi​ve/spr2002/books/labmanual/inst-ref-fld.html
02:00 sorear if you showed your entire function using a pastebin I might be able to see the problem
02:05 chinyaw sorear: i will read links and pdf you send and if i fail to solve it i pastpin for you :)
02:06 chinyaw sorear: i also write few nice things i can share with you later
02:06 chinyaw bye
02:07 colomon niecza: say()
02:07 p6eval niecza v13-260-g0b5d2f8: OUTPUT«␤»
02:07 wolfman2000 joined #perl6
02:16 packetknife joined #perl6
02:23 dalek roast: 2fb42f9 | (Solomon Foster)++ | S16-io/bare-say.t:
02:23 dalek roast: Clean up dodgy tests.  Fudge for niecza.
02:23 dalek roast: review: https://github.com/perl6/roast/commit/2fb42f90a7
02:29 colomon niecza: [].WHAT.say
02:29 p6eval niecza v13-260-g0b5d2f8: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 958 (warn @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 187 (Mu.Str @ 10) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.settin…
02:31 thou joined #perl6
02:35 dalek roast: e2135fe | (Solomon Foster)++ | integration/weird-errors.t:
02:35 dalek roast: Fudge for niecza.
02:35 dalek roast: review: https://github.com/perl6/roast/commit/e2135fe893
02:39 dalek roast: be71d77 | (Solomon Foster)++ | S32-basics/warn.t:
02:39 dalek roast: Fudge for niecza.
02:39 dalek roast: review: https://github.com/perl6/roast/commit/be71d77e34
02:42 zjmarlow joined #perl6
02:42 zjmarlow joined #perl6
02:57 dalek roast: 9201d36 | (Solomon Foster)++ | S06-operator-overloading/methods.t:
02:57 dalek roast: Fudge for niecza.
02:57 dalek roast: review: https://github.com/perl6/roast/commit/9201d3674c
03:01 colomon niecza: my $a; $a += 1
03:01 p6eval niecza v13-260-g0b5d2f8: OUTPUT«Use of uninitialized value in numeric context␤  at /home/p6eval/niecza/lib/CORE.setting line 958 (warn @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 212 (Any.Numeric @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/c8FKDf3u70 line 0 (mainli…
03:02 dalek roast: 7e4bed3 | (Solomon Foster)++ | S32-scalar/undef.t:
03:02 dalek roast: Clean up niecza fudging.
03:02 dalek roast: review: https://github.com/perl6/roast/commit/7e4bed37a6
03:03 dalek roast: 0b1dbdd | (Solomon Foster)++ | S12-construction/BUILD.t:
03:03 dalek roast: Refudge for niecza.
03:03 dalek roast: review: https://github.com/perl6/roast/commit/0b1dbdd293
03:04 dalek niecza: 18552f1 | (Solomon Foster)++ | t/spectest.data:
03:04 dalek niecza: Turn on test files that now work.
03:04 dalek niecza: review: https://github.com/sorear/niecza/commit/18552f1de4
03:24 thou joined #perl6
03:38 Psyche^ joined #perl6
03:40 orafu joined #perl6
04:04 colomon sorear: https://gist.github.com/1614246 # I'm pretty sure at least the "MakeFloat" is wrong... betting you can figure the right way to say this faster than I can describe what I don't understand.  :)
04:05 sorear colomon: What's the difference between .Bridge and .Numeric?
04:08 sorear I'm a little suprised that compiles
04:08 sorear The main reason it doesn't work is that RunInferior and GetInferiorRoot aren't pairs
04:08 sorear paired
04:09 sorear something like
04:10 colomon .Bridge is the Real method to return a Num (may be something more general than a Num on hypothetical implementations).  .Numeric can return any Numeric type.
04:10 sorear o = Kernel.RunInferior(o.InvokeMet​hod(Kernel.GetInferiorRoot(), "Bridge", new Variable[] { v }, null)).Fetch();
04:10 sorear then copy lines 10-14
04:11 sorear that will allow Bridge to return any primitive numeric type
04:11 sorear why Real and not Numeric, btw?
04:12 zjmarlow joined #perl6
04:12 colomon not sure I understand the question?
04:13 sorear class FunnyComplex does Numeric { method Bridge() { 1+2i } } # why isn't this allowed?
04:13 colomon ..... it's an interesting thought
04:14 colomon the specific reason for Bridge is to enable Reals from different sources to still communicate with each other.
04:16 colomon but extending it to Numeric (and requiring to output core numeric types) might be a different and somewhat more powerful way of getting the same effect.
04:16 colomon I'm going to have to sleep on that one.  :)
04:21 colomon Have first Real.Bridge test working locally.  Going to bed now.  o/
04:23 sorear \o/
04:50 worr joined #perl6
07:25 kaare_ joined #perl6
07:25 araujo joined #perl6
07:25 araujo joined #perl6
07:51 dalek niecza: d6e29a5 | sorear++ | / (8 files):
07:51 dalek niecza: First batch of changes to remove "use"-dependencies from niecza
07:51 dalek niecza: review: https://github.com/sorear/niecza/commit/d6e29a539f
07:51 dalek niecza: f5fd473 | sorear++ | / (13 files):
07:51 dalek niecza: Finish removing "easy" cases of direct cross-module class referencing
07:51 dalek niecza: review: https://github.com/sorear/niecza/commit/f5fd473f34
08:04 moritz \o
08:04 phenny moritz: 14 Jan 19:39Z <jnthn> tell moritz I changed Numeric to a role. It was trouble-free. I did similar with Real, and it fails various tests. If you fancy having a look, see the real-trouble branch; feel free to toss it back to me if you don't have a good idea of a fix.
08:05 phenny moritz: 14 Jan 19:39Z <jnthn> ask moritz are there any branches you've started that are blocked on me taking a look at them?
08:05 moritz jnthn++ "real-trouble" :)
08:06 sayu joined #perl6
08:25 sorear o/ moritz
08:27 moritz \o sorear
08:30 moritz jnthn: re real-trouble, I have an idea what's going on here
08:31 moritz method numeric methods (for example .exp) work like this in nom:
08:31 moritz there's a method in Real, which redispatches to self.Bridge.Num
08:31 moritz erm, self.Bridge.exp
08:32 moritz and the result type of the .Bridge call needs to have an .exp method that actually does the work
08:32 moritz and our bridge type is Num
08:32 moritz now we compose Real into Num (instead of an inheritance relation)
08:33 moritz and we get both multi methods (the one that does the work, and the one from Real that just re-dispatches), and of course they have the same signature, so we get an ambiguous dispatch
08:35 moritz nom: role A { method x() { } }; class B does A { }; say A.^can('x').[0]
08:35 p6eval nom 9a1e64: OUTPUT«x␤»
08:35 moritz nom: role A { method x() { } }; class B does A { }; say A.^can('x').[0].signature.params[0].type
08:35 p6eval nom 9a1e64: OUTPUT«A()␤»
08:36 rindolf joined #perl6
08:37 sorear o/ rindolf
08:37 [Coke] # 01/14/2012 - niecza at 97.37% - gains yesterday in both compilers, but the niecza % is unchanged.
08:37 sorear unchanged?!
08:38 sorear cool, my XCompose has ‽
08:38 rindolf sorear: hi.
08:40 moritz nom: roles a { multi method x() { 'a' } }; class b does a { multi method x() { 'b' } }; say b.x
08:41 p6eval nom 9a1e64: OUTPUT«(timeout)Useless declaration of a has-scoped multi-method in mainline␤»
08:41 moritz perl6: role a { multi method x() { 'a' } }; class b does a { multi method x() { 'b' } }; say b.x
08:41 p6eval rakudo 9a1e64: OUTPUT«(timeout)»
08:41 p6eval ..niecza v13-264-gf5fd473: OUTPUT«b␤»
08:41 p6eval ..pugs b927740: OUTPUT«a␤»
08:41 sorear nom: roles a { }
08:41 p6eval nom 9a1e64: OUTPUT«(timeout)»
08:42 sorear 1. known niecza bug
08:42 sorear 2. what did I just do to nom?
08:42 moritz I have no idea
08:42 sorear nom: roles
08:42 p6eval nom 9a1e64: OUTPUT«(timeout)»
08:42 sorear nom: say 5
08:42 p6eval nom 9a1e64: OUTPUT«5␤»
08:42 sorear nom: role
08:43 p6eval nom 9a1e64: OUTPUT«(timeout)»
08:43 sorear nom: rol
08:43 moritz sorear: what's the correct answer? ambiguous dispatch?
08:43 sorear moritz: I think so
08:43 p6eval nom 9a1e64: OUTPUT«(timeout)»
08:43 sorear nom: a
08:43 moritz locally I get "CHECK FAILED:
08:43 moritz Undefined routine '&roles' called (line 1)
08:43 moritz "
08:43 p6eval nom 9a1e64: OUTPUT«(timeout)»
08:43 sorear looks like p6eval can't make a check fail
08:44 sorear moritz: the fix is to not use multi methods
08:44 sorear moritz: with 0 arguments a multi is kinda pointless anywya
08:44 moritz oh, I'm on a different branch
08:44 moritz sorear: not if you want the option to add another multi with higher arity
08:45 moritz sorear: or if you want to dispatch based on :D/:U
08:45 sorear idea for an optimization with huge winness: short-circuit the multi dispatcher when there's only one candidate
08:46 moritz is there a way to ignore/override all the multis from a role, and declare new multis instead?
08:47 sorear don't think so
08:52 cognominal_ joined #perl6
09:01 [Coke] that test run of mine was HOURS ago, though. I'll do a new run after I wake up.
09:09 GlitchMr joined #perl6
09:17 swapnil joined #perl6
09:18 * sorear -> sleep
09:26 cognominal joined #perl6
09:56 cognominal_ joined #perl6
10:00 masak morning, #perl6
10:03 DarthGandalf joined #perl6
10:06 moritz indeed, on nom the reporting of undeclared routines is busted (loops)
10:06 moritz \o masak
10:08 masak o/
10:08 masak sorear++ # chiyaw management
10:08 masak chinyaw*
10:09 moritz with --ll-exception it doesn' loop
10:09 masak <colomon> .Bridge is the Real method to return a Num (may be something more general than a Num on hypothetical implementations).  .Numeric can return any Numeric type.
10:09 masak would it make sense to rename .Bridge to .Num ?
10:09 masak I don't like designing for hypothetical implementations. :/
10:18 donri joined #perl6
10:19 muixirt joined #perl6
10:20 muixirt good morning
10:22 donri ohai
10:23 muixirt neither nom nor niecza like http://rosettacode.org/wiki/Sort​ing_algorithms/Merge_sort#Perl_6
10:24 donri maybe http://perl6.org/compilers/features knows why
10:25 moritz muixirt: in what way don't they like it?
10:26 muixirt nom goes into infinite loop and niecza prints a (unhelpful for me) error message
10:28 cognominal joined #perl6
10:29 zamolxes joined #perl6
10:35 muixirt with Rakudo Star 2011.07 it works fine
10:39 Trashlord joined #perl6
10:46 * muixirt fears the silence
10:50 masak muixirt: Sundays tend to be a bit slow here :)
10:51 cognominal joined #perl6
10:57 muixirt nom: my @a=1,2,3,4; my @b=@a[2 ..^ @a]; say @b; my @c=@b[1 ..^ @b]; say @c
10:57 p6eval nom 9a1e64: OUTPUT«3 4␤4␤»
10:58 masak last value should be 2 3 4, no?
10:58 masak no wait.
10:58 tokuhirom joined #perl6
10:58 masak no, it's correct.
10:58 cognominal joined #perl6
10:59 muixirt masak: the thing is that this line sends my nom into a endless loop
10:59 * muixirt rebuilds nom
10:59 masak :)
11:01 muixirt niecza: my @a=1,2,3,4; my @b=@a[2 ..^ @a]; say @b; my @c=@b[1 ..^ @b]; say @c
11:01 p6eval niecza v13-264-gf5fd473: OUTPUT«3 4␤4␤»
11:02 muixirt interesting...
11:11 muixirt masak: I rebuilt nom and it's almost a success, no endless loop anymore, but:
11:11 muixirt input  = 6 7 2 1 8 9 5 3 4
11:11 muixirt output = 6 7 2 1 8 9 5 3 4
11:12 masak muixirt: feel free to find out why. :)
11:12 muixirt a fresh niecza does the job
11:13 panterax joined #perl6
11:25 fridim joined #perl6
11:47 whiteknight joined #perl6
11:52 dalek roast: 70df7d9 | moritz++ | S05-metasyntax/interpolating-closure.t:
11:52 dalek roast: simplify interpolating-closure.t, and add tests for RT #102860
11:52 dalek roast: review: https://github.com/perl6/roast/commit/70df7d91aa
11:52 muixirt the merge_sort version of Util works with 2011.07 but not with my fresh nom. Due to spec changes?
11:56 masak don't think so.
11:56 * masak looks
11:56 moritz nom: my @a = 2; say (0..^@a).list.perl
11:56 p6eval nom 9a1e64: OUTPUT«(0,).list␤»
11:56 moritz nom: my @a = 2, 3, 4; say (0..^@a).list.perl
11:56 p6eval nom 9a1e64: OUTPUT«(0, 1, 2).list␤»
11:57 moritz nom: my @a = 2, 3, 4; say @a[2..^@a]
11:57 p6eval nom 9a1e64: OUTPUT«4␤»
11:57 moritz looks correct so far
11:59 masak muixirt: I see nothing strange in the code. nothing to do with spec changes either.
11:59 masak my local nom hangs. rebuilding it now.
12:34 muixirt nom: for 0 .. 3 -> $n { say $n }
12:34 p6eval nom 9a1e64: OUTPUT«(timeout)»
12:37 masak o.O
12:37 masak nom: for 0 .. 3 -> $n { say $n }
12:37 p6eval nom 9a1e64: OUTPUT«(timeout)»
12:38 muixirt is it only me or is --target=pir code even harder to read?
12:40 jnthn Why on earth is p6eval giving timeouts all over the place? :/
12:40 jnthn That code doesn't hang locally. The undeclared routines thing doesn't either.
12:40 masak muixirt: it's not just you. it's been illegible since the switch to nom.
12:41 * jnthn can read it :)
12:41 moritz 4cb15ac8a3d4c1c481e312cfb07658367f8935ad has caused the loop in CHECK failure reporting, it seems
12:41 moritz jnthn: which branch are you on?
12:41 jnthn Just skip the entire of the second sub down.
12:41 jnthn moritz: nom
12:41 jnthn oh
12:41 jnthn fatal: bad object 4cb15ac8a3d4c1c481e312cfb07658367f8935ad
12:41 moritz jnthn: did you read my analysis of the real-trouble trouble in the backlog?
12:41 moritz jnthn: git pull :-)
12:42 jnthn moritz: Yeah - I saw the multi conflict, but now I start to see why it happens.
12:43 jnthn huh, the Order patch caused the CHECK reporting failure?!
12:43 moritz only-methods in Real don't have that problem
12:43 jnthn moritz: Right, because there's no composition conflict there.
12:43 moritz jnthn: I kinda guess it broke some code in the exception handler, which now loops
12:44 jnthn moritz: The exception handler where?
12:44 moritz the one we install in src/core/Exception.pm
12:44 moritz becaues it doesn't hang with --ll-exception
12:45 muixirt nom: say ((1, 2) X ('a', 'b')).perl
12:45 p6eval nom 9a1e64: OUTPUT«((ListIter.new(),), (ListIter.new(),), (ListIter.new(),), (ListIter.new(),)).list␤»
12:45 moritz but that's just a guess... I see no reason why it might be involved with the 'for 1..3' hang
12:46 jnthn moritz: Does that hang for you locally too?
12:46 audio joined #perl6
12:47 * jnthn is building now
12:47 moritz jnthn: dunno, I need to recompile first to check
12:47 moritz I was bisecting the other hang
12:47 muixirt nom: for ^4 X ^4 -> Int $x, Int $y { say "x = $x\ty = $y"; }
12:47 p6eval nom 9a1e64: OUTPUT«x = 0        y = 0␤»
12:47 audio nom: my $d = Date.today; say ~$d;
12:47 p6eval nom 9a1e64: OUTPUT«(timeout)»
12:48 audio perl6:my $d = Date.today; say ~$d;
12:48 moritz it's also possible that I made a mistake while bisecting
12:48 moritz audio: need a space after the colon
12:49 audio perl6: my $d = Date.today; say ~$d;
12:49 audio thanks moritz
12:49 p6eval rakudo 9a1e64: OUTPUT«(timeout)»
12:49 p6eval ..niecza v13-264-gf5fd473: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared name:â�¤       'Date' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1144 (P6.comp_unit @ 32) â�¤  at /home/p…
12:49 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&Date"␤    at /tmp/77SPe2OCEM line 1, column 4-19␤»
12:49 jnthn moritz: Reproduced the hang locally.
12:50 audio curious ?  it works yesterday!
12:51 jnthn audio: Yeah, one of the last commits to Rakudo has broken something.
12:51 Trashlord joined #perl6
12:51 jnthn audio: And the p6eval here automatically builds the latest, so it's got a busted version at the moment :(
12:51 audio thanks jnthn!
12:56 jnthn nom: say Order::Increase < 1
12:56 p6eval nom 9a1e64: OUTPUT«Bool::True␤»
12:57 masak nom: say Order::increase < Order::Decrease
12:57 p6eval nom 9a1e64: OUTPUT«(timeout)»
12:57 masak nom: say Order::Increase < Order::Decrease
12:57 jnthn case-o
12:58 p6eval nom 9a1e64: OUTPUT«Bool::True␤»
12:58 jnthn nom: my $a = 1; my $b = 2; say $a cmp $b
12:58 p6eval nom 9a1e64: OUTPUT«Increase␤»
12:58 jnthn nom: my $a = 1; my $b = 2; say $a cmp $b < 0
12:58 p6eval nom 9a1e64: OUTPUT«Bool::False␤»
12:58 jnthn nom: my $a = 1; my $b = 2; say $a cmp $b < -1
12:58 p6eval nom 9a1e64: OUTPUT«Bool::False␤»
12:58 jnthn nom: my $a = 1; my $b = 2; say $a cmp $b < 1
12:59 p6eval nom 9a1e64: OUTPUT«Bool::True␤»
12:59 jnthn nom: my $a = 1; my $b = 2; my $c = 1; say ($a cmp $b) < $c
12:59 p6eval nom 9a1e64: OUTPUT«Bool::True␤»
12:59 masak jnthn: don't 'cmp' and '<' chain?
13:00 jnthn masak: Would that even make sense?
13:00 jnthn cmp doesn't return a boolean.
13:01 jnthn nom: say (1..3).ACCEPTS(2)
13:01 p6eval nom 9a1e64: OUTPUT«Bool::True␤»
13:03 jnthn nom: my $val = 0; my $cnt = 3; my $cmpstop = 1; say $val++ while ($val cmp $max) < $cmpstop;
13:03 masak jnthn: oh, right! never mind.
13:03 p6eval nom 9a1e64: OUTPUT«(timeout)»
13:04 tadzik goodmorning
13:04 masak nom: my $val = 0; say $val++ while ($val cmp 3) < 1
13:04 masak jnthn: yours shouldn't even parse.
13:04 p6eval nom 9a1e64: OUTPUT«(timeout)0â�¤1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â​�¤8â�¤9â�¤10â�¤11â�¤12â�¤13â�¤14â�¤15â�¤16â�¤17​â�¤18â�¤19â�¤20â�¤21â�¤22â�¤23â�¤24â�¤25â�¤26â�​¤27â�¤28â�¤29â�¤30â�¤31â�¤32â�¤33â�¤34â�¤35â�¤3​6â�¤37â�¤38â�¤39â�¤40â�¤41â�¤42â�¤43â�¤44â�¤45â​�¤46â�¤47â�¤48â�¤49â�¤50â�¤51â�¤52â�¤53â�¤54â�¤​55â�¤56â�¤57â�¤58â�¤59â�¤60â�¤61â�¤62â�¤63â�¤64​â�¤65â�¤66â�¤67â�¤68â�¤69â�¤70â�¤71â�¤72â�¤73â�​¤74â�¤75â�¤76â�¤77â�¤78â�¤79â�¤80â�¤81â�
13:04 masak tadzik: good afternoon :P
13:04 jnthn er. And that's where our hang is :P
13:05 jnthn We have a while loop just like that in Range :)
13:05 masak o.O
13:05 tadzik masak: don't even tell me! :)
13:05 jnthn nom: my $val = 0; (say $val++; say $val cmp 3) while ($val cmp 3) < 1
13:05 p6eval nom 9a1e64: OUTPUT«(timeout)0␤Increase␤1␤Increase␤2␤Same␤3​␤Decrease␤4␤Decrease␤5␤Decrease␤6␤Decrease␤7␤D​ecrease␤8␤Decrease␤9␤Decrease␤10␤Decrease␤11␤D​ecrease␤12␤Decrease␤13␤Decrease␤14␤Decrease␤15​␤Decrease␤16␤Decrease␤17␤Decrease␤18␤Decrease␤​19␤Decrease␤20␤Decrease␤21␤Decrease␤22␤Decrea…
13:06 jnthn nom: say +Order::Decrease
13:06 p6eval nom 9a1e64: OUTPUT«1␤»
13:06 jnthn nom: say Order::Decrease < 1
13:06 p6eval nom 9a1e64: OUTPUT«Bool::False␤»
13:07 jnthn nom: my $val = 4; say ($val cmp 4) < 1
13:07 p6eval nom 9a1e64: OUTPUT«Bool::True␤»
13:07 jnthn nom: my $val = 4; say $val cmp 4
13:07 p6eval nom 9a1e64: OUTPUT«Same␤»
13:07 jnthn argh!
13:07 jnthn nom: my $val = 3; say $val cmp 4
13:07 p6eval nom 9a1e64: OUTPUT«Increase␤»
13:07 jnthn nom: my $val = 3; say ($val cmp 4) < 1
13:07 p6eval nom 9a1e64: OUTPUT«Bool::True␤»
13:12 PacoAir joined #perl6
13:12 masak tadzik: Sun Jan 15 14:12:32 CET 2012 :P
13:14 tadzik shush masak!
13:14 tadzik I just woke up, so it's morning
13:14 tadzik and I don't accept any corrections. Even the sun is still shining :)
13:21 masak ;)
13:21 * masak likes to tease tadzik :)
13:22 colomon phenny: tell sorear I have real-bridge.t 98.5% working here, but am off to church before I can investigate the remaining 3 errors.
13:22 phenny colomon: I'll pass that on when sorear is around.
13:23 jnthn nom: say (3 cmp 4).Real
13:23 p6eval nom 9a1e64: OUTPUT«0␤»
13:23 jnthn nom: say (4 cmp 4).Real
13:23 p6eval nom 9a1e64: OUTPUT«0␤»
13:23 jnthn nom: say (4 cmp 5).Real
13:23 p6eval nom 9a1e64: OUTPUT«0␤»
13:23 jnthn Well. That golfs it.
13:26 jnthn wait, what...
13:26 jnthn say (4 cmp 5).WHAT
13:26 jnthn nom: say (4 cmp 5).WHAT
13:26 p6eval nom 9a1e64: OUTPUT«Str()␤»
13:26 jnthn nom: say Order.(1).WHAT
13:26 p6eval nom 9a1e64: OUTPUT«Str()␤»
13:26 jnthn tadzik: er. :)
13:27 tadzik huh
13:27 tadzik oh eww
13:27 jnthn self.enums.invert.hash{$x}
13:27 tadzik yeah, Enumerations.enums is a hash, int to string
13:27 tadzik yeap
13:40 dalek rakudo/nom: ecba5d0 | jnthn++ | src/ (2 files):
13:40 dalek rakudo/nom: Fix SomeEnum.(UnderlyingValue) to return the enum element, not a string representing it. Should also be more efficient.
13:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ecba5d0164
13:40 jnthn evalbot rebuild nom
13:40 p6eval OK (started asynchronously)
13:40 tadzik jnthn++
13:41 masak jnthn++
13:42 jnthn (Yes, that fixes the hangs also.)
13:45 masak oh, good. never quite liked those.
13:45 tadzik hangs?
13:45 masak tadzik: whilte you were asleep...
13:45 masak while*
13:45 masak :P
13:45 tadzik oh, okay :)
13:46 masak did you stay up all night solving p6cc tasks?
13:46 dalek Rebuild of nom complete.
13:46 masak dalek: wow, cool!
13:46 masak dalek++
13:46 nallar joined #perl6
13:46 tadzik masak: sadly, nope
13:47 tadzik I should have some time after I finish my C++ project and implement my filesystem
13:47 tadzik but that is next monday :/
13:47 DarthGandalf joined #perl6
13:47 tadzik which is untolerably too late
13:48 masak :/
13:48 tadzik studying. It hurts
13:48 masak well, better luck next year.
13:48 tadzik I didn't lose yet :)
13:49 masak let me just say this: you're currently not in the winning set as defined by RULES ;)
13:49 tadzik yeah, probably :)
13:55 masak but yeah, you didn't lose yet. I look forward to seeing solutions by you if you find the time.
13:55 tadzik at least some of them
13:59 Chillance joined #perl6
14:14 sayu joined #perl6
14:15 nallar joined #perl6
14:15 nallar joined #perl6
14:23 DarthGandalf joined #perl6
14:24 dalek roast: 3e278d8 | jnthn++ | S12-class/magical-vars.t:
14:24 dalek roast: Corrections and updates.
14:24 dalek roast: review: https://github.com/perl6/roast/commit/3e278d8734
14:24 dalek rakudo/nom: b86f3f2 | jnthn++ | src/Perl6/ (2 files):
14:24 dalek rakudo/nom: Add ::?FOO term parsing.
14:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b86f3f2bdf
14:24 dalek rakudo/nom: 78e6e17 | jnthn++ | src/Perl6/Grammar.pm:
14:24 dalek rakudo/nom: Some missing magicals.
14:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/78e6e17521
14:24 dalek rakudo/nom: 25aa058 | jnthn++ | src/Perl6/Metamodel/ParametricRoleHOW.pm:
14:24 dalek rakudo/nom: A parametric role should type check against its parametric role group.
14:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/25aa058539
14:24 dalek rakudo/nom: 0d42e16 | jnthn++ | t/spectest.data:
14:24 dalek rakudo/nom: Run S12-class/magical-vars.t.
14:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d42e1658d
14:27 dalek roast: 8d712ff | jnthn++ | S02-magicals/sub.t:
14:27 dalek roast: Fudge a test for Rakudo.
14:27 dalek roast: review: https://github.com/perl6/roast/commit/8d712ff02f
14:28 dalek rakudo/nom: 57e3f50 | jnthn++ | t/spectest.data:
14:28 dalek rakudo/nom: Run S02-magicals/sub.t.
14:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/57e3f50aa0
14:34 fsergot joined #perl6
14:35 fsergot o/ :)
14:39 jnthn hi fsergot
14:43 masak hello, fsergot
14:46 DarthGandalf joined #perl6
14:49 xinming joined #perl6
15:05 GlitchMr joined #perl6
15:09 icwiener joined #perl6
15:18 dalek roast: abf822f | jnthn++ | S12-attributes/class.t:
15:18 dalek roast: Do way instain tests.
15:18 dalek roast: review: https://github.com/perl6/roast/commit/abf822fda2
15:20 tadzik lots of tests expect Ints rather than Orders here and there
15:23 dalek roast: c75eb6c | jnthn++ | S12-attributes/class.t:
15:23 dalek roast: Fudge for Rakudo; eval => try eval since eval stopped catching exceptions.
15:23 dalek roast: review: https://github.com/perl6/roast/commit/c75eb6cdb1
15:24 jnthn tadzik: Oh? We got some regressions?
15:24 tadzik yeah
15:24 tadzik t/spec/S03-operators/spaceship.rakudo for example
15:25 tadzik I suppose the tests check for -1, 0, 1 rather than Order
15:25 tadzik also tests for X
15:26 jnthn Guess the tests want updating then.
15:26 tadzik aye
15:33 kst joined #perl6
15:36 pmurias joined #perl6
15:37 pmurias sorear: re commit d6e29a539f507c6818b527b5b9402b3a6cd27f2f, why?
15:41 * felher is in real trouble.
15:41 felher great branch-naming btw :)
15:44 jnthn ;)
15:48 dalek roast: c487222 | jnthn++ | S14-roles/mixin.t:
15:48 dalek roast: Fudge a (dubious) test.
15:48 dalek roast: review: https://github.com/perl6/roast/commit/c487222e2b
15:48 dalek rakudo/nom: a82ccc5 | jnthn++ | src/Perl6/Actions.pm:
15:48 dalek rakudo/nom: Support my $.x and our $.x, which are normal lexical/package variable declarations but also generate an accessor.
15:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a82ccc5a93
15:48 dalek rakudo/nom: 28a4286 | jnthn++ | t/spectest.data:
15:48 dalek rakudo/nom: Turn on S12-attributes/class.t.
15:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28a4286439
15:48 dalek rakudo/nom: 8dafbf9 | jnthn++ | src/Perl6/Actions.pm:
15:48 dalek rakudo/nom: Oops, busted a few things.
15:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8dafbf9ee9
15:49 saddy joined #perl6
15:56 colomon you know, we really ought to organize a weekly code review for roast.  there are piles of dubious tests in there, or tests that could be easily improved.
15:59 masak +1
15:59 tadzik woot http://conferences.yapceur​ope.org/gpw2012/talk/3965 got accepted
15:59 colomon tadzik++
16:00 * tadzik panics
16:00 jnthn My meta-programming one also just got approved :)
16:00 masak also -- woot -- http://conferences.yapceur​ope.org/gpw2012/talk/3961 :)
16:00 colomon \o/
16:00 masak GPW is gonna be great! :)
16:00 tadzik there are quite a few English talks, not bad :)
16:00 colomon German Perl Workshop?
16:00 masak Ja.
16:01 thou joined #perl6
16:01 jnthn German beer \o/
16:02 muixirt jnthn: no German beer for you, only hard work ;-)
16:02 jnthn OH NOES
16:02 jnthn How can I do hard work without beer? O.O
16:05 muixirt a lot of Perl 6 activity at the GPW
16:06 jnthn moritz++ is one of the organizers :)
16:06 masak moritz++
16:06 saddy joined #perl6
16:06 tadzik moritz++ indeed
16:07 jnthn masak: We should figger out how we're getting there at some point :)
16:08 saddy there is no way around 'ufo', 'p6-test-builder' and 'panda' to install bioperl6 within a working rakudo right?
16:08 tadzik no idea if bioperl6 works on Rakudo these days
16:09 saddy joined #perl6
16:10 saddy what a pity. no bioperl, no perl6
16:11 jnthn tadzik: Are you on clearing up the spectest fallout from Order?
16:12 arnsholt Well, bioperl is a pretty big project, so I'm sure help with bioperl6 would be appreciated
16:12 tadzik jnthn: nah, no tuits now :/
16:13 xinming joined #perl6
16:14 am0c joined #perl6
16:14 dalek rakudo/nom: 89ca806 | jnthn++ | src/ (2 files):
16:14 dalek rakudo/nom: Fix @a>>.() so that it works rather than exploding the compiler.
16:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/89ca806e75
16:14 kaare_ joined #perl6
16:15 saddy ok, i'll ask the repo master of bioperl6 if he could use my help
16:16 dalek niecza: 8e67156 | (Solomon Foster)++ | lib/ (2 files):
16:16 dalek niecza: Modify low-level GetNumber routine to handle non-core Real types as Nums using Bridge.  Add some basic methods to Real.
16:16 dalek niecza: review: https://github.com/sorear/niecza/commit/8e671567c6
16:16 dalek niecza: 6383a22 | (Solomon Foster)++ | t/spectest.data:
16:16 dalek niecza: Turn on S32-num/real-bridge.t.
16:16 dalek niecza: review: https://github.com/sorear/niecza/commit/6383a22086
16:16 dalek roast: 0b697d8 | (Solomon Foster)++ | S32-num/real-bridge.t:
16:16 dalek roast: Switch a few tests from is to a more sensible is_approx.
16:16 dalek roast: review: https://github.com/perl6/roast/commit/0b697d87cb
16:18 dalek roast: d68dbbf | jnthn++ | S (2 files):
16:18 dalek roast: Update a couple of tests for Order enum.
16:18 dalek roast: review: https://github.com/perl6/roast/commit/d68dbbf394
16:20 saddy joined #perl6
16:23 dalek roast: ddf434c | jnthn++ | S03- (3 files):
16:23 dalek roast: Another bunch of Order updates.
16:23 dalek roast: review: https://github.com/perl6/roast/commit/ddf434c5e0
16:30 saddy left #perl6
16:30 dalek roast: bb7b418 | jnthn++ | S03-operators/ (5 files):
16:30 dalek roast: Final (hopefully!) batch of Order updates.
16:30 dalek roast: review: https://github.com/perl6/roast/commit/bb7b418178
16:31 jnthn tadzik: OK, hopefully that lot takes care of it. :)
16:31 tadzik awesome :)
16:31 s1n joined #perl6
16:39 jakky left #perl6
16:41 hundskatt joined #perl6
16:50 rindolf joined #perl6
16:50 rindolf Hi all.
16:52 kaare__ joined #perl6
16:52 tadzik hey rindolf
16:52 rindolf tadzik: hi.
16:52 rindolf tadzik: what's up?
16:53 masak hi rindolf.
16:53 rindolf masak: hi, what's new?
16:53 tadzik rindolf: not bad. Fighting circularity in my C++ project
16:53 masak rindolf: busy, but with $work I love :)
16:54 rindolf masak: ah, I'm the opposite of busy.
16:54 masak rindolf: we're hiring.
16:54 rindolf masak: ah, what are the qualifications?
16:54 rindolf masak: I mean requirements.
16:55 rindolf masak: and I have a part-time job - only now I have a two weeks vacation or so.
16:55 rindolf masak: feel free to /msg me.
16:55 masak oh :)
16:55 masak I would, but I'm a bit busy ;)
16:55 rindolf masak: OK.
16:56 rindolf masak: then you can also email me at shlomif@shlomifish.org
16:57 masak rindolf: in short: we're a consulting firm, but we also teach courses and arrange events for programmers. working here makes you grow as a coder. we encourage employees to move to southern Sweden, where we are located.
16:59 Radvendii joined #perl6
16:59 Radvendii left #perl6
17:01 jnthn Southern Sweden is, like, the bit that ain't fall of bears. :)
17:01 jnthn *full
17:02 masak no, it's just that the bears are brown rather than white ;)
17:02 * geekosaur misreads ...full of beers
17:03 jnthn masak: shhh...you'll make me run away to Russ...oh wait...
17:04 kaare_ joined #perl6
17:05 kaare_ joined #perl6
17:06 masak jnthn: Russia doesn't have bears. they got tired of standing in line at for a visa.
17:06 masak jnthn: what you've seen on TV and similar are Russian cats. they're well-fed.
17:06 tadzik and they got stopped at the border for the posession of claws
17:07 * tadzik recalls stopping 10 kms before a Russian border to disassemble 19th century rifles so we'll get through
17:08 masak don't we all.
17:09 jnthn .oO( "You can only bring in rifles if you're smart enough to take them apart and put them back together again!" )
17:10 tadzik around 100-200 people were driving from Poland to Russia to participate in a battle reconstruction. The border guys were aware of it, but they still stopped every car and got angry about the guns
17:10 jnthn testneeded part of the queue now back up to 100 tickets :)
17:10 kaare__ joined #perl6
17:10 tadzik I can only imagine the "fun" that the artillery guys have had...
17:11 jnthn nom: say 663 - 100
17:11 p6eval nom 89ca80: OUTPUT«563␤»
17:11 * jnthn looks forward to getting that number down below 500.
17:11 masak tadzik: I'm sure in the original battle, Polish soldiers were also stopped at the border and searched for guns :P
17:11 tadzik :P
17:12 masak "what's this?" -- "um, it's a 17th-century rifle. it's... for a battle reconstruction!"
17:14 tadzik "okay, that's fine, but why do you drive horses in your cars?"
17:16 JimmyZ_ joined #perl6
17:17 tadzik I hope they'll chill out before Borodino
17:17 tadzik anyway, 563 tests? I seem to recall getting the below 450...
17:18 tadzik RT shows me 430 open tickets
17:19 jnthn Found 663 tickets (new or open)
17:19 jnthn testneeded queue has 100 on it.
17:19 jnthn That is, 100 of the new or open are testneeeded.
17:24 kaare_ joined #perl6
17:25 jnthn shop &
17:26 kaare__ joined #perl6
17:26 tadzik that's one good idea &
17:33 moritz it's fun to get karma for GPW 2012 organization during a program committee meeting for that very same workshop :-)
17:35 masak :D
17:48 moritz (we've approved all Perl 6 talks that have been submitted so far)
17:49 masak yeah, what's up with that? :P
17:49 moritz and the hackathon too
17:50 moritz what's up with what?
17:50 masak just trying to emulate an ani-p6 curmudgeon. :)
17:50 masak unsuccessfully. :P
17:50 jnthn Last time I went to a GPW everyone kept calling Perl 6 vaporware. This time, I'm going to run every single bit of code I show. :P
17:50 masak anti-p6*
17:51 masak "I wish they could stay home and work on releasing the damn thing instead of going to confs and giving talks about it..." :)
17:51 masak jnthn: well, Perl 6 it hot, that's for sure. ;)
17:51 colomon speaking of which, loliblogged: http://justrakudoit.wordpress.c​om/2012/01/15/last-piece-of-pi/
17:52 masak blasphemy! pi has no last piece!
17:52 * masak toggles his curmudgeon switch
17:53 masak colomon: totally agree with the bolded text. colomon++
17:53 jnthn colomon: Is the code somewhere, ooc?
17:53 colomon it's on RC
17:54 TimToady maybe link to it
17:54 moritz that would be nice, yes
17:54 moritz colomon++ for the blog post
17:54 colomon http://rosettacode.org/wiki/Pi#Perl_6
17:54 moritz colomon: on your blog post too :-)
17:55 masak ;)
17:55 TimToady "the best version of the code" --> RC
17:55 Ross joined #perl6
17:55 Ross joined #perl6
17:55 colomon done
17:56 colomon well, processing, at any rate
17:56 colomon now done.  :)
17:57 TimToady I took the liberty of removing your redundant .floor calls
17:58 colomon hmmm, I thought I had removed them.  :)
17:58 TimToady np
17:58 colomon TimToady++
17:59 TimToady there are some bugs there if you try to iterate pi-stream without .[] though, last I checked
17:59 rindolf TimToady: hi.
17:59 rindolf TimToady: what's up?
18:00 TimToady hopefully not my fever
18:05 GlitchMr joined #perl6
18:07 birdwindupbird joined #perl6
18:27 TimToady so the bug last night was basically because we don't have === hashes yet, it would seem
18:27 tadzik Tests=21078
18:27 tadzik when did we get there? :)
18:28 jferrero joined #perl6
18:29 flussence blargh, no wonder my server box's running like molasses. make spectest had been stuck for 14 hours.
18:29 tadzik :D
18:48 dalek rakudo/nom: e396ad6 | moritz++ | t/spectest.data:
18:48 dalek rakudo/nom: run another test file
18:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e396ad6004
18:53 jnthn +S05-metasyntax/intoplating-closure.t
18:53 jnthn ...interpolating? :)
18:54 TimToady so do we need specwork to get to Hashes with === semantics?  Or is it just enough to say that .WHICH.Str is the obvious default string to hash
18:54 jnthn TimToady: I was planning to try the .WHICH.Str approach.
18:54 jnthn TimToady: It's on the todo list...just didn't get to it yet
18:54 TimToady as long as infinite structures always come out with OO-based .WHICH, I think it'll work
18:55 TimToady (and assuming .Str never throws away any important part of the .WHICH
18:55 TimToady which could result in a DOS attack.)
18:56 TimToady for example, if we used .gist instead of .Str, and some .WHICH turned out to throw away anything after position N, then the attacker merely supplies a list of values that are not unique except after N
18:56 TimToady the main thing is that everything about the identity must participate in the hash somehow
18:57 TimToady (and, of course, the hash function itself should be randomized)
18:58 TimToady okay, well, I'm not pushing for it, except that I'd also like to see real Sets and Bags someday based on Hash :)
19:00 TimToady well, and the invert bug probably wouldn't have happened...
19:01 jnthn TimToady: True, though it was a horribly inefficient way to implement SomeEnumType.(UnderlyingValue)
19:02 TimToady esp for an enum with linear values :)
19:06 TimToady well, decent constant folding would probably fix that eventually
19:11 jnthn Uhm.
19:11 sorear good * #perl6
19:11 phenny sorear: 13:22Z <colomon> tell sorear I have real-bridge.t 98.5% working here, but am off to church before I can investigate the remaining 3 errors.
19:11 jnthn I just ran the pi thingy through the profiler, both at C level and Perl 6 level.
19:11 sorear +1 to systematically reviewing roast
19:12 jnthn 20% of the time is spent with the bigint implementation calling free()
19:14 jnthn And 13% in realloc and 12% in malloc.
19:21 kaare_ joined #perl6
19:24 jnthn btw, if anybody has a C profiler and a Rakudo build handy on a non-Windows OS, I'd be interested to know how a run up to first 5000 digits of pi compares in terms of time spent in malloc/realloc/free. I know those are a real pig on Windows.
19:25 wolfman2000 joined #perl6
19:27 * moritz tests parrot's Configure.pl --profile
19:39 moritz nom: nom: my role orig-string[$o] { method Str() { $o.Str } }; my $a = 7 but orig-string['7']; say $a - 2
19:39 p6eval nom e396ad: OUTPUT«===SORRY!===␤Confused at line 1, near "nom: my ro"␤»
19:39 moritz nom: my role orig-string[$o] { method Str() { $o.Str } }; my $a = 7 but orig-string['7']; say $a - 2
19:39 p6eval nom e396ad: OUTPUT«5␤»
19:39 colomon sorear: as you probably gathered, that message was obsolete -- real-bridge.t works 100% now on niecza, and the changes are all pushed.
19:39 moritz \o/
19:40 jnthn moritz++
19:41 bkolera joined #perl6
19:41 sorear colomon: \o/
19:43 TimToady nom: my role orig-string[Str $o] { method Str() { $o } }; my $a = 7 but orig-string['7']; say $a - 2
19:43 p6eval nom e396ad: OUTPUT«5␤»
19:44 jnthn nom: my role orig-string[Str $o] { method Str() { $o } }; my $a = 7 but orig-string[7]; say $a - 2 # just checkin'
19:44 moritz jnthn: regarding your earlier questions about branches that need your help... I've discovered some problems in the staged-settings branch; I'm not sure if you think that branch is worthwhile persuing; if it is, it'd need your attention
19:44 p6eval nom e396ad: OUTPUT«None of the parametric role variants for 'orig-string' matched the arguments supplied.␤No applicable candidates found to dispatch to for '_block1400'. Available candidates are:␤:(Mu, Str $o)␤␤  in specialize at src/gen/Metamodel.pm:1810␤  in specialize at src/gen/Meta…
19:44 jnthn moritz: OK. What about the one to fix -n?
19:45 moritz jnthn: ah right, forgot that one :-)
19:45 moritz jnthn: it works, except the part that should make $_ 'is copy'
19:45 moritz at least last I checked :-)
19:45 dalek roast: 77705ba | moritz++ | S03-operators/arith.t:
19:45 dalek roast: RT #108052, mixins into Int propagated through operators
19:45 dalek roast: review: https://github.com/perl6/roast/commit/77705ba02b
19:46 jnthn moritz: OK, is it merged?
19:47 jnthn I can look at the is copy bit, but don't mind doing it post-merge.
19:47 moritz jnthn: no, not yet; but it doesn't hurt to merge it, since it doesn't introduce any new regressions
19:51 jnthn k
19:54 moritz hm, the profiling didn't work
19:55 s1n joined #perl6
19:55 TimToady btw, I still think that the orig-string approach is likely not going to be sufficient since Str binding will reject such a value, violating POLA
19:55 moritz I compiled parrot with --profile, but the resulting ./perl6 didn't write any profile
19:56 moritz hm, maybe if I run the parrot binary directly?
19:56 TimToady so think the reality will be more like we mix the numeric type into the Str type
19:56 icwiener joined #perl6
19:57 TimToady (and tweak the candidate sorting rules if that makes too many collisions)
19:57 jnthn TimToady: Is string binding rejecting it such a problem if many of the places we care about it working have a Cool or Any coercive candidate?
19:58 moritz well, if we mix the number into a Str,  sub MAIN(Int $x) { }  will reject it, no?
19:58 TimToady it's less of a problem if we can declare Str() as a coercive parameter
19:59 TimToady no, it's primary type would be Int, derived from Str
19:59 TimToady *its
19:59 moritz "derived from Str"?
19:59 moritz what does that mean?
19:59 TimToady "7" but Int(7), more or less
20:01 TimToady a reparented Int, or possibly MI
20:01 colomon niecza: use Test; my $a = 7; is ($a - 3).Str, '4'
20:01 p6eval niecza v13-266-g6383a22: OUTPUT«ok 1␤»
20:02 colomon moritz: is your new arith.t testing really testing anything?
20:02 jnthn nom: role IntRole is Int { }; my $a = "7" but IntRole; say $a ~~ Int; say $a ~~ Str;
20:02 p6eval nom e396ad: OUTPUT«P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type␤  in mixin at src/gen/Metamodel.pm:944␤  in sub infix:<but> at src/gen/CORE.setting:8548␤  in block <anon> at /tmp/ccNZd8jnk6:1␤  in <anon> at /tmp/ccNZd8jnk6…
20:03 jnthn Ah. Yes. :)
20:03 TimToady :)
20:03 * TimToady will push this till he makes a mistake, and then blame the flu :)
20:04 colomon afk # skiing # rubbing it in for snowless Swedes  ;)
20:04 kaare__ joined #perl6
20:04 masak g'ah :)
20:05 jnthn masak: That's it. We relocate Edument to Kiruna. :P
20:06 jnthn TimToady: fwiw, I...don't fancy breaking the MRO suffix rule. I forget why. I think there's a good reason. :)
20:06 jnthn oh, yeah
20:06 sorear sweden is a bit far away :|
20:06 jnthn It gets absolutely horrible.
20:07 sorear I figured that you used suffix as an approximation to subset
20:07 jnthn sorear: Well, it means that any new attributes the object gets appear in memory after the ones it already has.
20:08 masak jnthn: Kiruna -- you're on!
20:09 jnthn Snow! Northern lights! Reindeer stew! \o/
20:10 masak \o/
20:11 * masak .oO( jnthn's Ice Hotel with naturally chilled beer )
20:11 jnthn \o/
20:12 TimToady maybe allomorphic literals is a reasonable place to use MI
20:12 moritz colomon: it is.
20:13 moritz colomon: previously in nom, infix:<-> (and most other arithmetic ops) boxed in the type of the left argument (and not Int)
20:13 moritz colomon: so if you did   class A is Int { }; A.new(3) + 5, you'd get an A as the result, not an Int
20:14 moritz colomon: and the example with the role mixed in that would mean that the result always stringified to 7, because that's encoded into the type object
20:15 jnthn Ah, the reason I don't want to let you do a mixin to an existing object to make it become MI is that it means you can't rely on checking an object has SI memory layout and relying on it for optimization in a sequence of follow-up operations (e.g. checking it before a loop), since another thread may un-MI it.
20:15 jnthn er, un-SI it
20:16 masak TimToady: maybe that would work for Inf and -Inf, too? making them both Int and Num and Str, I mean.
20:16 TimToady mebbe
20:16 masak well, maybe they don't actually need to be Str, come to think of it.
20:16 masak maybe that's better left as a special case.
20:16 jnthn Though maybe the idea that a mixin may move object memory already hoses such optimizations...
20:17 ksi joined #perl6
20:17 jnthn Hm, no, not so much...
20:18 dalek rakudo/nom: 326de8c | moritz++ | src/Perl6/ (3 files):
20:18 dalek rakudo/nom: Merge remote branch 'origin/fix-n-p' into nom
20:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/326de8c815
20:19 TimToady here's another whacked out idea: make all numeric types derive via Str, since they all have a stringy representation
20:20 TimToady but that certainly would make jnthn++ very unhappy :)
20:20 masak that's how Moose has it.
20:20 jnthn TimToady: Why would that one make me very unhappy? :)
20:20 jnthn TimToady: We keep SI.
20:21 masak I can't immediately see why I would be unhappy about it... :)
20:21 moritz wouldn't that mean you have to carry an addition string around per number?
20:21 jnthn oh
20:21 TimToady would that imply that all numbers have to carry a string repr?
20:21 jnthn TimToady: It'd mean they were a pointer bigger.
20:21 geekosaur welcome back to p5? :)
20:21 TimToady or we fudge it somehow
20:22 jnthn TimToady: In the latest 6model, a REPR doesn't have to own a whole object, but just works in terms of a chunk of memory under its management.
20:23 TimToady but we're kinda talking about an optional REPR here...
20:23 TimToady like a union
20:23 jnthn TimToady: So this case doesn't mean more allocations, it just means the objects are a bit bigger
20:23 jnthn TimToady: I don't see how it's unionish.
20:24 TimToady if you want to save the extra alloc
20:24 TimToady sizewise
20:24 jnthn TimToady: But I thought we'd want to keep the original thing PLUS the extra way of looking at it?
20:25 sorear looks like val() is becoming contentious again
20:25 * sorear scratches it off the TODO
20:25 jnthn If you can find a way to stash a discriminator bit I guess you could discriminate between a single value and a pointer off to a list of allomorphs.
20:26 TimToady well, I'm still thinking MI is the better approach, if the storage falls out naturally
20:26 TimToady class IntStr is Int is Str {...}
20:27 jnthn Yeah, if you declare it that way, it will
20:27 jnthn Oh.
20:27 jnthn It means we need a way to box two thingies into a single object.
20:27 sorear will not quite work currently in niecza, but fixable
20:28 jnthn 6model core handles it fine though.
20:28 sorear colomon++ blog
20:28 TimToady and it's only the literals or textual inputs that need this allomorphism
20:28 TimToady the val things
20:29 TimToady we need a name for 'em
20:29 jnthn TimToady: Would be just declare type IntSr, NumStr and RatStr?
20:29 jnthn *IntStr
20:29 TimToady I think so
20:29 sorear PairStr, BoolStr?
20:30 TimToady again, the question is whether multi (Int) vs multi (Str) will give the edge to the Int nature
20:30 TimToady that's the point at which we might need to force it slightly
20:30 jnthn nom: class IntStr is Int is Str { }; multi m(Int) { say 1 }; multi m(Str) { say 2 }
20:30 p6eval nom e396ad:  ( no output )
20:30 jnthn er
20:30 jnthn nom: class IntStr is Int is Str { }; multi m(Int) { say 1 }; multi m(Str) { say 2 }; m(IntStr)
20:30 p6eval nom e396ad: OUTPUT«Ambiguous dispatch to multi 'm'. Ambiguous candidates had signatures:␤:(Int)␤:(Str)␤␤  in block <anon> at /tmp/KMaut4j_ty:1␤  in <anon> at /tmp/KMaut4j_ty:1␤»
20:30 jnthn Yeah.
20:31 TimToady some way to make Str defer to numbers, basically
20:31 TimToady in an epsilonish sort of way
20:31 jnthn Wait, which one do we want to have as the winner? :)
20:32 TimToady the numeric, I think
20:32 jnthn .oO( class Int beats Str { } )
20:33 TimToady .oO(rock paper scissors)
20:38 TimToady or maybe somehow we can notice that an MI object is involved, and use the parentage of the object itself as some kind of tiebreaker
20:38 jnthn TimToady: er
20:38 TimToady maybe only if we actually get an ambiguous dispatch otherwise as a failover
20:38 TimToady or however you say it in English
20:39 jnthn sub foo(Int $x) { $x + 1 } # we never get an ambiguous dispatch here. We already inlined.
20:39 TimToady thinking about your ambiguous dispatch above
20:40 jnthn TimToady: I have a feeling your suggestion may be sneaking effective mutability into our immutable candidate lists through the back door.
20:41 TimToady I don't see it, but maybe if I think about it for a month or two...
20:41 jnthn TimToady: I'll see if I can come up with an example.
20:44 jnthn TimToady: Hm. It may be OK.
20:47 kaare__ joined #perl6
20:47 jnthn class IntStr is Int is Str { }
20:47 jnthn multi x(Int $x) { y($x) } # wins, and has inlined y
20:47 jnthn multi x(Str) { } # loses
20:47 jnthn multi y(Int) { } # can we construct another y candidate that causes issues?
20:47 jnthn The existence of a multi y(IntStr) { } would have prevented the compile time decision or inlining of the y($x) call
20:57 sorear Wait, does S02:3573 require '' inside «» to suppress _interpolation_?
20:58 fsergot joined #perl6
20:58 TimToady that's what a shell would do...
21:04 dalek nqp: 0aa0387 | (Gonéri Le Bouder)++ | 3rdparty/dyncall/ (3 files):
21:04 dalek nqp: fix: kfreebsd build
21:04 dalek nqp:
21:04 dalek nqp: GNU/kFreeBSD uses the GNU libc whereas Android uses
21:04 dalek nqp: its own libc. So OS_Linux is not reliable enough to
21:04 dalek nqp: identify a glibc.
21:04 dalek nqp:
21:04 dalek nqp: We use __GLIBC__ to know if we are on a glibc instead of
21:04 dalek nqp: OS_Linux.
21:04 dalek nqp:
21:04 dalek nqp: __GLIBC__ is defined by features.hi which is pulled
21:04 dalek nqp: by the glibc headers. That's the reason why we can't
21:04 dalek nqp: check __GLIBC__ at the begining of the file.
21:04 dalek nqp: review: https://github.com/perl6/nqp/commit/0aa0387b11
21:04 dalek nqp: b9daf3b | jonathan++ | 3rdparty/dyncall/ (3 files):
21:04 dalek nqp: Merge pull request #27 from goneri/master
21:04 dalek nqp:
21:04 dalek nqp: fix kFreeBSD build and probably other glibc based OS like hurd
21:04 dalek nqp: review: https://github.com/perl6/nqp/commit/b9daf3b467
21:06 zjmarlow joined #perl6
21:07 dorlamm joined #perl6
21:20 kmwallio joined #perl6
21:24 masak 'night, #perl6
21:25 sorear bye
21:25 tadzik oh, night already? :( G'night masak
21:26 jnthn Yeah...already :/
21:26 jnthn Ergh...I got a week of early mornings coming up too :/
21:31 arnsholt Ok, this is pretty cool. I can make basic TeX-like macro-expansion in about a page of code
21:31 arnsholt The power of Perl 6 strikes again
21:45 Moukeddar joined #perl6
22:21 molaf joined #perl6
22:24 pmurias joined #perl6
22:25 pmurias tests in roast should have an explicit plan?
22:26 huf joined #perl6
22:37 [Coke] # 01/15/2012 - niecza at 98.54%
22:39 jnthn 20:00 ‎Eating out & getting drunk‎ (240 min)
22:39 jnthn (from the GPW schedule)
22:39 jnthn That's...er...to the point.
22:41 tadzik :)
22:42 * jnthn scribbled a blog post http://6guts.wordpress.com/2012/01​/15/looking-back-looking-forward/
22:45 samlh joined #perl6
22:46 samlh jnthn: end of the blog post needs snipping :)
22:47 tadzik whoa, that's one long post
22:49 tadzik oh, no, it's just the first page of jnthn's blog :)
22:49 jnthn samlh: eek, how'd that happen
22:49 jnthn samlh: fixed, thanks
22:50 samlh jnthn: np
22:51 TimToady "fall on may plate"
22:51 jnthn Guess I'm still hoping it may not :P
22:51 jnthn fixed
22:52 cooper joined #perl6
22:54 TimToady "S05 and S09 needs work."  verb agreement problem, seemingly
22:55 jnthn ah, it probably wants to say "Rakudo's support for S05 and S09 needs work"
22:55 jnthn Changed it to that.
23:00 felher jnthn++: nice post :)  Does that regex-stuff you mentioned enable nom do backtracking into subrules? That would be ("awesome " x 100).trim :)
23:00 jnthn felher: Yeah, that's the one.
23:00 felher jnthn: great! :D
23:01 jnthn felher: It needs me to have a chunk of undistracted time where I can concentrate. So, probably next weekend...I'm teaching this next week, which is fun but exhausting. :)
23:01 * sorear waits to see what inscrutable comment chromatic will make about _this_ post
23:01 felher jnthn++: sounds good to me :)
23:02 donri left #perl6
23:02 jnthn sorear: I don't know, and frankly, I don't give a ...
23:04 bacek joined #perl6
23:09 jnthn Guess I should go rest...$client are expecting me earlyish...
23:09 jnthn &
23:09 tadzik g'night
23:09 jnthn 'night o/
23:10 pmurias sorear: hi
23:11 sorear pmurias: hi
23:13 pmurias sorear: why are you putting classes in our variables?
23:13 pmurias nasty hack to reduce compile time?
23:15 sorear reduces compile time, increases likelyhood of compiler catching errors, makes it easier to do dependency-injection stuff
23:17 pmurias catching errors - how so?
23:20 sorear $Foo is an error if $Foo isn't declared
23:21 sorear please don't give me a hard time over this, I've already given myself enough of a hard time
23:21 pmurias sorear: ok :)
23:22 localhost joined #perl6
23:24 pmurias sorear: what do i have to do to enable line numbers in mono exceptions?
23:25 sorear pmurias: mono --debug
23:28 arlinius joined #perl6
23:37 pmurias sorear: thanks, that helped fix the bug
23:38 dalek niecza: 5ff062b | (Paweł Murias)++ | lib/p5embed.c:
23:38 dalek niecza: Disable the destruction of the interpreter as it segfaults.
23:38 dalek niecza: Will try to renable it after making sure all the refcounts are kept correctly.
23:38 dalek niecza: review: https://github.com/sorear/niecza/commit/5ff062bf69
23:38 dalek niecza: 816e8f4 | (Paweł Murias)++ | lib/Perl5Interpreter.cs:
23:38 dalek niecza: Unbitrot calling p5 subs, examples/term-ansicolor.pl works again.
23:38 dalek niecza: review: https://github.com/sorear/niecza/commit/816e8f4634
23:43 tokuhirom joined #perl6

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

Perl 6 | Reference Documentation | Rakudo