»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
timotimo | i think the spectests are clean so far and will stay clean until the end | 00:00 | |
00:01
rurban1 joined
|
|||
japhb | r: my $r = 1.969; $r.fmt("%.{$_}f").say for 0..3 | 00:02 | |
camelia | rakudo-jvm 7142b7: OUTPUT«1.1.1.1.» | ||
..rakudo-parrot 7142b7: OUTPUT«1.1.01.971.969» | |||
colomon | :(\ | 00:03 | |
japhb | Three bugs there, I think. | ||
colomon | three? | ||
oh | |||
yow | |||
colomon hopes they are not his fault | 00:04 | ||
\ | |||
japhb | rakudo-jvm always wrong, r-p wrong for .1f, and failure to drop trailing . when no remaining after-. digits | ||
Free karma to the person who turns that into spec tests, double if they actually fix at least the r-p .1f bug, triple if they fix all of them. I'm feeling expansive tonight. ;-) | 00:05 | ||
colomon | shouldn't first one be 2? | ||
japhb | Yeah, that's four bugs. | ||
Sheesh. | |||
colomon | basically, it's just complete fail | 00:06 | |
japhb | Sadly, yes, I think so. | ||
:-( | |||
colomon | does sprintf fo the same thing | ||
japhb | Hadn't tried it. Just had golfed a fail in a larger problem down to that. | 00:07 | |
s/problem/program/; Well, I guess that depends on how you look at it. | |||
colomon | oh | ||
Niecza's results: | |||
1.969000 | |||
2.0 | |||
1.97 | |||
1.969 | |||
00:07
pjcj left
|
|||
japhb | Interesting. And much better. | 00:07 | |
colomon | not sure if that's a niecza bug on the first or not. | 00:08 | |
japhb | Though that first one is indeed odd, at least it's not complete fail. | ||
I would think .0 should mean no decimals just like in sprintf, though. | |||
r: my $r = 1.969; $r.sprintf("%.{$_}f").say for 0..3 | 00:09 | ||
camelia | rakudo-parrot 7142b7: OUTPUT«Too few directives: found 0, fewer than the 1 arguments after the format string in any TOP at gen/parrot/stage2/NQPHLL.nqp:2102 in any !reduce at gen/parrot/stage2/QRegex.nqp:724 in any !cursor_pass at gen/parrot/stage2/QRegex.nqp:686 in …» | ||
..rakudo-jvm 7142b7: OUTPUT«Too few directives: found 0, fewer than the 1 arguments after the format string in any TOP at gen/jvm/stage2/NQPHLL.nqp:2056 in any !reduce at gen/jvm/stage2/QRegex.nqp:724 in any !cursor_pass at gen/jvm/stage2/QRegex.nqp:686 in any parse at…» | |||
japhb | r: my $r = 1.969; sprintf("%.{$_}f", $r).say for 0..3 | ||
camelia | rakudo-jvm 7142b7: OUTPUT«1.1.1.1.» | 00:10 | |
..rakudo-parrot 7142b7: OUTPUT«1.1.01.971.969» | |||
japhb | That was a way LTA error message, BTW. | ||
I pretty much solved it with a WAG. | |||
Looks like rakudo does the same thing with .fmt and with &sprintf | |||
colomon | probably .fmt just calls sprintf | ||
okay, I'm going to add sprintf tests | 00:12 | ||
japhb_ | Thank you, colomon++! | 00:13 | |
colomon | you're not out of this yet, you need to help me figure out what the correct answers are. | ||
japhb_ | Without any irony, "whatever perl5 says". | 00:17 | |
Going AFK for a bit | |||
lue | r: my $a = 4; say 32.fmt("%0{$a}X") | 00:18 | |
camelia | rakudo-jvm 7142b7: OUTPUT«use of uninitialized value of type Any in string contextToo few directives: found 0, fewer than the 1 arguments after the format string in any TOP at gen/jvm/stage2/NQPHLL.nqp:2056 in any !reduce at gen/jvm/stage2/QRegex.nqp:724 in any !curso…» | 00:19 | |
..rakudo-parrot 7142b7: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/fHut4SfDu3:1Too few directives: found 0, fewer than the 1 arguments after the format string in any TOP at gen/parrot/stage2/NQPHLL.nqp:2102 in any !reduce at gen/pa…» | |||
lue | fmt has a general problem with interpolation. | ||
00:19
BenGoldberg left
|
|||
dalek | ast: 49d91df | (Solomon Foster)++ | S32-str/sprintf.t: sprintf tests on rounding numbers like 1.969. Tests issues found by japhb. |
00:23 | |
00:23
BenGoldberg joined
|
|||
colomon | afk # time to make up a bedtime story for the 5yo | 00:24 | |
dalek | ast: af65b62 | (Geoffrey Broadwell)++ | S32-str/sprintf.t: Fix description copy pasta in new sprintf tests |
00:33 | |
00:34
pjcj joined
|
|||
BenGoldberg | Copy pasta? | 00:37 | |
Is that served with copy pesto? | 00:40 | ||
BenGoldberg clearly needs to eat, as his noodle is generating too many thoughts of food. | 00:42 | ||
geekosaur | usually spaghetti code :p | ||
^part of | 00:43 | ||
00:46
gfldex left
00:51
jeff_s1 left
00:52
jeff_s1 joined
00:59
gfldex joined
01:03
btyler joined
|
|||
timotimo | okay so i've run the spectests, but for jvm i got only "no subtests run" after a bunch of tests | 01:05 | |
preflex | timotimo: you have 1 new message. '/msg preflex messages' to read it. | ||
dalek | kudo/chained_whatevercode: dfeff62 | (Timo Paulssen)++ | src/Perl6/Actions.nqp: fix whatever currying for chain ops When a WhateverCode gets created from a chain op, it'll be annotated with its original arguments and when a WhateverCode with a chain op ends up calling a WhateverCode that also had a chain in it, it will "flatten out" the arguments of that WhateverCode, creating a proper chain. |
01:10 | |
timotimo | i would appreciate spectesting this and other testings | ||
01:13
hummeleB1 joined
01:14
thou left
|
|||
colomon | mmmm, pesto | 01:18 | |
dalek | -pb: 13a19c0 | (Geoffrey Broadwell)++ | lib/PB/Binary/Reader.pm: Continue work on PB::Binary::Reader Getting closer, but still a bit more to go before it's testable. |
01:22 | |
colomon | peanut butter binary reader? | 01:23 | |
01:26
btyler left
|
|||
lue | colomon: I keep thinking PowerBook when I see PB in allcaps, for some reason. | 01:26 | |
01:53
tgt left
|
|||
timotimo | r: say sub { 5 }() | 01:54 | |
camelia | rakudo-parrot 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/W1bbYGrU9CTwo terms in a rowat /tmp/W1bbYGrU9C:1------> say sub { 5 }⏏() expecting any of: postfix statement end statement modifie…» | ||
..rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/KhRVNfW1kzTwo terms in a rowat /tmp/KhRVNfW1kz:1------> say sub { 5 }⏏() expecting any of: postfix statement end statement modifier…» | |||
timotimo | r: .say for < $< $> > | 01:55 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«$<$>» | ||
timotimo | i'm not exactly sure how that's supposed to work anyway o_O | ||
BenGoldberg | r: .say < $foo > | 01:57 | |
TimToady | it's counting brackets, but I don't know why it's not splitting into two words | ||
camelia | rakudo-parrot 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/ikwHnG_wttVariable '$foo' is not declaredat /tmp/ikwHnG_wtt:1------> .say < $foo⏏ > expecting any of: postfix» | ||
..rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/O4mw2Goi7GVariable '$foo' is not declaredat /tmp/O4mw2Goi7G:1------> .say < $foo⏏ > expecting any of: postfix» | |||
BenGoldberg | r: .say < $< > | ||
camelia | rakudo-parrot 455fbc: OUTPUT«Niluse of uninitialized value of type Nil in numeric context in block at /tmp/duhm53AajH:1» | ||
..rakudo-jvm 455fbc: OUTPUT«Niluse of uninitialized value of type Nil in numeric context» | |||
BenGoldberg | r: .say < $> > | ||
camelia | rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/rTAD3C9adxUnsupported use of $> variable; in Perl 6 please use $*EUIDat /tmp/rTAD3C9adx:1------> .say < $>⏏ >» | ||
..rakudo-parrot 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/_fhYVsyPGLUnsupported use of $> variable; in Perl 6 please use $*EUIDat /tmp/_fhYVsyPGL:1------> .say < $>⏏ >» | |||
TimToady | .say doesn't take arguments | 01:58 | |
BenGoldberg | r: say < $< > | ||
camelia | rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/Z8_xiMDE1lUnable to parse expression in quote words; couldn't find final '>' at /tmp/Z8_xiMDE1l:1------> say < $< >⏏<EOL> expecting any of: arg…» | ||
..rakudo-parrot 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/rE9vxqS7ZMUnable to parse expression in quote words; couldn't find final '>' at /tmp/rE9vxqS7ZM:1------> say < $< >⏏<EOL> expecting any of: …» | |||
TimToady | r: say < $< $> >.elems | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«1» | ||
TimToady | r: say < < > >.elems | 01:59 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«1» | ||
TimToady | r: say < < > >.[0] | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«<>» | ||
TimToady | r: say < < > >.[0].SHAT | ||
camelia | rakudo-jvm 455fbc: OUTPUT«No such method 'SHAT' for invocant of type 'Str' in block at /tmp/5b9FMqrvzb:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292 in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196 in any…» | ||
..rakudo-parrot 455fbc: OUTPUT«No such method 'SHAT' for invocant of type 'Str' in block at /tmp/yVxpzCfuJC:1 in any at /tmp/yVxpzCfuJC:1 in any at gen/parrot/stage2/NQPHLL.nqp:1146 in any eval at gen/parrot/stage2/NQPHLL.nqp:1133 in any evalfiles at gen/parrot/…» | |||
TimToady | r: say < < > >.[0].WHAT | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«(Str)» | ||
TimToady | I don't see any rational for turning < < > > into '<>' | 02:00 | |
timotimo | r: my $foo = set <a b c d>; $foo (|)= (set <b c d e>); say $foo; | ||
camelia | rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/LqJHQYijeqTwo terms in a rowat /tmp/LqJHQYijeq:1------> my $foo = set <a b c d>; $foo ⏏(|)= (set <b c d e>); say $foo; expecting any of: postfix …» | ||
..rakudo-parrot 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/ByhJwEmQiiTwo terms in a rowat /tmp/ByhJwEmQii:1------> my $foo = set <a b c d>; $foo ⏏(|)= (set <b c d e>); say $foo; expecting any of: postfix …» | 02:01 | ||
timotimo | weird. | ||
02:01
sunnavy left
02:02
thou joined
|
|||
colomon | timotimo: works in Niecza. ;) | 02:06 | |
TimToady | r: my $foo = set <a b c d>; $foo ∪= set <b c d e>; say $foo | 02:11 | |
camelia | rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/vPyKQfqLHPTwo terms in a rowat /tmp/vPyKQfqLHP:1------> my $foo = set <a b c d>; $foo ⏏∪= set <b c d e>; say $foo expecting any of: postfix i…» | ||
..rakudo-parrot 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/o6D4gdD4BVTwo terms in a rowat /tmp/o6D4gdD4BV:1------> my $foo = set <a b c d>; $foo ⏏∪= set <b c d e>; say $foo expecting any of: postfix …» | |||
TimToady | that should be working | 02:14 | |
./src/core/set_operators.pm:only sub infix:<<"\x222A">>(|p) { | |||
dalek | p: 529c7b3 | (Solomon Foster)++ | t/hll/06-sprintf.t: More tests based on bug found by japhb. |
||
colomon | r: my $foo = set <a b c d>; $foo = $foo ∪ set <b c d e>; say $foo | 02:15 | |
camelia | rakudo-jvm 455fbc: OUTPUT«set(b, a, d, c, e)» | ||
..rakudo-parrot 455fbc: OUTPUT«set(a, b, c, d, e)» | |||
TimToady | interesting | ||
colomon | TimToady: it's just using op= that breaks it | ||
TimToady | why should op= care whether op is unicode? | 02:16 | |
colomon | it doesn't, (|)= doesn't work either | ||
TimToady | (well, it's all unicode, but non-ascii) | ||
is rakudo not implement op= as a meta-operator? | |||
*menting | |||
or is this more "not quite" damage? | 02:17 | ||
colomon | TimToady: it should be, I think it's just wigging out on this | ||
timotimo | Result: PASS | ||
t/spec/S02-types/whatever.rakudo.parrot (Wstat: 0 Tests: 83 Failed: 0) TODO passed: 79-80 | |||
so i just need someone to spectest chained_whatevercode on jvm. lizmat perhaps? | 02:18 | ||
colomon | r: sub infix:<XMAS>($a, $b) { $a * $b; }; my $r = 10; $r XMAS= 5; say $r; | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«50» | ||
colomon | TimToady: wonder if the problem has something to do with it being a list op? | ||
timotimo | bedtimes! | 02:19 | |
TimToady | r: sub infix:<💩>($a,$b) { $a * $b }; my $r = 10; $r 💩= 5; say $r | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«50» | ||
colomon | what the heck is that? | ||
.u 💩 | |||
128169, eh? | 02:21 | ||
oh | |||
My font is not showing that very clearly. | |||
www.fileformat.info/info/unicode/ch.../index.htm | 02:22 | ||
TimToady | just as well :) | ||
r: my @a = <a b c>; @a Z~= 1,2,3; say @a | 02:26 | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«a b c» | ||
TimToady | r: my @a = <a b c>; @a [Z~]= 1,2,3; say @a | ||
camelia | rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/WaQAHFKoEqPreceding context expects a term, but found infix = insteadat /tmp/WaQAHFKoEq:1------> my @a = <a b c>; @a [Z~]=⏏ 1,2,3; say @a» | ||
..rakudo-parrot 455fbc: OUTPUT«===SORRY!=== Error while compiling /tmp/of9Ftw8PnnPreceding context expects a term, but found infix = insteadat /tmp/of9Ftw8Pnn:1------> my @a = <a b c>; @a [Z~]=⏏ 1,2,3; say @a» | |||
TimToady | r: my @a = <a b c>; @a Z= 1,2,3; say @a | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«a b c» | ||
TimToady | r: my @a = <a b c>; @a Z[~=] 1,2,3; say @a | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«a b c» | ||
02:44
_ilbot left
02:46
_ilbot joined
02:48
gfldex left
02:50
gfldex joined
03:13
gfldex left
03:15
gfldex joined
03:18
fridim_ joined
03:19
fridim_ left
03:34
araujo left,
xinming_ joined
03:36
fridim_ joined
03:37
xinming left
03:39
hummeleB1 left
|
|||
lue wonders if he should push S15 tests to a branch initially, since he's only got rakudo on-hand to fudge things from the start. | 03:43 | ||
colomon | warning to nqp folks, I added tests that fail in the NQP sprintf tests. I'd hoped to have them fixed tonight, but I'm giving up and going to bed. | 03:44 | |
lue | niecza: say "hello! o/" | 03:47 | |
camelia | niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]» | ||
lue | ♞ colomon o/ | ||
04:02
xinming joined
04:04
xinming_ left
04:07
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex left
04:08
preflex_ is now known as preflex
04:12
lumimies left
04:13
lumimies joined
04:14
ivanshmakov left,
geekosaur left,
ivanshma` joined
04:17
flussence joined
04:19
atrodo joined
|
|||
dalek | ast: 361d850 | lue++ | S15-strings/ (3 files): Add the first S15 tests. Not nearly enough, but hopefully serves as a start for others to chip in. At the very least, I expect those more versed in test writing to fix my blunders :) . |
04:19 | |
04:19
geekosaur joined
|
|||
lue | I have to say, what I wrote wasn't at all impressive, but I already felt the power of Moar Unicode in Perl 6 :) | 04:20 | |
TimToady | :) | 04:21 | |
lue | TimToady: would it make sense for chr and chrs to return Uni objects, seeing as there's no telling what NF the numbers are in? Or would auto-conversion to NFG actually be appreciated? | 04:23 | |
(my thinking is that people with a specific list of codepoints would like to preserve that, even after conversion to a string-like object.) | 04:26 | ||
japhb | lue: FWIW, that thinking makes sense to me | 04:27 | |
lue | It has a bonus of discouraging people from trying to feed a Str-making function negative numbers, because it won't be generating a Str in the first place. | 04:29 | |
04:35
atroxaper joined
|
|||
TimToady can't see anything wrong with doing it that way offhand | 04:35 | ||
dalek | ecs: db99244 | lue++ | S15-unicode.pod: [S15] Change .chr(s) to return Uni, not Str. This is because Uni is the only string type that won't convert strings given to it, which for people who are playing with numeric arrays of codepoints is probably important. |
04:38 | |
lue gets the sense that he'll find himself reading the Unicode standard, the whole thing, in the near future :) . | 04:43 | ||
I also wouldn't be surprised if, in the next couple of months, I finally send in the CLA and end up doing most of the implementation work on S15 :) . | 04:46 | ||
japhb | The whole Unicode standard? That's ... a lot. | 04:48 | |
lue | japhb: I didn't say I'd read it *quickly* :) . | 04:51 | |
04:51
xenoterracide left
|
|||
japhb | lue: Well, you have to read it faster than they produce more of it, or you'll never get done. :-) | 04:51 | |
lue | japhb: The Standard is good about not making drastic or previous-knowledge-deprecating changes most of the time. So at least that. | 04:53 | |
.oO(Unicode 6.3 is technically a just a list of changes since 6.2, since IIRC they didn't bother reprinting the whole deal for 6.3 . Next version will be 7.0 judging by the available UCD files.) |
04:54 | ||
BenGoldberg | r: sub infix:<OTFLOL> ($a, $b) { $a, $b }; say [OTFLOL] 1..4; say [ROTFLOL] 1..4; | 05:10 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«1 2 3 44 3 2 1» | ||
BenGoldberg | r: sub infix:<OTFLOL> ($a, $b) { $a, $b }; .say for [ROTFLOL] 1..4; | 05:14 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«43 2 1» | ||
BenGoldberg is confused. | |||
What is the 4 seperate from 3 2 1? | |||
05:17
xenoterracide joined
05:24
Pleiades` left
05:29
Pleiades` joined
05:32
jeff_s1 left
05:33
xenoterracide left,
jeff_s1 joined
05:37
xinming_ joined
05:39
xinming left
05:43
xinming joined,
xinming_ left
06:37
BenGoldberg left
06:40
atroxaper left
06:41
atroxaper joined
06:46
darutoko joined
|
|||
lue | .oO(Fun Fact: despite what you might initially believe, mu/util/podhtm.pl only generates one HTML file in the synopses conversion process.) |
06:48 | |
06:58
kaare__ joined
06:59
Tene left,
djanatyn left
07:00
djanatyn joined,
Tene joined
|
|||
lue | moritz: for the synopses, would you prefer that the new HTML generation toolchain be outside of mu much as possible? If so, I assume using panda to obtain the stuff is preferred? | 07:07 | |
♘ all o/ | |||
07:09
rurban1 left
07:14
atroxaper left
07:15
atroxaper joined
|
|||
moritz | lue: I don't care much where the stuff is | 07:21 | |
lue: though come to think of it, I'd prefer a repo in the perl6 organization | 07:23 | ||
though I can fork repos into that org if necessary | 07:24 | ||
07:26
atroxaper left
07:27
atroxaper joined
07:29
SamuraiJack_ joined
07:31
araujo joined
07:33
araujo left
|
|||
TimToady | r: sub infix:<OTFLOL> (\a, \b) { a, b }; .perl.say for [ROTFLOL] 1..4; | 07:33 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«4321» | ||
07:33
araujo joined,
araujo left,
araujo joined
07:34
slavik left
|
|||
TimToady | r: sub infix:<OTFLOL> (*@a) { @a }; .say for [ROTFLOL] 1..4; | 07:36 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«4321» | ||
TimToady | or that | ||
zzz & | |||
07:42
camelia left
07:46
camelia joined
07:48
ChanServ sets mode: +v camelia
08:01
thou left
08:02
camelia left
08:03
raydiak_ left
08:10
rurban1 joined
08:14
nnunley left,
rurban1 left
08:19
camelia joined,
raydiak_ joined
08:20
ChanServ sets mode: +v camelia
08:28
atroxaper left
|
|||
timotimo | r: (say [X] ($(1, 2, 3) xx $_)) for 1..4; | 08:45 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«1 2 31 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 31 1 1 1 1 2 1 1 3 1 2 1 1 2 2 1 2 3 1 3 1 1 3 2 1 3 3 2 1 1 2 1 2 2 1 3 2 2 1 2 2 2 2 2 3 2 3 1 2 3 2 2 3 3 3 1 1 3 1 2 3 1 3 3 2 1 3 2 2 3 2 3 3 3 1 3 3 2 3 3 31 1 1 1 1 1 1 2 1 1 1 3 1…» | ||
timotimo | r: (say ([X] ($(1, 2, 3) xx $_)).perl) for 1..4; | 08:46 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«((1,), (2,), (3,)).list((1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)).list((1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, …» | ||
timotimo | that's pretty darn nifty. | ||
although i think i have to force all these operators into awkward precedence :D | |||
r: say ([X] ($(1, 2, 3) xx $_)).perl for 1..4; | 08:47 | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«((1,), (2,), (3,)).list((1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)).list((1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, …» | ||
timotimo | r: say ([X] $(1, 2, 3) xx $_).perl for 1..4; | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«((1,), (2,), (3,)).list((1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)).list((1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, …» | ||
timotimo | actually i don't. huh, pretty cool! | ||
r: for ([X] $(1, 2) xx 4).tree -> \foo { say foo }; | 08:50 | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«1 1 1 11 1 1 21 1 2 11 1 2 21 2 1 11 2 1 21 2 2 11 2 2 22 1 1 12 1 1 22 1 2 12 1 2 22 2 1 12 2 1 22 2 2 12 2 2 2» | ||
timotimo | r: for ([X] $(1, 2) xx 4) -> \foo { say foo }; | ||
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«11111112112111221211121212211222211121122121212222112212222…» | ||
08:53
rindolf joined
|
|||
timotimo | r: eval '{ 1 < $^a < 3 }' | 08:54 | |
camelia | rakudo-jvm 455fbc: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in block at eval_0:1 in sub eval at gen/jvm/CORE.setting:684 in block at /tmp/1iFwqQEbXC:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/N…» | ||
..rakudo-parrot 455fbc: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in block at eval_0:1 in any at eval_0:1 in sub eval at gen/parrot/CORE.setting:692 in sub eval at gen/parrot/CORE.setting:683 in block at /tmp/SenabOqL7H:1 in any a…» | |||
timotimo | r: eval '-> { 1 < $^a < 3 }' | 08:55 | |
camelia | rakudo-parrot 455fbc, rakudo-jvm 455fbc: OUTPUT«===SORRY!=== Error while compiling eval_0Placeholder variable '$^a' cannot override existing signatureat eval_0:1------> -> { 1 < $^a < 3 }⏏<EOL> expecting any of: postfix…» | ||
timotimo | ... how do i ... | ||
r: eval 'sub { 1 < $^a < 3 }' | |||
camelia | ( no output ) | ||
timotimo | ah! | ||
moritz | or simply without the -> | ||
timotimo | no, see above | 08:57 | |
turns out my chained_whatevercode branch still has issues | 08:58 | ||
08:58
kivutar joined
|
|||
timotimo | brought to light by a "test suite" that automatically turns code like 1 < $^a < $^b < 10 into 1 < * < * <10 and such | 08:58 | |
hm, now it would be super helpful if i could a) tell eval directly to dump the ast or b) have --target=ast that doesn't stop after the first ast stage | 09:01 | ||
i guess i can still nqp::getcomp, though | |||
09:10
rindolf left
09:12
fridim_ left
09:22
[Sno] left
09:31
atroxaper joined
09:45
bakedb left
09:46
bakedb joined
09:47
atroxaper left
09:48
spider-mario joined,
spider-mario left
09:49
kivutar left
09:50
spider-mario joined
|
|||
timotimo suspects something messing with a qast node that's shared, and so distributes some nqp::clone calls throughout the code ... >_< | 09:57 | ||
diakopter | QASHARED | 09:58 | |
timotimo | QASH? :) | 09:59 | |
is pm working on a more efficient hash implementation perchance? | |||
diakopter | he's otherwise occupied for the time being still | 10:00 | |
afk& | |||
lizmat | good *, #perl6 | 10:03 | |
dalek | : 3311b3d | (Elizabeth Mattijsen)++ | misc/perl6advent-2013/schedule: 20: Defaulting to Nililism & other variable traits |
10:08 | |
lizmat | need to go out just about now: if I get back tonight and there is still no advent blog post, I'll move mine up to today | 10:09 | |
10:12
bloonix joined
|
|||
jnthn | Morning-ish, #perl6 | 10:20 | |
preflex | jnthn: you have 1 new message. '/msg preflex messages' to read it. | ||
jnthn | japhb: Looks so...will update it... | ||
lizmat: It's my turn today. I'll be working on it shortly. :) | 10:21 | ||
jnthn maybe should sign up for the day *after* the one he'll have time to write posts, just to prevent panic. ;) | 10:22 | ||
timotimo | if it's acceptable to deliver the blog post for a day *on* the day of the post, i won't have to ask for mine to be moved a day back! :) | 10:23 | |
bleeeeh, where is that "Unknown QAST node type NQPMu" coming from >:( | 10:24 | ||
something where $thing.HOW.name($thing) returns NQPMu, but ... what?! | 10:25 | ||
timotimo hopes for a better error message on jvm | |||
FROGGS | hi jnthn | 10:26 | |
jnthn | timotimo: Well, I suspect the answer may be to make NQP's error detection more robust...dunno how hard that'll be. :) | ||
o/ FROGGS | |||
10:28
Piers_ left
|
|||
timotimo | No such method 'jast' for invocant of type 'NQPMu' d'ohpe | 10:28 | |
jnthn | Does looking at the --target=ast output not show something up | 10:30 | |
? | |||
10:33
gfldex left
|
|||
timotimo | no :( | 10:36 | |
let me paste you a bit | |||
FROGGS | someone wanna port a core module? :o) github.com/rakudo-p5/v5/blob/maste...modules.md | 10:37 | |
timotimo | gist.github.com/timo/fac77c791de77a5dab79 | ||
port? are these written in C? | 10:38 | ||
FROGGS | timotimo: don't think so | 10:39 | |
at least, the majority should be written in perl | 10:40 | ||
timotimo | can't you just compile them with v5 then? | ||
FROGGS | timotimo: btw, is your gist complete? | ||
timotimo | that's all the output there is | ||
10:40
rindolf joined
|
|||
FROGGS | timotimo: I just need to provide their api, how I/someone does that is up to that someone | 10:40 | |
timotimo | ah, ok | ||
jnthn | timotimo: The chain at 65 looks suspect | 10:42 | |
It only has one child | |||
But a chain needs two | |||
timotimo | oh! | ||
how did i overlook that? >_> | |||
thanks | |||
jnthn | Well, maybe let's improve the error too :) | ||
FROGGS | yeah, that probably is it | ||
timotimo | sure, the op "chain" needs to complain if the number of arguments is <= 1 | 10:43 | |
right? | |||
FROGGS | I think the weird "cannot call .jast" might be fixed | ||
because sometimes it takes ages to figure out what is wrong | 10:44 | ||
jnthn: btw, have you seen the msg in #moarvm? could this one be related to our exploding frame? | 10:45 | ||
10:46
SamuraiJack_ left
|
|||
jnthn | FROGGS: Maybe. | 10:47 | |
10:48
denisboyun joined
10:49
ivanshma` left
10:50
ivanshma` joined
|
|||
felher | Somebody here from rumania? | 10:54 | |
jnthn | .oO( The country where they drink a lot of rum? ) |
||
felher | :D | 10:56 | |
yeah, romania I meant :) | 10:57 | ||
FROGGS | felher: not that far from romania, but no :o) | ||
lunch & | 10:58 | ||
arnsholt | timotimo: We could very well resume work on the ZMQ stuff | 11:01 | |
You starting to look into your ipython stuff again? | |||
timotimo | not sure | 11:05 | |
with JVM NativeCall around the corner, i could try | |||
the problematic thing was the heartbeat that was supposed to run in parallel | |||
for now, the blasted chained_whatevercall work is keeping me sufficiently busy :P | |||
arnsholt | Yeah, I remember the heartbeat being a problem | 11:07 | |
timotimo | (which is funny, because i recently saw a cardiologist about my own heartbeat) | ||
(the thing i went there about was completely harmless, though) | 11:08 | ||
11:14
djanatyn left
11:16
Tene left
11:17
gfldex joined,
Tene joined
11:18
djanatyn joined
11:29
gfldex left
11:33
rurban1 joined
11:35
xenoterracide joined
|
|||
timotimo | oh yeah! my code is proper now! :) | 11:35 | |
dalek | kudo/chained_whatevercode: a3ccefb | (Timo Paulssen)++ | src/Perl6/Actions.nqp: fix remaining problems with whatever_curry and chain ops |
11:36 | |
kudo/nom: dfeff62 | (Timo Paulssen)++ | src/Perl6/Actions.nqp: fix whatever currying for chain ops When a WhateverCode gets created from a chain op, it'll be annotated with its original arguments and when a WhateverCode with a chain op ends up calling a WhateverCode that also had a chain in it, it will "flatten out" the arguments of that WhateverCode, creating a proper chain. |
11:37 | ||
kudo/nom: a3ccefb | (Timo Paulssen)++ | src/Perl6/Actions.nqp: fix remaining problems with whatever_curry and chain ops |
|||
kudo/nom: 40c8114 | (Timo Paulssen)++ | src/Perl6/Actions.nqp: Merge branch 'chained_whatevercode' into nom This fixes WhateverCode generation when chain ops are involved. |
|||
timotimo does a little dance to celebrate | 11:41 | ||
jnthn | timotimo: Can you give me a quick summary of what you just fixed? :) | 11:44 | |
timotimo | what was wrong or how i fixed it? | ||
jnthn | What was wrong | ||
timotimo | sure | ||
Whatever currying would find, that the "* < 5" part of "1 < * < 5" was a WhateverCode and would emit a call to the code object | 11:45 | ||
however, for chain to properly function, it had to be inlined | |||
so i had to turn -> $outer { 1 < (-> $inner { $inner < 5 })($outer) } | 11:46 | ||
into -> $outer { 1 < $outer < 5 } | |||
(actually, i think the comparison operators are left-assoc) | 11:47 | ||
(but you get the idea) | |||
i think this warrants an entry into the changelog? :) | |||
wowza. this dumb benchmark i made for the benefits of inlining WhateverCode into ifs (like when 10 < * < 20) would give a speed improvement of 2x | 11:50 | ||
11:50
rurban1 left
|
|||
timotimo | i should find out how inline_info works | 11:50 | |
jnthn | timotimo: Yes, worth a mention | 11:53 | |
timotimo: And glad this is fixed. :) | |||
timotimo | wow, add_inlining_info_if_possible is pretty useful for this! :) | ||
it will even help in all other cases, not just when a chain is involved | 11:54 | ||
jnthn | Well, something needs to make use of the info too | ||
So we're careful where we put it. :) | |||
timotimo | the optimizer already tries to | ||
at least i hope so. | |||
jnthn | Oh :) | ||
Then it's worth it :) | |||
Well, don't assume...check :) | |||
timotimo | i'll see if it makes a difference and if not i'll look into why the optimizer doesn't | ||
i'll be afk for a bit first. | 11:55 | ||
(and let the test run in the background) | |||
jnthn | For example, inlining methods isn't something we can do at compile time, and so best left to runtime. | ||
So no point sticking inline info onto those. | |||
12:01
tgt joined
12:04
gfldex joined
|
|||
colomon | timotimo++ | 12:04 | |
12:07
denisboyun left
12:12
gfldex left
|
|||
timotimo | Null PMC access in find_method('add_inlining_info_if_possible') ... ?!?! | 12:14 | |
oooh! | |||
whatever_curry is a sub | |||
12:18
gfldex joined
|
|||
timotimo | i wonder how close it'll get to the $_-based solution after inlining | 12:19 | |
12:22
denis_boyun joined
|
|||
timotimo | apparently the inlining info wasn't used | 12:23 | |
maybe it's because i'm operating on the result of block_closure(reference_to_code_object($code, $block)), whereas i should be working on... maybe just the inner part? | 12:25 | ||
12:28
atroxaper joined
12:30
ivanshma` left
12:38
denis_boyun__ joined
12:39
denis_boyun left
|
|||
timotimo | maybe it's something for jnthn to look at. he should know how that's supposed to work :P | 12:40 | |
timotimo adds lots of debug prints :D | 12:46 | ||
12:47
denis_boyun__ left,
denis_boyun joined
12:53
rurban1 joined,
denis_boyun left,
PacoAir joined
12:55
ivanshmakov joined
12:57
hummeleB1 joined
12:58
denis_boyun joined
13:06
denis_boyun_ joined,
denis_boyun left
|
|||
colomon | r: my $r = 1.969; say $r.fmt("%.0f"); say $r.fmt("%.1f"); say $r.fmt("%.2f"); say $r.fmt("%.3f"); | 13:06 | |
camelia | rakudo-parrot 40c811, rakudo-jvm 40c811: OUTPUT«1.1.01.971.969» | ||
timotimo | oh, when did that happen! | 13:07 | |
colomon | timotimo: that's still broken | ||
13:08
rindolf left
|
|||
colomon | should be 2 2.0 1.97 1.969 | 13:08 | |
timotimo | oh, whoops | ||
colomon | that seems to happen on both parrot and jvm | ||
jnthn | Well, they share a sprintf implementation, afaik :) | ||
colomon | there is also a second bug involving $_ that japhb found on jvm only. | ||
13:09
rurban1 left
|
|||
colomon | r: say "$_" for 0..3 | 13:09 | |
camelia | rakudo-parrot 40c811, rakudo-jvm 40c811: OUTPUT«0123» | ||
colomon | r: my $r=1.969; say $r.fmt("%.{$_}f") for 0..3 | ||
camelia | rakudo-jvm 40c811: OUTPUT«1.1.1.1.» | ||
..rakudo-parrot 40c811: OUTPUT«1.1.01.971.969» | |||
colomon | r: say "{$_}" for 0..3 | 13:10 | |
camelia | rakudo-parrot 40c811: OUTPUT«0123» | ||
..rakudo-jvm 40c811: OUTPUT«» | |||
colomon | binog | ||
bingo | |||
oh, Time::Duration started failing tests overnight, dagurval | 13:11 | ||
timotimo | ah, ok, is inlinable is only defined for Routine | 13:13 | |
r: say WhateverCode ~~ Routine | |||
camelia | rakudo-parrot 40c811, rakudo-jvm 40c811: OUTPUT«False» | ||
13:14
denis_boyun__ joined,
denis_boyun_ left
13:18
denis_boyun_ joined
13:19
denis_boyun__ left
13:23
FROGGS left
13:27
Mouq joined
13:37
ivanshmakov left
|
|||
jnthn | Advent post is done. :) | 13:39 | |
13:44
ivanshmakov joined
13:46
FROGGS joined
|
|||
moritz | \o/ | 13:47 | |
13:47
denis_boyun__ joined,
denis_boyun_ left,
dmol joined
13:53
denis_boyun joined,
Mouq left
13:54
denis_boyun__ left
14:07
jnap joined
|
|||
timotimo | r: say WhateverCode.^mro | 14:07 | |
camelia | rakudo-parrot 40c811, rakudo-jvm 40c811: OUTPUT«===SORRY!===No such method 'arity' for invocant of type 'QAST::WVal'» | ||
14:07
SamuraiJack_ joined
|
|||
timotimo | er ... | 14:08 | |
jnthn | star: say WhateverCode.^mro | 14:09 | |
camelia | star 2013-09: OUTPUT«WhateverCode.new()» | ||
14:10
jnap left
|
|||
jnthn | That ain't right either... | 14:10 | |
14:10
rurban1 joined,
jnap joined
|
|||
timotimo | yeah, we are whatever_currying that it seems | 14:13 | |
m) | |||
14:13
kivutar joined
14:14
ivanshmakov left
14:20
Mouq joined
14:21
rurban1 left
|
|||
colomon | whatever_currying is when you can't decide between red or green, right? | 14:21 | |
timotimo | i think that's actually junctions | 14:31 | |
i can't seem to get the inlining info to work properly so far | |||
arnsholt | Whatever code is what you get when a whatever is part of a larger expression | 14:33 | |
jnthn | timotimo: What are you trying to inline? | ||
moritz tries to inline the inliner | 14:34 | ||
timotimo | i'm trying to add inlining info to all WhateverCode objects | 14:36 | |
14:36
ivanshmakov joined,
ivanshmakov left
|
|||
timotimo | (by first providing an anonymous role that provides an inline_info sub to the WhateverCode and then calling add_inlining_info_if_possible from whatever_curry | 14:38 | |
14:38
ivanshmakov joined,
rurban1 joined
|
|||
jnthn | Yes, but why do you want to do that? | 14:38 | |
When will we ever have opportunity to use that info? | |||
timotimo | given $foo { when 10 < * < 20 { ... } } | 14:39 | |
(hopefully) | |||
jnthn | OK, but you don't need inline info for that. | ||
timotimo | right; but that mechanism was already in place :) | 14:40 | |
well, mostly | |||
but i just found a flaw in my benchmark, i think | |||
jnthn | inline_info mostly exists to enable cross-compilation unit inlining. | ||
timotimo | oh? | ||
jnthn | It's overkill for such local things. | ||
timotimo | i did not know that | ||
jnthn | Yeah, it's there so we can have operators declared in the setting inlined, for example. | 14:41 | |
timotimo | so, is there a simpler method of doing what i want to achieve, except for using the info i already use to inline WhateverCode inside WhateverCode? | ||
jnthn | Well, all inline_info does is persist AST | ||
And you already have the AST to hand... | 14:42 | ||
timotimo | mhm | ||
say, could it be that we don't have to have a block_closure for our whatever_curry? | |||
jnthn | Typically you need it to be a closure. | 14:43 | |
timotimo | i'm guessing block_closure does the Op( clone, BVal ) | ||
okay | |||
jnthn | @x.map: $a + * | ||
It matters which $a | |||
timotimo | right | ||
i don't know exactly how to make that work properly with inlining, then | 14:44 | ||
jnthn | Needs analysis | 14:45 | |
timotimo writes a changelog entry for the feature | |||
jnthn | It's probably not easy to do at the moment | ||
timotimo | that's fine then | 14:46 | |
huh, not that many interesting commits to rakudo/nom this month so far | 14:49 | ||
14:49
dmol left,
dmol joined
|
|||
timotimo | should the indy-work be mentioned in the changelog? | 14:49 | |
i think so; but left out of the rakudo start short changelog | 14:50 | ||
jnthn | Yeah, it got us a win | 14:51 | |
14:51
jeff_s2 joined
|
|||
dalek | kudo/nom: b11daf9 | (Timo Paulssen)++ | docs/ChangeLog: A few changelog entries for this month |
14:52 | |
14:54
jeff_s1 left
|
|||
timotimo | jnthn: you get a $p = promise, then a $v = $p.vow and call break/keep on the original $p then? | 15:06 | |
or is that a typo? | |||
jnthn | typo | 15:07 | |
Fixed, thanks | 15:08 | ||
timotimo | yw | ||
is there a reason you're not showing AsyncFile.slurp here? | 15:10 | ||
well, i guess it makes 0 difference here | |||
15:12
Rotwang joined,
Rotwang left
|
|||
jnthn | timotimo: Well, article wasn't menat to be an exhaustive guide :) | 15:12 | |
15:12
Rotwang joined
|
|||
timotimo | right :) | 15:12 | |
15:15
nebuchadnezzar left,
jeckyhl joined
15:17
nebuchadnezzar joined
15:21
ggoebel115 joined,
rindolf joined
|
|||
jeckyhl | hi, had anybody experienced problems building rakudo / jvm on Windows ? I've got an error when running tools\build\create-jvm-runner.pl : on line 32, $install_to happends to be "\C:\Dev\perl6\rakudo\install\bin\perl6-j.bat" (with a backslash on the beginning) which make the next instruction fail | 15:22 | |
15:23
jnap left
15:24
jnap joined,
ggoebel114 left,
xinming_ joined
15:26
xinming left
15:28
jnap left
15:30
denis_boyun_ joined
15:31
denis_boyun left
15:34
nnunley joined
15:35
jeff_s1 joined
15:37
jeff_s2 left
15:40
denis_boyun joined
15:41
denis_boyun_ left
|
|||
timotimo | FROGGS: do you have an overview what exactly is missing for loop labels to work in nqp and then rakudo? | 15:41 | |
jnthn | I think me reviewing the branch so far was one of the things... :) | ||
FROGGS | timotimo: there is nothing missing for using them in nqp :o) | 15:46 | |
timotimo | even for jvm and moar? | ||
FROGGS | timotimo: ahh, no | ||
that was parrot only | |||
timotimo | oke | ||
i'm just a bit bummed out by the small amount of things i could write in the changelog for this month so far | 15:47 | ||
FROGGS | don't wanted to continue when the approach was maybe wrong or so (even when I don't believe I took the wrong one) | ||
timotimo: btw, there is a sized-arrays branch that would need reviewing and merging | |||
but I was unable to squish the 20+ commits into one, so it would be reviewable at all | 15:48 | ||
timotimo | oh? | 15:49 | |
i didn't know that's an operation that can fail :) | |||
FROGGS | was the first and only time I did that | 15:52 | |
(or tried to) | |||
timotimo | in the worst case, you can git diff the branch against its fork-off-point, write the diff to a file, check out the fork-off-point and apply the resulting patch with "patch -p1" | 15:54 | |
16:02
jeckyhl left
|
|||
FROGGS | timotimo: and how do I preserve the author? | 16:03 | |
jnthn | Note that if we're doing this just to make it easier to review, it's easy to read the diff to review it and then apply the original commits... :) | 16:04 | |
16:04
Rotwang left
|
|||
jnthn | So long as the branch is up to date with latest nom | 16:04 | |
FROGGS | yeah, that'd work too | 16:07 | |
jnthn: I can do that in a few hours if you will have time to review this night or tomorrow | 16:08 | ||
jnthn | FROGGS: Yeah, I can find time to do that. | 16:13 | |
FROGGS | k | ||
timotimo | FROGGS: git commit will accept --author and --commiter iirc | 16:17 | |
16:18
Rotwang joined
16:19
ico joined
16:20
ico left
16:24
rurban1 left
16:29
zakharyas joined
16:43
kivutar left
16:54
rurban1 joined
16:58
fridim_ joined
17:00
pmurias joined
17:08
grondilu joined
17:10
rurban2 joined
17:11
rurban1 left
17:14
rurban2 left,
denis_boyun_ joined,
denis_boyun left
17:22
Timbus left
|
|||
TimToady is supposed to be singing tenor in our Christmas musical tomorrow, and will probably be singing basso profundo instead, sigh... | 17:23 | ||
17:23
Timbus joined
17:25
atroxaper left
17:29
ivanshmakov left,
denisboyun joined
17:30
denis_boyun_ left
17:40
kaare__ is now known as kaare_
|
|||
TimToady | jnthn: asyncrhonously | 17:42 | |
jnthn | TimToady: ? :) | ||
TimToady | s/rh/hr/ | 17:43 | |
jnthn | oh... | 17:44 | |
Stared at it trying to spot the spello for a whole minute :/ | |||
fixed | |||
17:45
gdey joined
17:47
isBEKaml joined
|
|||
moritz | succeeded in gdb | 17:48 | |
timotimo | jnthn: i'm silly. i figured out why it didn't inline the WhateverCodes for "when"; because when makes a .ACCEPTS($_) rather than a normal call | ||
moritz | erm, wc | ||
timotimo | thus, i can teach the optimizer to look at the invocant of ACCEPTS($_) if it's a WhateverCode that's annotated with the information from the whatever_curry thingie and then inline it | 17:49 | |
17:50
dronmbb joined,
dronmbb left
|
|||
timotimo | but i'm not entirely sure what i have to analyse to make sure i don't break closures that are necessary for correct functioning | 17:50 | |
maybe if the only vars that are inside are the arguments (the only argument) to the whatevercode object | |||
17:56
xenoterracide left
|
|||
timotimo | jnthn: ^^ does that sound like the necessary analysis? | 17:57 | |
jnthn | timotimo: Kinda, but we really need much more general analysis of these things | 17:58 | |
timotimo | OK, it'll wait until much later then | ||
jnthn | And putting in optimizations like this that special-case it will only make it harder later. | ||
The optimizer is already harder to maintain than I'd like. | |||
timotimo | oh no! what did i do! ;_; | 17:59 | |
jnthn | Just added more things into a less-than-sustainable design. :) | ||
It needs to grow and do more, but I think it'll need a bit of restructuring first to keep things sane. | 18:00 | ||
In general, it needs a bunch of changes to start being able to track variables and their usage. | |||
18:01
gdey left,
isBEKaml left
|
|||
timotimo | right | 18:02 | |
i once had "a" design based on hashes and stuff | |||
18:02
nnunley_ joined
18:03
[particle]1 joined
|
|||
TimToady knows from personal experience that it's really easy to get stuck at the wrong abstraction level | 18:04 | ||
jnthn | I'm also a little wary of special-casing something that I'm not sure comes up a load, or at least, I wonder if this special case actually falls out of two things | ||
That is, ACCEPTs on a known code object with a single arg in a boolean context can be first reduced to just a call. | 18:05 | ||
And then an inline falls out more naturally. | |||
18:05
itz_ joined,
_ilbot left,
PacoAir left,
nnunley left,
atrodo left,
itz left,
estrabd_ joined,
estrabd left,
rurban left,
Fatalnix left,
Pleiades` left,
[particle] left,
japhb_ left,
Juerd left,
dylanwh left,
hoelzro left,
Juerd joined
18:06
dylanwh joined,
rurban joined,
Fatalnix joined,
hoelzro joined,
atrodo joined,
Pleiades` joined,
japhb_ joined,
Pleiades` left
18:07
Pleiades` joined,
_ilbot joined
|
|||
TimToady welcomes everyone back, including _ilbot | 18:07 | ||
jnthn: you have $dest.last(); but I believe the current speci is $dest.close | 18:11 | ||
18:11
rurban1 joined
18:13
SamuraiJack_ left
18:14
gdey joined
18:16
rurban1 left
|
|||
TimToady | and we don't seem to have a specced $dest.fail, which should probably be $dest.quit anyway, for consistency with supplies | 18:16 | |
I see that the current implementation has .close and .fail | 18:22 | ||
so the .done is definitely fossilic | |||
er, .last | |||
timotimo | i should finally get my simplify_before branch ready for merging | 18:23 | |
and write my advent calendar post | |||
also, i think i need about 6 naps right now | |||
moritz | sleep faster! :-) | ||
TimToady | do them concurrently! | 18:24 | |
timotimo | i should employ a few people to sleep fo rme | ||
moritz | SaaS, Sleep as a Service | 18:25 | |
Cloud Sleeping! | |||
18:32
darutoko left
18:33
ajr_ joined
18:34
ivanshmakov joined
|
|||
moritz kinda enjoyed www.nosql-vs-sql.com/ | 18:35 | ||
timotimo | yeah | ||
18:38
spider-mario left
18:39
jeff_s1 left
18:40
jeff_s1 joined
18:41
Rotwang left,
snoopy_ joined,
snoopy_ left
18:42
dwarring joined
18:43
Rotwang joined
|
|||
dalek | kudo/nom: a05e24d | moritz++ | docs/ChangeLog: two more changelog entries |
18:48 | |
18:59
SamuraiJack_ joined
|
|||
dwarring yawns | 19:01 | ||
preflex | dwarring: you have 1 new message. '/msg preflex messages' to read it. | ||
dwarring aha thanks raiph | 19:02 | ||
colomon | dwarring: PDF::Grammar failing in my smoke tests. | ||
19:03
lizmat left,
lizmat joined
|
|||
dwarring | colomon: will check it out | 19:06 | |
colomon | dwarring++ | ||
masak | evenin', #perl6 | 19:08 | |
19:08
culture joined,
culture left
|
|||
moritz | it's a masak! | 19:09 | |
masak | \o/ | 19:12 | |
19:13
telex left,
grondilu left
19:15
rurban1 joined
19:16
telex joined
19:17
sftp_ joined
19:18
PZt left,
sftp left,
aindilis left
|
|||
raydiak_ | this typo was too amusing not to share: "tmux attack" | 19:19 | |
19:19
rurban1 left,
raydiak_ is now known as raydiak
|
|||
timotimo | :D | 19:19 | |
colomon | masak! \o/ | 19:20 | |
moritz | raydiak: the attach of the clone warriors :-) | 19:23 | |
19:23
kivutar joined
19:27
djanatyn left
19:28
Tene left
|
|||
dalek | Heuristic branch merge: pushed 22 commits to rakudo/sized-arrays by FROGGS | 19:29 | |
19:30
Maddingu1 joined,
gdey left,
betterwo1ld joined
|
|||
lue | hello world o/ | 19:31 | |
FROGGS | jnthn: here is the diff gist.github.com/FROGGS/50d58158001696e89327 | ||
(for sized-arrays) | |||
19:32
betterworld left,
Maddingue left
|
|||
FROGGS | jnthn: btw, this should be done in rakudo too: github.com/rakudo-p5/v5/commit/3105451 | 19:35 | |
raydiak | moritz: I haven't seen that one...can you mail it to me as an attackment? :) | 19:39 | |
preflex | raydiak: you have 1 new message. '/msg preflex messages' to read it. | ||
raydiak | morning lue \o | ||
mathw | off-topic-ish: good real-world-ish example of a simple class for introducing someone to OOP? | 19:47 | |
timotimo | what a huge ass-diff | ||
TimToady | FROGGS: looks like a chain thing snuck in there | 19:52 | |
19:52
Tene joined,
Tene left,
Tene joined
|
|||
FROGGS | hmmm | 19:53 | |
19:53
djanatyn joined
|
|||
FROGGS | I just merged nom into sized-arrays branch, and made a diff | 19:54 | |
but yeah, that does not belong there | |||
ohh well | |||
moritz | mathw: maybe the Task example from the OO chapter of the p6 book? | 19:55 | |
FROGGS | maybe I really fake a diff like `git am` produces? | ||
so I could just strip that stuff | |||
timotimo | huh, why are the spectests clean? | 19:56 | |
weren't they nonclean on my simplify_before branch recently? | |||
well, that's cool i guess o_O | |||
moritz | FROGGS: did you try git diff nom...origin/sized-arrays (note the three dots) | ||
TimToady doesn't see offhand where multi-dimensional shapes are handled | |||
FROGGS | moritz: no | ||
moritz: that seems to be identical | 19:57 | ||
moritz | ok | ||
might be simpler than doing the merge locally | 19:58 | ||
timotimo: do we have any spectests for the chained *-curry thing? | 19:59 | ||
jnthn | TimToady: gist.github.com/FROGGS/50d58158001...s-diff-L26 explicitly says it doesn't yet | ||
FROGGS: Do you understand the map thingy that's going on in gist.github.com/FROGGS/50d58158001...s-diff-L17 ? | 20:00 | ||
FROGGS | jnthn: ummm, no | 20:01 | |
jnthn | oh, maybe it's to handle my @seasons[4, :map( * % 4 )]; | ||
FROGGS | ahh, my nom missed two commits.... the chainy stuff is gone now | 20:02 | |
jnthn | It looks like a fragile way to do that... | ||
FROGGS | wth is that even O.o? | ||
timotimo | moritz: yes, two todos that now pass | ||
moritz: but this spectest run was for simplify_before, which does regex optimizations | 20:03 | ||
jnthn | FROGGS: See S09 for what it is, but I can see that code being at risk of exploding in various ways... | ||
FROGGS | k | ||
jnthn | It doesn't look for there being a Pair and then look if the first key is map, it just assumes... | 20:05 | |
I can see that going horribly wrong somehow | |||
I don't understand what gist.github.com/FROGGS/50d58158001...s-diff-L61 is trying to achieve either | 20:06 | ||
gist.github.com/FROGGS/50d58158001...-diff-L288 probably makes some wrong assumptions about flattening | 20:09 | ||
timotimo | moritz: questhub.io/realm/perl/quest/52a5f3...de150000f1 - does this seem like something that could go into the spectests? | 20:10 | |
FROGGS | jnthn: the commit does not explain either github.com/rakudo/rakudo/commit/a9...14aa5700d3 | ||
moritz | timotimo: yes | ||
with some say() replace by ok/is calls, of course :-) | 20:11 | ||
jnthn | Also, this patch will slow things down, since it makes every array pay for the :map feature when relatively few will do that. | ||
timotimo | can someone do spectests on jvm for me? :( | 20:15 | |
once for simplify_before/regex_optimizer and once for master/nom? | 20:16 | ||
moritz | timotimo: I think I can, but only with a single process | 20:17 | |
timotimo | so, only if you have time then :) | ||
deprecations / isDEPRECATED still has known failures? | |||
why don't we fudge those? | |||
(i can do it if it's okay with all of you) | 20:18 | ||
moritz | ask lizmat | ||
timotimo | my spectest run of simplify_before/regex_optimizer got to S05 now | 20:21 | |
lue is a bit alarmed at the irregularity between L<Syn/Section/"Text fragment"> and L<Syn/Section/Text Fragment> and L<Syn/"Section"/Text Fragment> and ... | 20:22 | ||
dalek | ast: e34f95c | moritz++ | S02-types/whatever.t: unfudge whatever-chain tests, timotimo++ |
||
moritz has just fnished compiling j-all | |||
jnthn | FROGGS: Anyway, those are my comments. I'm a bit uncomfortable about merging something that will slow down every array access. | 20:23 | |
moritz | daugher sleeps, now I can take my laptop to the living room again, where it has a power supply :-) | ||
*daughter | |||
jnthn | FROGGS: And doubly so when it contains code I know is fragile. | ||
moritz | though it says it still has more than an hour to live | ||
FROGGS | jnthn: of course... I'll msg Arcterus a link to to this here | ||
dwarring promises & channels advent post - jnthn++ | 20:24 | ||
20:25
Juerd left
|
|||
jnthn | FROGGS: The mixin approach taken by typed ones may be better. | 20:25 | |
lue briefly ponders replacing the L<> stuff in roast with M<> during his making of the Pod6 toolchain, so as to not confuse the point of L<> | 20:26 | ||
20:26
Juerd joined
20:27
SamuraiJack_ left
|
|||
moritz can't decide if that's scope creep or not | 20:28 | ||
20:29
zakharyas left
|
|||
dalek | ar: 8d120c2 | moritz++ | modules/ (2 files): update two modules |
20:31 | |
timotimo | already preparing for the star release? :) | ||
lue | moritz: I definitely wouldn't do any theoretical L<> -> M<> change until the very end. It was just me wondering if calling it a "L"ink is exactly correct. (fwiw, it feels like it's better describe as a *reverse* link, but there's no RL<>) | 20:32 | |
moritz | lue: it's actually a link, the tools just use it as a reverse link | 20:36 | |
20:36
wooden left
20:37
djanatyn left,
wooden joined,
Tene left
|
|||
lue | Fair enough. Still feels a bit of a stretch to call it a link, maybe because I'd feel better with L<syn:S02/Sect/"fragm"> (protocols are important!) :D | 20:37 | |
20:38
rindolf left
|
|||
dalek | ar: 7d731a0 | moritz++ | README: update README. Closes #15 |
20:41 | |
lue | My worry over the use of "" in the links earlier was because I forgot that /Section/ doesn't care about hierarchies. (i.e. to reach a =head4 it doesn't do /head1/head2/head3/head4 but rather /head4/) | 20:42 | |
timotimo | lue: use ˥<...> instead | 20:45 | |
lue | .oO(λ<>) |
||
timotimo | t/spec/S06-other/main-eval.rakudo.jvm ........................ No subtests run | 20:46 | |
is the first one that fails like that when i do TEST_JOBS=2 | |||
lue & | 20:47 | ||
dalek | ar: 42daf9f | moritz++ | tools/star/release-guide.pod: Update release guide to avoid out-of-date submodules |
20:48 | |
20:56
Tene joined,
Tene left,
Tene joined
20:57
djanatyn joined
20:58
ajr_ left
20:59
ajr joined,
ajr is now known as Guest49853,
Guest49853 is now known as ajr_
|
|||
masak | so... | 21:08 | |
Rakudo release on Thursday, and no-one signed up as release manager, huh? | 21:09 | ||
here, I'll make you a deal. | |||
someone either grap Thursday and I'll grab January, or someone grab some other month and I'll grab Thursday. | |||
moritz | masak: I'll do Thursday | 21:10 | |
masak | moritz++ | ||
dalek | kudo/nom: 1069590 | moritz++ | docs/release_guide.pod: split December and January releases between masak++ and me |
21:11 | |
moritz | it would be awesome to have a volunteer for the star release too | ||
colomon | moritz++ masak++ | ||
masak | grab* | ||
man, why feather so slow again? :/ | |||
moritz | low load average | 21:12 | |
low CPU usage | 21:13 | ||
low ping times | |||
moritz has no idea | 21:15 | ||
maybe cross-talk from another VM? IO? | |||
timotimo | yeah, VMs are problematic that way | 21:16 | |
isn't there some standardised protocol to tell VMs how much load their host has? | 21:17 | ||
moritz | though it's not usually that bad :-) | ||
timotimo | moritz: were you able to start the spectest run yet? | ||
moritz | timotimo: the nom one is t/spec/integration/error-reporting.rakudo.jvm right now | ||
timotimo: I'll start the second one before going to bed | 21:18 | ||
timotimo | thanks! | ||
i'll try a one-job-in-parallel run now, too | |||
though today is feuerzangenbowle in my hackspace, so ... :) | |||
%) | |||
at least it does get past the S05 tests just fine | 21:20 | ||
masak | |||
timotimo | |||
lizmat | timotimo: those deprecations tests failing on jvm, is because backtraces fail, afaik | ||
and that seems pretty important to me | |||
timotimo | can we todo them so that they don't show up as "not ok" on comparison runs for branches and features and stuff? | ||
masak | moritz: I remember having this issue a few weeks back, and no-one else having it then either. | ||
moritz: maybe this laptop is simply giving up the ghost. | |||
moritz | timotimo: gist.github.com/moritz/2375e30d8c3bf35bcf04 master/nom result | 21:21 | |
masak: no, it's slow for me too | |||
timotimo | i thought fudging is for "we know this is bad and we should fix it, but don't worry, it's not *your* particular fault" | ||
21:21
rurban1 joined
|
|||
lizmat | timotimo: ok, mark them as todo (or skip, I think, because they die) | 21:21 | |
timotimo | perl.rakudo.jvm fails for me, too | ||
er, it doesn't have a failure when i call it on its own. great. | 21:23 | ||
masak | moritz: oh! | 21:26 | |
21:29
rurban1 left
21:32
denisboyun left
21:35
jeff_s1 left
21:36
jeff_s1 joined
|
|||
dalek | ast: 1f062e9 | (Timo Paulssen)++ | S02-types/ (2 files): fudge jvm problems with deprecation tracebacks |
21:37 | |
kudo-star-daily: 0321033 | coke++ | log/ (5 files): today (automated commit) |
21:38 | ||
kudo-star-daily: 16bd544 | coke++ | log/ (5 files): today (automated commit) |
|||
kudo-star-daily: b1ab6d4 | coke++ | log/ (5 files): today (automated commit) |
|||
kudo-star-daily: cb0ce3f | coke++ | log/ (5 files): today (automated commit) |
|||
rl6-roast-data: 8ce3a8a | coke++ | p (2 files): today (automated commit) |
|||
rl6-roast-data: ba57761 | coke++ | p (2 files): today (automated commit) |
|||
rl6-roast-data: 348552e | coke++ | p (2 files): today (automated commit) |
|||
timotimo | moritz: i don't get the failure in S32-test/roll.t | ||
and "no subtests run" again | 21:39 | ||
21:46
kaare_ left
21:53
ajr_ left
|
|||
dwarring | colomon: have fixed PDF::Grammar | 21:54 | |
colomon | \o/ | ||
dwarring++ | |||
21:55
PZt joined
|
|||
dalek | kudo/moar-support: 20cf1d2 | jnthn++ | src/vm/moar/ops/container.c: Fix RakudoScalar as having non-invoking fetch. |
22:09 | |
kudo/moar-support: 2a7cd2f | jnthn++ | src/core/List.pm: Optimization that avoids a Rakudo Moar bug. Doing $some_int == Inf ends up coercing $some_int and re-dispatching, which we can avoid much more quickly with a type check for the very common case of passing an integer to gimme. This helps all backends, but also avoids a Moar bug; hopefully sanity tests will show it up in a clearer way. |
|||
22:28
Pleiades` left
22:29
colomon left,
colomon joined
22:33
Pleiades` joined
22:34
rurban1 joined
|
|||
dalek | kudo/moar-support: df50def | jnthn++ | src/core/Version.pm: Disable version object construction on Moar. Gets in the way of running any sanity tests. Can get it back in place later. |
22:36 | |
22:36
[Sno] joined
22:38
xenoterracide joined
|
|||
pmurias | PDF::Grammar is a grammar for pdfs? | 22:54 | |
22:55
rurban1 left
|
|||
woolfy | jnthn++ for nice perl 6 advent blog. | 22:55 | |
Looking forward to the Day 15 Perl 6 Advent Blog (which I hope will appear any moment now) | 22:56 | ||
masak | oh, seems it's my turn tomorrow... | ||
woolfy | I thought it would be every day around 23:00... which was 56 minutes ago... | 22:57 | |
22:59
webchat_masak joined
|
|||
webchat_masak grumbles over feather's non-responsiveness | 23:00 | ||
woolfy: I would have had a post ready by now, but I missed that I'm on for tomorrow, and not Monday... | |||
lue | hello webchat_masak o/ | ||
webchat_masak | I'll draft a post now, go to bed, and then publish it first thing in the morning. | ||
woolfy | masak... :-) (was I subtle enough to get you to work?) | 23:01 | |
webchat_masak | yeah, writing it now. | ||
woolfy | masak++ | ||
webchat_masak | though I actually independently checked the schedule, curious who was on for tomorrow... | ||
woolfy | resulting in? | 23:02 | |
webchat_masak | mild surprise, and a decision not to go to bed yet. | ||
woolfy | hehe | ||
lizmat tried me to write a blog for the advent, and I really have not enough Perl 6 knowledge to do so. It would be a social thing, like something about Tuits, or Fosdem, or how I enjoyed seeing Perl 6 people perform at a hackathon, a workshop or a YAPC. | 23:03 | ||
And I am so not going to write something egotistical like that! | 23:04 | ||
webchat_masak | woolfy: maybe you should write a few Perl 6 programs ;) | 23:05 | |
woolfy | masak: Maybe. Probably not a good idea. Would be bad for the reputation of Perl 6. :-) | ||
23:08
laidback_01 joined
|
|||
raydiak | apparently I dodged a bullet...I almost wrote my advent post about something social :) | 23:10 | |
webchat_masak | woolfy: you keep underselling yourself :) | ||
woolfy: I for one would love to see some woolfy Perl 6 code. | 23:11 | ||
colomon | woolfy! woolfy! woolfy! | ||
dwarring have my stocking filler ready | |||
woolfy | webchat_masak: indeed. But I know myself as a programmer. I did nice scripts in the 90's, but mostly worked as a manager, marketeer, project manager, account manager, human resource manager... I hired people that really were good programmers and tought them Perl. Perl 5. | 23:12 | |
webchat_masak | woolfy: sounds good enough to me. | 23:13 | |
woolfy: I would also have been a recovering Perl 5 programmer, if only I had discovered Perl 6 later and Perl 5 sooner :P | |||
lue only picked P6 because trying to use a Qt module without knowing P5's classes discourages you :) | 23:15 | ||
woolfy | Let me do the tuits, the leaflets and the other simple marketing stuff and I leave the programming to you, lizmat, jnthn, TimToady, pmichaud, colomon, timotimo, moritz, lue, FROGGS, sorear, tadzik, and everybody else that does real programming. | 23:16 | |
oO(was not meant to exclude people, you all are heroes!) | 23:17 | ||
dwarring didn't pick Perl6 - just started doing advent exercises last year and hasn't stopped yet | |||
woolfy | dwarring++ | ||
webchat_masak | dwarring++ | ||
I didn't even know we had advent exercises :) | |||
23:18
beastd joined
|
|||
dwarring neither did I - just started playing with the code | 23:19 | ||
then tired something on my own own on day 25 | |||
I followed previous calendars | 23:21 | ||
diference last year was I kept going afterwards | 23:22 | ||
woolfy | again, dwarring++ | 23:23 | |
By the way, this advent of yesterday perl6advent.wordpress.com/2013/12/1...kudo-star/ is very useful for marketing purposes. | |||
It's one of the most asked questions / snide remarks given... when is it christmas / is Perl 6 ready yet. This blog is helpful in answering those. | 23:24 | ||
Coke++ | |||
lue | .oO(JSON::Tiny's roundtrip test has a nasty habit of slowing my computer to a near-halt.) |
||
dwarring Perl 6 is ready at Christmas - its just that the Christmases are unevenly distributed | 23:27 | ||
lue | does anyone else get this, or should I upgrade my r-p? "build stage failed for panda: Failed building lib/Panda/Project.pm" | 23:33 | |
tadzik: any ideas what could be causing this? ^^^ | 23:35 | ||
FROGGS | lue: did you pass the --prefix to rakudo like ./something? | 23:36 | |
lue | no...? It's been a while since I played with installing r-p, and it always goes straight to /usr/local | 23:37 | |
23:38
MikeFair__ joined
|
|||
lue even cleared out his ~/.perl6 to make sure panda wasn't borking on old directories there. | 23:38 | ||
23:39
MikeFair left
|
|||
lue | (everything else builds fine, it's just panda. Running rebootstrap, IIRC, makes it so File::Find won't build. Somehow. | 23:40 | |
) | |||
FROGGS: are you suggesting running sudo bootstrap or install the r-p toolchain into a non-sudo-required place would work? Because I'm not sure what makes ~/.perl6 broken. | 23:42 | ||
FROGGS | I dont know what to suggest :/ | ||
lue | I just ran the build command (after reading through panda's code), and it seemed to run fine. I've no clue why it errors then :/ | 23:51 | |
23:51
rurban1 joined
23:56
xinming_ left
23:59
xinming joined
|