»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:06 molaf_ joined 00:09 cognominal_ joined 00:10 molaf__ left
dalek ecza: 8031a73 | sorear++ | / (5 files):
mergeback; fix tests
00:10
00:12 cognominal left
dalek volaj: e8e83dc | jnthn++ | README.markdown:
First crack at documenting array and struct usage with Zavolaj.
00:13
tadzik jnthn: in #136 you used binding again, correct? 00:15
jnthn tadzik: oops, the point was meant to be that assignment would work too :) 00:19
tadzik that's what I thought :) 00:20
dalek volaj: fdf8cff | jnthn++ | README.markdown:
Fix example to show what I'd intended; tadzik++ for noticing.
jnthn Mmm...this porter beer is really nice :)
dalek volaj: 617a14c | jnthn++ | README.markdown:
Fix another thinko.
00:22
colomon niecza: say $*EXECUTABLE_NAME 00:27
p6eval niecza v13-258-gbe89d96: OUTPUT«/home/p6eval/niecza/run/Niecza.exe␤»
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
if I add "mono" manually in Test::Util.pm, I can actually start running is_run tests.
00:30 az5112 left
dalek kudo/nom: 4cb15ac | tadzik++ | src/core/ (4 files):
Implement postcircumfix:<( )> for Enumeration; make <=>, cmp and leg return Order rather than Ints
00:33
tadzik that makes us pass most of t/spec/S03-operators/comparison.t
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…
jnthn tadzik: nom: class Blue { method Real() { 3; } }; Blue.new < 5 00:36
rt
er
nom: class Blue { method Real() { 3; } }; Blue.new < 5
p6eval nom d1c15f: ( no output )
jnthn tadzik++ # great
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
night o/
tadzik yeah, I'm on it
g'night!
dalek ast: cf895c7 | tadzik++ | S03-operators/comparison.t:
nom fudging
00:39
kudo/nom: 9a1e643 | tadzik++ | t/spectest.data:
Run S03-operators/comparison.t
00:40
ast: 9b2b19b | (Solomon Foster)++ | packages/Test/Util.pm:
Hack to make Test::Util work with Niecza.
00:43
ast: 2beed8f | (Solomon Foster)++ | S (2 files):
Fix broken test (post gist changes). Fudge for niecza.
00:46
00:46 whiteknight left
tadzik g'night 00:47
dalek ecza: 0b5d2f8 | (Solomon Foster)++ | t/spectest.data:
Turn on S32-io/note.t.
00:50
00:51 shinobicl_ left 00:54 jakky_ is now known as jakky
colomon sorear: exit 5 returns 256 * 5 from the program. by design, I'm assuming? 00:58
00:58 sjohnson joined
sjohnson :3 00:59
00:59 xinming joined
dalek ast: f4ea721 | (Solomon Foster)++ | S29-context/die.t:
Tweak tests. Unfudge tests that now work for niecza.
01:05
colomon niecza: say $*PID 01:20
p6eval niecza v13-260-g0b5d2f8: OUTPUT«Any()␤»
01:21 pmurias left
dalek ecza: d5501c7 | (Solomon Foster)++ | t/spectest.data:
Turn on S02-magicals/args.t.
01:21
01:24 sjohnson left 01:36 chinyaw joined, jferrero left
sorear colomon: it looks like whoever added system made it return the raw result of system(3), which is a wait(2) code 01:37
colomon errr.... yeah, that would be me. 01:38
01:38 am0c joined
colomon what should it be doing? 01:38
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:39
sorear chinyaw: I need to understand WHY you want to do this. 01:44
colomon: check out S2x and Rakudo's behavior, I guess 01:45
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:47
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
I'm an assembler programmer but chinyaw needs to be broken first
ey is still thinking in an XY problem modality
01:49 cognominal_ left
chinyaw sorear: i think you are right 01:49
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
sorear assuming you're on Unix you should read www.x86-64.org/documentation/abi.pdf for information on returning values 01:51
honesty, that's rare in this day and age
x86-64 code is supposed to use the SSE subunit for floating point operations 01:52
the return value stuff is on page 22 01:53
chinyaw oh i will read it looks interesting thank you sorear 01:54
sorear floating point values should be returned in %xmm0
which I guess is XMM0 in Intel syntax
XMM0 is just a register; you can mov stuff into it 01:55
they give 15-year-olds assembly language homework where you live? I'm jealous
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, courses.engr.illinois.edu/ece390/ar...f-fld.html
if you showed your entire function using a pastebin I might be able to see the problem 02:00
chinyaw sorear: i will read links and pdf you send and if i fail to solve it i pastpin for you :) 02:05
sorear: i also write few nice things i can share with you later 02:06
bye
02:07 chinyaw left
colomon niecza: say() 02:07
p6eval niecza v13-260-g0b5d2f8: OUTPUT«␤»
02:07 wolfman2000 joined 02:16 packetknife joined
dalek ast: 2fb42f9 | (Solomon Foster)++ | S16-io/bare-say.t:
Clean up dodgy tests. Fudge for niecza.
02:23
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
dalek ast: e2135fe | (Solomon Foster)++ | integration/weird-errors.t:
Fudge for niecza.
02:35
ast: be71d77 | (Solomon Foster)++ | S32-basics/warn.t:
Fudge for niecza.
02:39
02:42 zjmarlow joined, zjmarlow left, zjmarlow joined
dalek ast: 9201d36 | (Solomon Foster)++ | S06-operator-overloading/methods.t:
Fudge for niecza.
02:57
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…
dalek ast: 7e4bed3 | (Solomon Foster)++ | S32-scalar/undef.t:
Clean up niecza fudging.
03:02
03:02 nallar left
dalek ast: 0b1dbdd | (Solomon Foster)++ | S12-construction/BUILD.t:
Refudge for niecza.
03:03
ecza: 18552f1 | (Solomon Foster)++ | t/spectest.data:
Turn on test files that now work.
03:04
03:12 thou left 03:15 panterax left 03:24 thou joined 03:34 thou left 03:37 orafu left 03:38 Psyche^ joined 03:40 orafu joined 03:41 Patterner left, Psyche^ is now known as Patterner 03:55 zjmarlow left 03:59 Chillance left
colomon sorear: 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:04
sorear colomon: What's the difference between .Bridge and .Numeric? 04:05
I'm a little suprised that compiles 04:08
The main reason it doesn't work is that RunInferior and GetInferiorRoot aren't pairs
paired
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.
sorear o = Kernel.RunInferior(o.InvokeMethod(Kernel.GetInferiorRoot(), "Bridge", new Variable[] { v }, null)).Fetch();
then copy lines 10-14
that will allow Bridge to return any primitive numeric type 04:11
why Real and not Numeric, btw?
04:12 zjmarlow joined
colomon not sure I understand the question? 04:12
sorear class FunnyComplex does Numeric { method Bridge() { 1+2i } } # why isn't this allowed? 04:13
colomon ..... it's an interesting thought
the specific reason for Bridge is to enable Reals from different sources to still communicate with each other. 04:14
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
I'm going to have to sleep on that one. :)
Have first Real.Bridge test working locally. Going to bed now. o/ 04:21
sorear \o/ 04:23
04:29 araujo left 04:50 worr joined 05:22 packetknife left 05:40 PacoAir left 05:43 zjmarlow left 05:49 am0c left 05:52 worr left 07:25 kaare_ joined, araujo joined, araujo left, araujo joined
dalek ecza: d6e29a5 | sorear++ | / (8 files):
First batch of changes to remove "use"-dependencies from niecza
07:51
ecza: f5fd473 | sorear++ | / (13 files):
Finish removing "easy" cases of direct cross-module class referencing
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
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?
moritz jnthn++ "real-trouble" :)
08:06 sayu joined 08:24 kaare_ left
sorear o/ moritz 08:25
moritz \o sorear 08:27
jnthn: re real-trouble, I have an idea what's going on here 08:30
method numeric methods (for example .exp) work like this in nom: 08:31
there's a method in Real, which redispatches to self.Bridge.Num
erm, self.Bridge.exp
and the result type of the .Bridge call needs to have an .exp method that actually does the work 08:32
and our bridge type is Num
now we compose Real into Num (instead of an inheritance relation)
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:33
nom: role A { method x() { } }; class B does A { }; say A.^can('x').[0] 08:35
p6eval nom 9a1e64: OUTPUT«x␤»
moritz nom: role A { method x() { } }; class B does A { }; say A.^can('x').[0].signature.params[0].type
p6eval nom 9a1e64: OUTPUT«A()␤»
08:36 rindolf joined
sorear o/ rindolf 08:37
[Coke] # 01/14/2012 - niecza at 97.37% - gains yesterday in both compilers, but the niecza % is unchanged.
sorear unchanged?!
cool, my XCompose has ‽ 08:38
rindolf sorear: hi.
moritz nom: roles a { multi method x() { 'a' } }; class b does a { multi method x() { 'b' } }; say b.x 08:40
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
p6eval rakudo 9a1e64: OUTPUT«(timeout)»
..niecza v13-264-gf5fd473: OUTPUT«b␤»
..pugs b927740: OUTPUT«a␤»
sorear nom: roles a { }
p6eval nom 9a1e64: OUTPUT«(timeout)»
sorear 1. known niecza bug 08:42
2. what did I just do to nom?
moritz I have no idea
sorear nom: roles
p6eval nom 9a1e64: OUTPUT«(timeout)»
sorear nom: say 5
p6eval nom 9a1e64: OUTPUT«5␤»
sorear nom: role
p6eval nom 9a1e64: OUTPUT«(timeout)» 08:43
sorear nom: rol
moritz sorear: what's the correct answer? ambiguous dispatch?
sorear moritz: I think so
p6eval nom 9a1e64: OUTPUT«(timeout)»
sorear nom: a
moritz locally I get "CHECK FAILED:
Undefined routine '&roles' called (line 1)
"
p6eval nom 9a1e64: OUTPUT«(timeout)»
sorear looks like p6eval can't make a check fail
moritz: the fix is to not use multi methods 08:44
moritz: with 0 arguments a multi is kinda pointless anywya
moritz oh, I'm on a different branch
sorear: not if you want the option to add another multi with higher arity
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
moritz is there a way to ignore/override all the multis from a role, and declare new multis instead? 08:46
sorear don't think so 08:47
08:49 rindolf left 08:52 cognominal_ joined 08:54 cognominal left
[Coke] that test run of mine was HOURS ago, though. I'll do a new run after I wake up. 09:01
09:09 GlitchMr joined 09:17 swapnil joined
sorear -> sleep 09:18
09:20 swapnil left 09:24 cognominal_ left 09:26 cognominal joined 09:56 cognominal_ joined 09:58 DarthGandalf left 09:59 cognominal left
masak morning, #perl6 10:00
10:03 DarthGandalf joined
moritz indeed, on nom the reporting of undeclared routines is busted (loops) 10:06
\o masak
masak o/ 10:08
sorear++ # chiyaw management
chinyaw*
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.
would it make sense to rename .Bridge to .Num ?
I don't like designing for hypothetical implementations. :/
10:18 donri joined 10:19 muixirt joined
muixirt good morning 10:20
donri ohai 10:22
muixirt neither nom nor niecza like rosettacode.org/wiki/Sorting_algori...ort#Perl_6 10:23
donri maybe perl6.org/compilers/features knows why 10:24
moritz muixirt: in what way don't they like it? 10:25
muixirt nom goes into infinite loop and niecza prints a (unhelpful for me) error message 10:26
10:28 cognominal joined 10:29 zamolxes joined 10:31 cognominal_ left
muixirt with Rakudo Star 2011.07 it works fine 10:35
10:39 Trashlord joined
muixirt fears the silence 10:46
10:50 cognominal left
masak muixirt: Sundays tend to be a bit slow here :) 10:50
10:51 cognominal joined
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␤»
masak last value should be 2 3 4, no? 10:58
10:58 cognominal left
masak no wait. 10:58
10:58 tokuhirom joined
masak no, it's correct. 10:58
10:58 cognominal joined
muixirt masak: the thing is that this line sends my nom into a endless loop 10:59
muixirt rebuilds nom
masak :)
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␤»
muixirt interesting... 11:02
masak: I rebuilt nom and it's almost a success, no endless loop anymore, but: 11:11
input = 6 7 2 1 8 9 5 3 4
output = 6 7 2 1 8 9 5 3 4
masak muixirt: feel free to find out why. :) 11:12
muixirt a fresh niecza does the job
11:13 panterax joined 11:25 fridim joined 11:47 whiteknight joined
dalek ast: 70df7d9 | moritz++ | S05-metasyntax/interpolating-closure.t:
simplify interpolating-closure.t, and add tests for RT #102860
11:52
muixirt the merge_sort version of Util works with 2011.07 but not with my fresh nom. Due to spec changes?
masak don't think so. 11:56
masak looks
moritz nom: my @a = 2; say (0..^@a).list.perl
p6eval nom 9a1e64: OUTPUT«(0,).list␤»
moritz nom: my @a = 2, 3, 4; say (0..^@a).list.perl
p6eval nom 9a1e64: OUTPUT«(0, 1, 2).list␤»
moritz nom: my @a = 2, 3, 4; say @a[2..^@a] 11:57
p6eval nom 9a1e64: OUTPUT«4␤»
moritz looks correct so far
masak muixirt: I see nothing strange in the code. nothing to do with spec changes either. 11:59
my local nom hangs. rebuilding it now.
12:07 Trashlord left
muixirt nom: for 0 .. 3 -> $n { say $n } 12:34
p6eval nom 9a1e64: OUTPUT«(timeout)»
12:34 Lothar left
masak o.O 12:37
nom: for 0 .. 3 -> $n { say $n }
p6eval nom 9a1e64: OUTPUT«(timeout)»
muixirt is it only me or is --target=pir code even harder to read? 12:38
jnthn Why on earth is p6eval giving timeouts all over the place? :/ 12:40
That code doesn't hang locally. The undeclared routines thing doesn't either.
masak muixirt: it's not just you. it's been illegible since the switch to nom.
jnthn can read it :) 12:41
moritz 4cb15ac8a3d4c1c481e312cfb07658367f8935ad has caused the loop in CHECK failure reporting, it seems
jnthn: which branch are you on?
jnthn Just skip the entire of the second sub down.
moritz: nom
oh
fatal: bad object 4cb15ac8a3d4c1c481e312cfb07658367f8935ad
moritz jnthn: did you read my analysis of the real-trouble trouble in the backlog?
jnthn: git pull :-)
jnthn moritz: Yeah - I saw the multi conflict, but now I start to see why it happens. 12:42
huh, the Order patch caused the CHECK reporting failure?! 12:43
moritz only-methods in Real don't have that problem
jnthn moritz: Right, because there's no composition conflict there.
moritz jnthn: I kinda guess it broke some code in the exception handler, which now loops
jnthn moritz: The exception handler where? 12:44
moritz the one we install in src/core/Exception.pm
becaues it doesn't hang with --ll-exception
muixirt nom: say ((1, 2) X ('a', 'b')).perl 12:45
p6eval nom 9a1e64: OUTPUT«((ListIter.new(),), (ListIter.new(),), (ListIter.new(),), (ListIter.new(),)).list␤»
moritz but that's just a guess... I see no reason why it might be involved with the 'for 1..3' hang
jnthn moritz: Does that hang for you locally too? 12:46
12:46 audio joined
jnthn is building now 12:47
moritz jnthn: dunno, I need to recompile first to check
I was bisecting the other hang
muixirt nom: for ^4 X ^4 -> Int $x, Int $y { say "x = $x\ty = $y"; }
p6eval nom 9a1e64: OUTPUT«x = 0 y = 0␤»
audio nom: my $d = Date.today; say ~$d;
p6eval nom 9a1e64: OUTPUT«(timeout)»
audio perl6:my $d = Date.today; say ~$d; 12:48
moritz it's also possible that I made a mistake while bisecting
audio: need a space after the colon
audio perl6: my $d = Date.today; say ~$d; 12:49
thanks moritz
p6eval rakudo 9a1e64: OUTPUT«(timeout)»
..niecza v13-264-gf5fd473: OUTPUT«===SORRY!===␤␤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…
..pugs b927740: OUTPUT«*** No such subroutine: "&Date"␤ at /tmp/77SPe2OCEM line 1, column 4-19␤»
jnthn moritz: Reproduced the hang locally.
audio curious ? it works yesterday! 12:50
jnthn audio: Yeah, one of the last commits to Rakudo has broken something. 12:51
12:51 Trashlord joined
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:52 audio left
jnthn nom: say Order::Increase < 1 12:56
p6eval nom 9a1e64: OUTPUT«Bool::True␤»
masak nom: say Order::increase < Order::Decrease 12:57
p6eval nom 9a1e64: OUTPUT«(timeout)»
masak nom: say Order::Increase < Order::Decrease
jnthn case-o 12:58
p6eval nom 9a1e64: OUTPUT«Bool::True␤»
jnthn nom: my $a = 1; my $b = 2; say $a cmp $b
p6eval nom 9a1e64: OUTPUT«Increase␤»
jnthn nom: my $a = 1; my $b = 2; say $a cmp $b < 0
p6eval nom 9a1e64: OUTPUT«Bool::False␤»
jnthn nom: my $a = 1; my $b = 2; say $a cmp $b < -1
p6eval nom 9a1e64: OUTPUT«Bool::False␤»
jnthn nom: my $a = 1; my $b = 2; say $a cmp $b < 1
p6eval nom 9a1e64: OUTPUT«Bool::True␤» 12:59
jnthn nom: my $a = 1; my $b = 2; my $c = 1; say ($a cmp $b) < $c
p6eval nom 9a1e64: OUTPUT«Bool::True␤»
masak jnthn: don't 'cmp' and '<' chain?
jnthn masak: Would that even make sense? 13:00
cmp doesn't return a boolean.
nom: say (1..3).ACCEPTS(2) 13:01
p6eval nom 9a1e64: OUTPUT«Bool::True␤»
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.
p6eval nom 9a1e64: OUTPUT«(timeout)»
tadzik goodmorning 13:04
masak nom: my $val = 0; say $val++ while ($val cmp 3) < 1
jnthn: yours shouldn't even parse.
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␤36␤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􏿽xE2􏿽x90
masak tadzik: good afternoon :P
jnthn er. And that's where our hang is :P
We have a while loop just like that in Range :) 13:05
masak o.O
tadzik masak: don't even tell me! :)
jnthn nom: my $val = 0; (say $val++; say $val cmp 3) while ($val cmp 3) < 1
p6eval nom 9a1e64: OUTPUT«(timeout)0␤Increase␤1␤Increase␤2␤Same␤3␤Decrease␤4␤Decrease␤5␤Decrease␤6␤Decrease␤7␤Decrease␤8␤Decrease␤9␤Decrease␤10␤Decrease␤11␤Decrease␤12␤Decrease␤13␤Decrease␤14␤Decrease␤15␤Decrease␤16␤Decrease␤17␤Decrease␤18␤Decrease␤19␤Decrease␤20␤Decrease␤21␤Decrease␤22␤Decrea…
jnthn nom: say +Order::Decrease 13:06
p6eval nom 9a1e64: OUTPUT«1␤»
jnthn nom: say Order::Decrease < 1
p6eval nom 9a1e64: OUTPUT«Bool::False␤»
jnthn nom: my $val = 4; say ($val cmp 4) < 1 13:07
p6eval nom 9a1e64: OUTPUT«Bool::True␤»
jnthn nom: my $val = 4; say $val cmp 4
p6eval nom 9a1e64: OUTPUT«Same␤»
jnthn argh!
nom: my $val = 3; say $val cmp 4
p6eval nom 9a1e64: OUTPUT«Increase␤»
jnthn nom: my $val = 3; say ($val cmp 4) < 1
p6eval nom 9a1e64: OUTPUT«Bool::True␤»
13:12 PacoAir joined
masak tadzik: Sun Jan 15 14:12:32 CET 2012 :P 13:12
tadzik shush masak! 13:14
I just woke up, so it's morning
and I don't accept any corrections. Even the sun is still shining :)
masak ;) 13:21
masak likes to tease tadzik :)
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.
jnthn nom: say (3 cmp 4).Real 13:23
p6eval nom 9a1e64: OUTPUT«0␤»
jnthn nom: say (4 cmp 4).Real
p6eval nom 9a1e64: OUTPUT«0␤»
jnthn nom: say (4 cmp 5).Real
p6eval nom 9a1e64: OUTPUT«0␤»
jnthn Well. That golfs it.
wait, what... 13:26
say (4 cmp 5).WHAT
nom: say (4 cmp 5).WHAT
p6eval nom 9a1e64: OUTPUT«Str()␤»
jnthn nom: say Order.(1).WHAT
p6eval nom 9a1e64: OUTPUT«Str()␤»
jnthn tadzik: er. :)
tadzik huh 13:27
oh eww
jnthn self.enums.invert.hash{$x}
tadzik yeah, Enumerations.enums is a hash, int to string
yeap
13:32 DarthGandalf left
dalek kudo/nom: ecba5d0 | jnthn++ | src/ (2 files):
Fix SomeEnum.(UnderlyingValue) to return the enum element, not a string representing it. Should also be more efficient.
13:40
jnthn evalbot rebuild nom
p6eval OK (started asynchronously)
tadzik jnthn++
masak jnthn++ 13:41
jnthn (Yes, that fixes the hangs also.) 13:42
masak oh, good. never quite liked those. 13:45
tadzik hangs?
masak tadzik: whilte you were asleep...
while*
:P
tadzik oh, okay :)
masak did you stay up all night solving p6cc tasks? 13:46
dalek Rebuild of nom complete.
masak dalek: wow, cool!
dalek++
tadzik masak: sadly, nope
13:46 nallar joined
tadzik I should have some time after I finish my C++ project and implement my filesystem 13:47
but that is next monday :/
13:47 DarthGandalf joined
tadzik which is untolerably too late 13:47
masak :/ 13:48
tadzik studying. It hurts
masak well, better luck next year.
tadzik I didn't lose yet :)
masak let me just say this: you're currently not in the winning set as defined by RULES ;) 13:49
tadzik yeah, probably :)
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 14:03 sayu left 14:08 tokuhirom left 14:14 nallar left, sayu joined 14:15 nallar joined, nallar left, nallar joined 14:18 DarthGandalf left 14:23 DarthGandalf joined
dalek ast: 3e278d8 | jnthn++ | S12-class/magical-vars.t:
Corrections and updates.
14:24
kudo/nom: b86f3f2 | jnthn++ | src/Perl6/ (2 files):
Add ::?FOO term parsing.
kudo/nom: 78e6e17 | jnthn++ | src/Perl6/Grammar.pm:
Some missing magicals.
kudo/nom: 25aa058 | jnthn++ | src/Perl6/Metamodel/ParametricRoleHOW.pm:
A parametric role should type check against its parametric role group.
kudo/nom: 0d42e16 | jnthn++ | t/spectest.data:
Run S12-class/magical-vars.t.
ast: 8d712ff | jnthn++ | S02-magicals/sub.t:
Fudge a test for Rakudo.
14:27
kudo/nom: 57e3f50 | jnthn++ | t/spectest.data:
Run S02-magicals/sub.t.
14:28
14:34 fsergot joined
fsergot o/ :) 14:35
jnthn hi fsergot 14:39
14:43 xinming left
masak hello, fsergot 14:43
14:44 DarthGandalf left 14:46 DarthGandalf joined 14:47 GlitchMr left 14:49 xinming joined 15:05 GlitchMr joined 15:09 icwiener joined 15:18 hundskatt left
dalek ast: abf822f | jnthn++ | S12-attributes/class.t:
Do way instain tests.
15:18
tadzik lots of tests expect Ints rather than Orders here and there 15:20
dalek ast: c75eb6c | jnthn++ | S12-attributes/class.t:
Fudge for Rakudo; eval => try eval since eval stopped catching exceptions.
15:23
jnthn tadzik: Oh? We got some regressions? 15:24
tadzik yeah
t/spec/S03-operators/spaceship.rakudo for example
I suppose the tests check for -1, 0, 1 rather than Order 15:25
also tests for X
jnthn Guess the tests want updating then. 15:26
tadzik aye
15:33 kst joined 15:36 pmurias joined
pmurias sorear: re commit d6e29a539f507c6818b527b5b9402b3a6cd27f2f, why? 15:37
felher is in real trouble. 15:41
great branch-naming btw :)
jnthn ;) 15:44
15:47 sayu left
dalek ast: c487222 | jnthn++ | S14-roles/mixin.t:
Fudge a (dubious) test.
15:48
kudo/nom: a82ccc5 | jnthn++ | src/Perl6/Actions.pm:
Support my $.x and our $.x, which are normal lexical/package variable declarations but also generate an accessor.
kudo/nom: 28a4286 | jnthn++ | t/spectest.data:
Turn on S12-attributes/class.t.
kudo/nom: 8dafbf9 | jnthn++ | src/Perl6/Actions.pm:
Oops, busted a few things.
15:49 saddy joined 15:52 saddy left
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:56
masak +1 15:59
tadzik woot conferences.yapceurope.org/gpw2012/talk/3965 got accepted
colomon tadzik++
tadzik panics 16:00
jnthn My meta-programming one also just got approved :)
masak also -- woot -- conferences.yapceurope.org/gpw2012/talk/3961 :)
colomon \o/
masak GPW is gonna be great! :)
tadzik there are quite a few English talks, not bad :)
colomon German Perl Workshop?
masak Ja.
16:01 thou joined
jnthn German beer \o/ 16:01
muixirt jnthn: no German beer for you, only hard work ;-) 16:02
jnthn OH NOES
How can I do hard work without beer? O.O
muixirt a lot of Perl 6 activity at the GPW 16:05
jnthn moritz++ is one of the organizers :) 16:06
masak moritz++
16:06 saddy joined
tadzik moritz++ indeed 16:06
jnthn masak: We should figger out how we're getting there at some point :) 16:07
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 left, saddy joined
saddy what a pity. no bioperl, no perl6 16:10
jnthn tadzik: Are you on clearing up the spectest fallout from Order? 16:11
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 left, xinming joined 16:14 am0c joined
dalek kudo/nom: 89ca806 | jnthn++ | src/ (2 files):
Fix @a>>.() so that it works rather than exploding the compiler.
16:14
16:14 kaare_ joined
saddy ok, i'll ask the repo master of bioperl6 if he could use my help 16:15
dalek ecza: 8e67156 | (Solomon Foster)++ | lib/ (2 files):
Modify low-level GetNumber routine to handle non-core Real types as Nums using Bridge. Add some basic methods to Real.
16:16
ecza: 6383a22 | (Solomon Foster)++ | t/spectest.data:
Turn on S32-num/real-bridge.t.
ast: 0b697d8 | (Solomon Foster)++ | S32-num/real-bridge.t:
Switch a few tests from is to a more sensible is_approx.
ast: d68dbbf | jnthn++ | S (2 files):
Update a couple of tests for Order enum.
16:18
16:20 saddy left, saddy joined, GlitchMr left
dalek ast: ddf434c | jnthn++ | S03- (3 files):
Another bunch of Order updates.
16:23
16:24 s1n left 16:30 saddy left
dalek ast: bb7b418 | jnthn++ | S03-operators/ (5 files):
Final (hopefully!) batch of Order updates.
16:30
jnthn tadzik: OK, hopefully that lot takes care of it. :) 16:31
tadzik awesome :)
16:31 s1n joined 16:38 s1n left 16:39 jakky left 16:41 hundskatt joined 16:48 pmurias left 16:50 rindolf joined
rindolf Hi all. 16:50
16:52 kaare__ joined, kaare_ left
tadzik hey rindolf 16:52
rindolf tadzik: hi.
tadzik: what's up?
masak hi rindolf. 16:53
rindolf masak: hi, what's new?
tadzik rindolf: not bad. Fighting circularity in my C++ project
masak rindolf: busy, but with $work I love :)
rindolf masak: ah, I'm the opposite of busy. 16:54
masak rindolf: we're hiring.
rindolf masak: ah, what are the qualifications?
masak: I mean requirements.
masak: and I have a part-time job - only now I have a two weeks vacation or so. 16:55
masak: feel free to /msg me.
masak oh :)
I would, but I'm a bit busy ;)
rindolf masak: OK.
masak: then you can also email me at [email@hidden.address] 16:56
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:57
16:59 Radvendii joined, Radvendii left
jnthn Southern Sweden is, like, the bit that ain't fall of bears. :) 17:01
*full
masak no, it's just that the bears are brown rather than white ;) 17:02
geekosaur misreads ...full of beers
jnthn masak: shhh...you'll make me run away to Russ...oh wait... 17:03
17:04 kaare_ joined 17:05 kaare_ left, kaare_ joined, kaare__ left
masak jnthn: Russia doesn't have bears. they got tired of standing in line at for a visa. 17:06
jnthn: what you've seen on TV and similar are Russian cats. they're well-fed.
tadzik and they got stopped at the border for the posession of claws
tadzik recalls stopping 10 kms before a Russian border to disassemble 19th century rifles so we'll get through 17:07
masak don't we all. 17:08
jnthn
.oO( "You can only bring in rifles if you're smart enough to take them apart and put them back together again!" )
17:09
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
tadzik I can only imagine the "fun" that the artillery guys have had... 17:10
jnthn nom: say 663 - 100 17:11
17:11 kaare_ left
p6eval nom 89ca80: OUTPUT«563␤» 17:11
jnthn looks forward to getting that number down below 500.
masak tadzik: I'm sure in the original battle, Polish soldiers were also stopped at the border and searched for guns :P
tadzik :P
masak "what's this?" -- "um, it's a 17th-century rifle. it's... for a battle reconstruction!" 17:12
tadzik "okay, that's fine, but why do you drive horses in your cars?" 17:14
17:16 nallar is now known as nallar|afk, JimmyZ_ joined
tadzik I hope they'll chill out before Borodino 17:17
anyway, 563 tests? I seem to recall getting the below 450...
RT shows me 430 open tickets 17:18
jnthn Found 663 tickets (new or open) 17:19
testneeded queue has 100 on it.
That is, 100 of the new or open are testneeeded.
17:21 xinming left 17:24 kaare_ joined, kaare__ left
jnthn shop & 17:25
17:26 kaare__ joined, kaare_ left
tadzik that's one good idea & 17:26
moritz it's fun to get karma for GPW 2012 organization during a program committee meeting for that very same workshop :-) 17:33
masak :D 17:35
17:37 wolfman2000 left
moritz (we've approved all Perl 6 talks that have been submitted so far) 17:48
masak yeah, what's up with that? :P 17:49
moritz and the hackathon too
what's up with what? 17:50
masak just trying to emulate an ani-p6 curmudgeon. :)
unsuccessfully. :P
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
masak anti-p6*
"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
jnthn: well, Perl 6 it hot, that's for sure. ;)
colomon speaking of which, loliblogged: justrakudoit.wordpress.com/2012/01/...ece-of-pi/
masak blasphemy! pi has no last piece! 17:52
masak toggles his curmudgeon switch
colomon: totally agree with the bolded text. colomon++ 17:53
jnthn colomon: Is the code somewhere, ooc?
colomon it's on RC
TimToady maybe link to it 17:54
moritz that would be nice, yes
colomon++ for the blog post
colomon rosettacode.org/wiki/Pi#Perl_6
moritz colomon: on your blog post too :-)
masak ;) 17:55
TimToady "the best version of the code" --> RC
17:55 Ross joined, Ross left, Ross joined
colomon done 17:55
well, processing, at any rate 17:56
now done. :)
TimToady I took the liberty of removing your redundant .floor calls 17:57
colomon hmmm, I thought I had removed them. :) 17:58
17:58 nallar|afk left
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
rindolf TimToady: hi.
TimToady: what's up?
TimToady hopefully not my fever 18:00
18:05 GlitchMr joined 18:07 birdwindupbird joined 18:11 JimmyZ_ left
TimToady so the bug last night was basically because we don't have === hashes yet, it would seem 18:27
tadzik Tests=21078
when did we get there? :)
18:28 jferrero joined
flussence blargh, no wonder my server box's running like molasses. make spectest had been stuck for 14 hours. 18:29
tadzik :D
dalek kudo/nom: e396ad6 | moritz++ | t/spectest.data:
run another test file
18:48
jnthn +S05-metasyntax/intoplating-closure.t 18:53
...interpolating? :)
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.
TimToady: It's on the todo list...just didn't get to it yet
TimToady as long as infinite structures always come out with OO-based .WHICH, I think it'll work
(and assuming .Str never throws away any important part of the .WHICH 18:55
which could result in a DOS attack.)
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
the main thing is that everything about the identity must participate in the hash somehow
(and, of course, the hash function itself should be randomized) 18:57
okay, well, I'm not pushing for it, except that I'd also like to see real Sets and Bags someday based on Hash :) 18:58
well, and the invert bug probably wouldn't have happened... 19:00
jnthn TimToady: True, though it was a horribly inefficient way to implement SomeEnumType.(UnderlyingValue) 19:01
19:02 kaare__ is now known as kaare_
TimToady esp for an enum with linear values :) 19:02
well, decent constant folding would probably fix that eventually 19:06
jnthn Uhm. 19:11
sorear good * #perl6
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.
jnthn I just ran the pi thingy through the profiler, both at C level and Perl 6 level.
sorear +1 to systematically reviewing roast
jnthn 20% of the time is spent with the bigint implementation calling free() 19:12
And 13% in realloc and 12% in malloc. 19:14
19:21 kaare_ left, kaare_ joined
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:24
19:25 wolfman2000 joined
moritz tests parrot's Configure.pl --profile 19:27
19:30 Ross is now known as nallar
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"␤»
moritz nom: my role orig-string[$o] { method Str() { $o.Str } }; my $a = 7 but orig-string['7']; say $a - 2
p6eval nom e396ad: OUTPUT«5␤»
colomon sorear: as you probably gathered, that message was obsolete -- real-bridge.t works 100% now on niecza, and the changes are all pushed.
moritz \o/
jnthn moritz++ 19:40
19:41 bkolera joined
sorear colomon: \o/ 19:41
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␤»
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
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…
jnthn moritz: OK. What about the one to fix -n?
moritz jnthn: ah right, forgot that one :-) 19:45
jnthn: it works, except the part that should make $_ 'is copy'
at least last I checked :-)
dalek ast: 77705ba | moritz++ | S03-operators/arith.t:
RT #108052, mixins into Int propagated through operators
jnthn moritz: OK, is it merged? 19:46
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
jnthn k 19:51
moritz hm, the profiling didn't work 19:54
19:55 s1n joined
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
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 left, icwiener joined
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?
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
no, it's primary type would be Int, derived from Str 19:59
*its
moritz "derived from Str"?
what does that mean?
TimToady "7" but Int(7), more or less
a reparented Int, or possibly MI 20:01
colomon niecza: use Test; my $a = 7; is ($a - 3).Str, '4'
p6eval niecza v13-266-g6383a22: OUTPUT«ok 1␤»
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;
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…
jnthn Ah. Yes. :) 20:03
TimToady :)
TimToady will push this till he makes a mistake, and then blame the flu :)
colomon afk # skiing # rubbing it in for snowless Swedes ;) 20:04
20:04 kaare__ joined
masak g'ah :) 20:04
20:05 kaare_ left
jnthn masak: That's it. We relocate Edument to Kiruna. :P 20:05
20:05 nallar is now known as nallar|afk
jnthn TimToady: fwiw, I...don't fancy breaking the MRO suffix rule. I forget why. I think there's a good reason. :) 20:06
oh, yeah
sorear sweden is a bit far away :|
jnthn It gets absolutely horrible.
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.
masak jnthn: Kiruna -- you're on! 20:08
jnthn Snow! Northern lights! Reindeer stew! \o/ 20:09
masak \o/ 20:10
masak .oO( jnthn's Ice Hotel with naturally chilled beer ) 20:11
jnthn \o/
TimToady maybe allomorphic literals is a reasonable place to use MI 20:12
moritz colomon: it is.
colomon: previously in nom, infix:<-> (and most other arithmetic ops) boxed in the type of the left argument (and not Int) 20:13
20:13 s1n left
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:13
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:14
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
er, un-SI it
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
masak well, maybe they don't actually need to be Str, come to think of it.
maybe that's better left as a special case.
jnthn Though maybe the idea that a mixin may move object memory already hoses such optimizations...
20:17 ksi joined
jnthn Hm, no, not so much... 20:17
dalek kudo/nom: 326de8c | moritz++ | src/Perl6/ (3 files):
Merge remote branch 'origin/fix-n-p' into nom
20:18
TimToady here's another whacked out idea: make all numeric types derive via Str, since they all have a stringy representation 20:19
but that certainly would make jnthn++ very unhappy :) 20:20
masak that's how Moose has it.
jnthn TimToady: Why would that one make me very unhappy? :)
TimToady: We keep SI.
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?
jnthn oh
TimToady would that imply that all numbers have to carry a string repr?
jnthn TimToady: It'd mean they were a pointer bigger.
geekosaur welcome back to p5? :)
TimToady or we fudge it somehow
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:22
TimToady but we're kinda talking about an optional REPR here... 20:23
like a union
jnthn TimToady: So this case doesn't mean more allocations, it just means the objects are a bit bigger
TimToady: I don't see how it's unionish.
TimToady if you want to save the extra alloc 20:24
sizewise
jnthn TimToady: But I thought we'd want to keep the original thing PLUS the extra way of looking at it?
sorear looks like val() is becoming contentious again 20:25
sorear scratches it off the TODO
20:25 fsergot left
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:25
TimToady well, I'm still thinking MI is the better approach, if the storage falls out naturally 20:26
class IntStr is Int is Str {...}
jnthn Yeah, if you declare it that way, it will 20:27
Oh.
It means we need a way to box two thingies into a single object.
sorear will not quite work currently in niecza, but fixable
jnthn 6model core handles it fine though. 20:28
sorear colomon++ blog
TimToady and it's only the literals or textual inputs that need this allomorphism
the val things 20:29
we need a name for 'em
jnthn TimToady: Would be just declare type IntSr, NumStr and RatStr?
*IntStr
TimToady I think so
sorear PairStr, BoolStr?
TimToady again, the question is whether multi (Int) vs multi (Str) will give the edge to the Int nature 20:30
that's the point at which we might need to force it slightly
jnthn nom: class IntStr is Int is Str { }; multi m(Int) { say 1 }; multi m(Str) { say 2 }
p6eval nom e396ad: ( no output )
jnthn er
nom: class IntStr is Int is Str { }; multi m(Int) { say 1 }; multi m(Str) { say 2 }; m(IntStr)
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␤»
jnthn Yeah.
TimToady some way to make Str defer to numbers, basically 20:31
20:31 nallar|afk is now known as nallar
TimToady in an epsilonish sort of way 20:31
jnthn Wait, which one do we want to have as the winner? :)
20:31 birdwindupbird left
TimToady the numeric, I think 20:32
jnthn
.oO( class Int beats Str { } )
TimToady
.oO(rock paper scissors)
20:33
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
TimToady maybe only if we actually get an ambiguous dispatch otherwise as a failover
or however you say it in English
jnthn sub foo(Int $x) { $x + 1 } # we never get an ambiguous dispatch here. We already inlined. 20:39
20:39 kaare__ left
TimToady thinking about your ambiguous dispatch above 20:39
jnthn TimToady: I have a feeling your suggestion may be sneaking effective mutability into our immutable candidate lists through the back door. 20:40
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.
TimToady: Hm. It may be OK. 20:44
20:47 kaare__ joined
jnthn class IntStr is Int is Str { } 20:47
multi x(Int $x) { y($x) } # wins, and has inlined y
multi x(Str) { } # loses
multi y(Int) { } # can we construct another y candidate that causes issues?
The existence of a multi y(IntStr) { } would have prevented the compile time decision or inlining of the y($x) call
sorear Wait, does S02:3573 require '' inside «» to suppress _interpolation_? 20:57
20:58 fsergot joined
TimToady that's what a shell would do... 20:58
dalek p: 0aa0387 | (Gonéri Le Bouder)++ | 3rdparty/dyncall/ (3 files):
fix: kfreebsd build

