»ö« 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 44» | ||
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 44» | ||
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 1Unhandled 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)0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081xE2x90 | ||
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)0Increase1Increase2Same3Decrease4Decrease5Decrease6Decrease7Decrease8Decrease9Decrease10Decrease11Decrease12Decrease13Decrease14Decrease15Decrease16Decrease17Decrease18Decrease19Decrease20Decrease21Decrease22Decrea… | ||
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
|