GNU/kFreeBSD uses the GNU libc whereas Android uses its own libc. So OS_Linux is not reliable enough to identify a glibc.
We use __GLIBC__ to know if we are on a glibc instead of OS_Linux.
__GLIBC__ is defined by features.hi which is pulled by the glibc headers. That's the reason why we can't check __GLIBC__ at the begining of the file.
21:04
p: b9daf3b | jonathan++ | 3rdparty/dyncall/ (3 files):
Merge pull request #27 from goneri/master

fix kFreeBSD build and probably other glibc based OS like hurd
21:06 zjmarlow joined 21:07 dorlamm joined 21:10 fsergot left, GlitchMr left 21:17 rindolf left 21:18 huf left 21:20 kmwallio joined 21:23 dorlamm left
masak 'night, #perl6 21:24
sorear bye 21:25
tadzik oh, night already? :( G'night masak
jnthn Yeah...already :/ 21:26
Ergh...I got a week of early mornings coming up too :/
arnsholt Ok, this is pretty cool. I can make basic TeX-like macro-expansion in about a page of code 21:31
The power of Perl 6 strikes again
21:42 nallar left 21:45 Moukeddar joined 21:48 molaf_ left 21:49 kaare__ left 22:10 thou left 22:21 molaf joined 22:22 muixirt left 22:24 pmurias joined
pmurias tests in roast should have an explicit plan? 22:25
22:26 huf joined 22:34 cooper left
[Coke] # 01/15/2012 - niecza at 98.54% 22:37
jnthn 20:00 ‎Eating out & getting drunk‎ (240 min) 22:39
(from the GPW schedule)
That's...er...to the point.
tadzik :) 22:41
jnthn scribbled a blog post 6guts.wordpress.com/2012/01/15/look...g-forward/ 22:42
22:45 samlh joined
samlh jnthn: end of the blog post needs snipping :) 22:46
tadzik whoa, that's one long post 22:47
22:48 bacek left
tadzik oh, no, it's just the first page of jnthn's blog :) 22:49
jnthn samlh: eek, how'd that happen
samlh: fixed, thanks
samlh jnthn: np 22:50
TimToady "fall on may plate" 22:51
jnthn Guess I'm still hoping it may not :P
fixed
22:52 cooper joined 22:53 panterax left
TimToady "S05 and S09 needs work." verb agreement problem, seemingly 22:54
jnthn ah, it probably wants to say "Rakudo's support for S05 and S09 needs work" 22:55
Changed it to that.
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.
felher jnthn: great! :D
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
felher jnthn++: sounds good to me :)
23:01 kmwallio left 23:02 donri left
jnthn sorear: I don't know, and frankly, I don't give a ... 23:02
23:04 bacek joined
jnthn Guess I should go rest...$client are expecting me earlyish... 23:09
&
tadzik g'night
jnthn 'night o/
pmurias sorear: hi 23:10
sorear pmurias: hi 23:11
pmurias sorear: why are you putting classes in our variables? 23:13
nasty hack to reduce compile time?
23:14 icwiener left
sorear reduces compile time, increases likelyhood of compiler catching errors, makes it easier to do dependency-injection stuff 23:15
23:16 Moukeddar left
pmurias catching errors - how so? 23:17
23:20 arlinius left
sorear $Foo is an error if $Foo isn't declared 23:20
please don't give me a hard time over this, I've already given myself enough of a hard time 23:21
23:21 localhost left
pmurias sorear: ok :) 23:21
23:22 localhost joined
pmurias sorear: what do i have to do to enable line numbers in mono exceptions? 23:24
23:24 samlh left
sorear pmurias: mono --debug 23:25
23:28 arlinius joined
pmurias sorear: thanks, that helped fix the bug 23:37
dalek ecza: 5ff062b | (Paweł Murias)++ | lib/p5embed.c:
Disable the destruction of the interpreter as it segfaults.
23:38
ecza: 816e8f4 | (Paweł Murias)++ | lib/Perl5Interpreter.cs:
Unbitrot calling p5 subs, examples/term-ansicolor.pl works again.
23:43 tokuhirom joined 23:54 PacoAir left