»ö« 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. |
|||
00:05
cognome left
|
|||
dalek | ast: 1721021 | coke++ | S01-perl-5-integration/basic.t: This test isn't run by rakudo. remove premature fudges (obscures other fudges that need tickets, etc.) |
00:12 | |
Mouq | "Iteration past end of grapheme iterator" wut | 00:13 | |
Looks to be a regression... | 00:15 | ||
00:18
thou left
|
|||
Mouq | Hmm... Not sure what the issue is... You know, perl6/doc really seems to be good for finding Moar bugs | 00:19 | |
[Coke] | p6: "what".note | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method note in type Str at /tmp/tmpfile line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576)  …» | ||
..rakudo-{parrot,jvm,moar} 0ce18d: OUTPUT«No such method 'note' for invocant of type 'Str' in block at /tmp/tmpfile:1» | |||
timotimo | sounds like a good thing to me :3 | 00:22 | |
BenGoldberg | rn: "abc".encode("latin1")[*].say | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«Buf.new(...)» | ||
..rakudo-{parrot,jvm,moar} 0ce18d: OUTPUT«97 98 99» | |||
00:24
gamo left
|
|||
[Coke] | we have a test that things "note" should be a method on Str. I don't see that explicitly in the specs. | 00:27 | |
Mouq | (+1 for Str.note) | 00:29 | |
[Coke] | one moment… | 00:33 | |
ooh, I should get my new 16G 64bit laptop this week for work. squeee. | 00:42 | ||
dalek | kudo/nom: d97cd1f | coke++ | src/core/Mu.pm: Add Mu.note |
00:43 | |
ast: 27d3eff | coke++ | S32-io/note.t: rakudo now has Mu.note, which covers this |
00:44 | ||
Mouq | [Coke]++ :) | 00:48 | |
00:51
xenoterracide joined
|
|||
Mouq | Jeez it takes forever to install jvm+panda | 01:01 | |
Oh, wait... why is it building panda again..? | |||
Oh, nvm :P | |||
Is URI known to be failing tests on the JVM? :| | 01:07 | ||
dalek | ast: b1b2436 | coke++ | S32-num/rand.t: note that test needs fixing. |
||
[Coke] | Mouq: check github.com/coke/perl6-roast-data | 01:10 | |
log/rakud*jvm* | |||
Mouq | [Coke]++ it looks clean here: github.com/coke/rakudo-star-daily/...odules.log | 01:12 | |
so maybe it's something with me… | |||
.tell jnthn I haven't been able to test on multiple backends, but I get this running perl6/doc/htmlify.p6 and think it's MoarVM related: gist.github.com/Mouq/d81105012d86e04814f9 | 01:15 | ||
yoleaux | Mouq: I'll pass your message to jnthn. | ||
dalek | ast: dd70cbe | coke++ | S32-num/power.t: Relax fudging for rakudo.moar |
01:16 | |
01:17
dayangkun joined
01:18
thou joined
|
|||
dalek | ast: 516a6dc | coke++ | S32-str/substr.t: substr fossil, this is done via substr-rw now |
01:22 | |
01:23
thou left
|
|||
dalek | ast: 012b339 | coke++ | S32-str/substr.t: substr fossil, this is done via substr-rw now |
01:27 | |
Mouq finally gets JVM running htmlify.p6 | 01:29 | ||
dalek | ast: e9d171f | coke++ | S32-str/uc.t: remove lcfirst reference, unfudge |
01:32 | |
[Coke] | n: "asdf".indent('0x10').say; | 01:34 | |
camelia | niecza v24-109-g48a8de3: OUTPUT« asdf» | ||
[Coke] | m: "asdf".indent('0x10').say; | ||
camelia | rakudo-moar d97cd1: OUTPUT«Cannot call 'indent'; none of these signatures match::(Str: Int $steps where { ... }, *%_):(Str: Int $steps where { ... }, *%_):(Str: Any $steps where { ... }, *%_) in block at /tmp/h9TQ8mwcc1:1» | ||
dalek | ast: f5c6cb1 | coke++ | S32-str/indent.t: add an RT ref |
01:37 | |
01:38
klapperl joined
01:41
klapperl_ left
01:42
FROGGS_ joined,
rurban joined
|
|||
[Coke] | m: (1..7 ==> grep {$_ % 2}).say | 01:44 | |
camelia | rakudo-moar d97cd1: OUTPUT«1 3 5 7» | ||
[Coke] | m: (grep {$_ % 2} <== 1..7).say | ||
camelia | rakudo-moar d97cd1: OUTPUT«1 3 5 7» | ||
01:45
Sqirrel left,
FROGGS left
|
|||
dalek | kudo/nom: cf09bda | coke++ | t/spectest.data: hey, this test already passes 100% |
01:52 | |
[Coke] | m: say uniname("\0") | 01:57 | |
camelia | rakudo-moar d97cd1: OUTPUT«NULL» | ||
02:00
chenryn joined
|
|||
[Coke] | m: say uniname("\x[80]") | 02:00 | |
camelia | rakudo-moar d97cd1: OUTPUT«» | ||
02:01
rurban left
|
|||
dalek | kudo/nom: 7dcc38c | coke++ | t/spectest.data: This test is fudged; run it |
02:05 | |
ast: 2ec03c5 | coke++ | S15-unicode-information/uniname.t: tag with RTs |
|||
[Coke] | p6: use Test; ok 0,:todo(1); | 02:09 | |
camelia | rakudo-jvm d97cd1: OUTPUT«(timeout)» | ||
..rakudo-moar d97cd1: OUTPUT«Unexpected named parameter 'todo' passed in sub ok at lib/Test.pm:75 in sub ok at lib/Test.pm:75 in block at /tmp/tmpfile:1» | |||
..rakudo-parrot d97cd1: OUTPUT«Unexpected named parameter 'todo' passed in sub ok at lib/Test.pm:75 in sub ok at lib/Test.pm:79 in block at /tmp/tmpfile:1» | |||
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Excess arguments to ok, unused named todo at /home/p6eval/niecza/lib/Test.pm6 line 0 (ok @ 1)  at /tmp/tmpfile line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3)  at /home/p6eval/ni…» | |||
[Coke] | ^^ S24-testing/6-done_testing.t - that looks like a fossil. | 02:10 | |
02:12
noganex joined,
lustlife joined
02:15
noganex_ left
02:17
rurban joined
02:19
ventica2 joined
|
|||
dalek | ast: 887acde | coke++ | S05-modifier/perl5_6.t: lazy fudge (these will need tickets) |
02:19 | |
kudo/nom: ded723a | coke++ | t/spectest.data: This test is fudged, run it. |
|||
02:36
dayangkun left
02:45
Mouq left
02:59
Sqirrel joined
03:06
thou joined
03:10
thou left
03:15
yeltzooo joined
03:16
haroldwu left
03:17
haroldwu joined
|
|||
dalek | ast: 093b8ed | coke++ | S09-hashes/objecthash.t: slight unfudge (tested on moar) |
03:22 | |
ast: 49402fa | coke++ | S09-subscript/slice.t: use "RT" in skip message. |
03:27 | ||
ast: 7d03646 | coke++ | S02-types/hash.t: fix "RT" usage in skip message. |
03:33 | ||
03:45
dayangkun joined
03:46
BenGoldberg left
03:49
rindolf joined
03:57
xenoterracide left
04:05
chenryn left
04:12
nbrown_ left
04:18
anaeem1 joined
04:30
atroxaper joined
04:36
chenryn joined
04:43
rurban left,
xinming_ joined
|
|||
[Coke] | .u ∅ | 04:44 | |
yoleaux | U+2205 EMPTY SET [Sm] (∅) | ||
04:44
xinming left
|
|||
dalek | kudo/nqp-dogfood: 1681fff | duff++ | tools/build/check-versions.nqp: [WIP] Create NQP version of check-versions.pl Unfinished. |
04:54 | |
04:55
thou joined
04:58
gfldex joined
04:59
thou left
05:01
atroxaper left
05:02
atroxaper joined
05:03
chenryn left
05:05
atroxaper left
05:11
[Sno] left
05:16
ventica2 left,
slavik left
05:20
Sterver|AFK left,
Sterver|AFK joined,
slavik joined,
chenryn joined
05:29
ventica2 joined
05:37
mr-foobar joined
05:38
gfldex left
05:50
raiph joined
05:52
chenryn left
06:14
brrt joined
|
|||
sergot | hi o/ | 06:16 | |
06:16
jercos joined
06:20
denis_boyun_ joined
06:21
jercos left,
jercos joined,
kivutar joined
06:26
PotatoGim left
06:33
ventica2 left
06:42
anaeem1 left
06:43
thou joined
06:47
thou left
06:50
iarna left,
iarna joined
|
|||
masak | morning, #perl6 | 06:52 | |
06:52
[Sno] joined
|
|||
FROGGS_ | morning | 06:52 | |
06:52
chenryn joined
06:56
kaleem joined
06:57
anaeem1_ joined
06:59
iarna left,
iarna joined
07:00
Ven joined
|
|||
Ven noticed the learnxiny was mentioned in the perl weekly | 07:00 | ||
yoleaux | 2 Aug 2014 20:58Z <dwarring> Ven: PDF::Grammar README has been improved, added some usage notes and examples. Thanks for feedback Ven++ | ||
Ven | dwarring++ # I actually ended up copy-pasting and vimming, but it's nice anyhow :) | 07:01 | |
07:01
dayangkun left
07:03
iarna left
07:04
anaeem1_ left
07:05
iarna joined
|
|||
nwc10 | \o/ | 07:05 | |
has anyone spotted any progress on Rubinius X? | |||
07:09
anaeem1_ joined
07:10
slavik left
07:14
dayangkun joined
07:15
slavik joined
07:17
Sterver|AFK is now known as Sterver
07:28
dayangkun left
07:32
dmol joined
07:36
dayangkun joined
07:37
raiph left
07:39
darutoko joined
|
|||
sergot | m: say try { True } | 07:43 | |
camelia | rakudo-moar ded723: OUTPUT«True» | ||
sergot | m: say try { 5 } | ||
camelia | rakudo-moar ded723: OUTPUT«5» | ||
moritz | m: say so try { die 42 } | 07:46 | |
yoleaux | 1 Aug 2014 20:14Z <[Coke]> moritz: fyi, --git-protocol doesn't look like it's passed down to nqp, so nqp tries the default https:// | ||
camelia | rakudo-moar ded723: OUTPUT«False» | ||
07:47
chenryn left
07:48
virtualsue joined
07:51
kaleem left
|
|||
masak | m: say so try die 42 | 07:55 | |
camelia | rakudo-moar ded723: OUTPUT«False» | ||
07:55
Ven left
|
|||
masak | m: say so try die say die so die try say die 42 | 07:55 | |
camelia | rakudo-moar ded723: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/HKNcNWzaoT:1False» | ||
07:58
kurahaupo_ left
|
|||
[Coke] has got to get some sleep, ugh | 07:59 | ||
08:00
kivutar left
|
|||
masak waves a Wand of Sleep at [Coke] | 08:02 | ||
nwc10 | steal his coffee | ||
08:04
chenryn joined
08:08
pecastro left
08:11
brrt left
08:14
chenryn left
08:19
kaleem joined
08:20
FROGGS_ is now known as FROGGS
08:25
virtualsue left
08:26
chenryn joined
08:30
dakkar joined
08:31
thou joined
08:35
thou left
08:37
iarna left
|
|||
FROGGS | p: use Test; say :10("111") | 08:39 | |
camelia | rakudo-parrot ded723: OUTPUT«(signal )» | ||
FROGGS | jnthn: that is not a regression introduced by parrot... I just built against 6.4.0 and it still segfaults | 08:40 | |
08:40
brrt joined
08:44
spider-mario joined
|
|||
FROGGS | jnthn: it also segfaults with parrot 6.1.0 | 08:52 | |
that does not mean that it is not an issue with parrot, just means it has been there for a while | 08:53 | ||
jnthn | Hmm | ||
yoleaux | 01:15Z <Mouq> jnthn: I haven't been able to test on multiple backends, but I get this running perl6/doc/htmlify.p6 and think it's MoarVM related: gist.github.com/Mouq/d81105012d86e04814f9 | ||
jnthn | .tell Mouq yes, it is...that error should never happen. | 08:54 | |
yoleaux | jnthn: I'll pass your message to Mouq. | ||
jnthn | FROGGS: Well, if it's so easily triggerable it may not be too bad to find... | ||
nwc10 | I was getting two coredumps from parrot during the spectest | 08:55 | |
I don't really know more than that (ie, didn't dig to figure out which tests, or when it started) | |||
jnthn | FROGGS: Is that SEGV the one that causes issues with the R* module? | 08:56 | |
FROGGS | jnthn: bt: gist.github.com/FROGGS/6a3d23f0b93db0a9938b | 08:57 | |
jnthn: no, that one causes >1600 spectest fails | |||
jnthn: it was introduced by the junction fallback signature changes... | 08:58 | ||
timotimo | vendethiel: i ... don't see that i mentioned learnxinyminutes on p6weekly :o | 09:03 | |
i really should have | |||
09:03
slavik left
|
|||
timotimo | oh, it's in the perlweekly | 09:04 | |
not the perl6 weekly | |||
nwc10 | also, I really don't have time to dig into why parrot fails spectests. It's not my itch | ||
jnthn | FROGGS: Hmm...the bt isn't offering so many clues | 09:11 | |
FROGGS | jnthn: well, sub is NULL | ||
09:12
virtualsue joined
|
|||
FROGGS | and sub is obtained like: PMC_get_sub(INTERP, SELF, sub); | 09:12 | |
so I try to debug that now | |||
dalek | ast: ba67478 | (Elizabeth Mattijsen)++ | S16-filehandles/filestat.t: Remove tests that test state of mounted FS |
09:18 | |
09:21
pecastro joined
09:40
virtualsue left
|
|||
FROGGS | okay, SELF is of type enum_class_Sub | 09:43 | |
09:43
virtualsue joined
|
|||
FROGGS | and PARROT_SUB(SELF) returns NULL | 09:44 | |
lizmat | gist.github.com/lizmat/65d9e44743dffca1157c # is exporting of dynamic variables done at runtime ??? | ||
FROGGS | p _self->data | 09:46 | |
$3 = (DPOINTER *) 0x0 | |||
so, we have a sub that has no PMC_data | |||
10:00
rindolf left
10:01
Sterver is now known as Sterver|AFK
10:07
dayangkun left
10:11
brrt left
10:20
thou joined
10:24
thou left
|
|||
lizmat is thinking of rakudobugging gist.github.com/lizmat/65d9e44743dffca1157c | 10:26 | ||
as it is the one thing blocking making 'use lib' lexotic | 10:27 | ||
10:37
akaseki left
10:38
cognome joined,
akaseki joined
10:39
kaare_ joined
|
|||
jnthn | lizmat: I'm not sure that's a bug | 10:40 | |
10:40
chenryn left
|
|||
lizmat | ah? | 10:40 | |
jnthn | You're not in the dynamic scope of the program mainline. | ||
It's the compiler than calls a BEGIN block | |||
But at runtime you are of course entering thorugh the mainline :) | 10:41 | ||
lizmat | isn't that a shortcoming of the compiler calling the BEGIN block then? | ||
jnthn | uh | ||
That's THE POINT of BEGIN! | |||
That it runs at compile time. | 10:42 | ||
lizmat | yes, I agree | ||
jnthn | Even if the surroudning scope isn't finished parsing yet :) | ||
10:42
Sterver|AFK is now known as Sterver
|
|||
jnthn | The only way it could be made to work is if we hunt in the enclosing lexical scope too for $*FOO | 10:42 | |
lizmat | well, you *can* export a sub to the lexical scope | 10:43 | |
at compile time | |||
jnthn | Right | ||
lizmat | and you can call it at compile time as well | ||
10:43
rindolf joined
|
|||
lizmat | so from a user's point of view, the current behaviour doesn't make much sense | 10:45 | |
I understand it is not trivial to fix | |||
:-) | |||
sjn | \o | 10:47 | |
lizmat | sjn o/ | ||
sjn wonders what a "lexotic op" is | |||
<- reading p6weekly.wordpress.com/2014/07/28/2...-refactor/ | |||
lizmat | S04:71 | 10:48 | |
synopsebot | Link: perlcabal.org/syn/S04.html#line_71 | ||
nwc10 | the gloarry isn't in the topic? | ||
glossary | |||
naughty fingers | |||
psch | m: my %a; %a{5} = "a"; %a{5} :delete # i assume this should warn on assign and give a non-LTA error | 10:50 | |
camelia | rakudo-moar ded723: OUTPUT«This type cannot unbox to a native string in method delete_key at src/gen/m-CORE.setting:9487 in block at src/gen/m-CORE.setting:2001 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2669 in block at /tmp/0Bhhmh8vKD:1» | ||
psch | that's the one thing that breaks in my branch for m:g// and s:g/// | 10:51 | |
in S05-modifiers/overlapping.t is a test that iterates over @$/ and uses each value as a hash key, but assigns strings as keys | |||
lizmat looks at it | 10:52 | ||
10:52
krunen joined
|
|||
lizmat | ah, looks like we have a MMD issue | 10:53 | |
m: my %a; %a{5} = "a"; %a{"5"}:delete; say %a | |||
camelia | rakudo-moar ded723: OUTPUT«().hash» | ||
lizmat | works fine | ||
psch | lizmat: i've found S09:1156 related to that | ||
synopsebot | Link: perlcabal.org/syn/S09.html#line_1156 | ||
lizmat | m: my %a; %a{5} = "a"; %a{5}:delete; say %a | ||
camelia | rakudo-moar ded723: OUTPUT«This type cannot unbox to a native string in method delete_key at src/gen/m-CORE.setting:9487 in block at src/gen/m-CORE.setting:2001 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2669 in block at /tmp/rcXqPQ4KbP:1» | ||
psch | m: my %a{Any}; %a{5} = "a"; %a{5} :delete | 10:54 | |
camelia | ( no output ) | ||
psch | lizmat: afaiu, the test is wrong, because it assumes {$/[0} to be a string | ||
lizmat | no, that's not really the issue here, I would think | ||
and from a performance point of view, you don't want to use %h{Any}, as it adds a layer of indirection | 10:55 | ||
the thing is: if you can specify %h{5} and have the key stringify correctly in assignment, it should also do this when deleting | 10:56 | ||
psch | right, that makes sense | ||
dalek | kudo/nom: 23c4ea2 | (Elizabeth Mattijsen)++ | src/core/control.pm: "die" will now say "Died" |
11:06 | |
lizmat | psch: testing a change | 11:08 | |
psch | lizmat: thanks :) | ||
11:10
zakharyas joined
11:11
chenryn joined
|
|||
lizmat | alas, no simple fix yet | 11:13 | |
m: nqp::unbox_s(5) # the real issue here | 11:14 | ||
camelia | rakudo-moar ded723: OUTPUT«This type cannot unbox to a native string in block at /tmp/1A3ECu2r5V:1» | ||
11:15
chenryn left
|
|||
jnthn | Well, that's completely correct | 11:15 | |
I suspect we're missing a candidate or coercion somewhere | |||
That does .Str or so | 11:16 | ||
lizmat | exists_key handles this by saying key.Stringy | ||
jnthn | .Str would be better | ||
.Stringy is too generic | |||
psch | jnthn: in Hash.pm:132ff: multi method delete_key($key) but multi method delete($key as Str) | ||
the coercion for the argument? | 11:17 | ||
lizmat | delete is deprecated | ||
jnthn | Well, it's better to add a Str candidate and an Any one for delete_key | ||
lizmat | ok | ||
jnthn | Though I guess a normal method and "as Str" isn't bad; it type checks before calling .Str | 11:18 | |
So the specializer can still figure it out | |||
lizmat | testing "as Str" now | ||
spectesting now | 11:19 | ||
FROGGS | is 'as Str' implemented? | 11:21 | |
lizmat | m: sub a ($a) { say $a.WHAT }; a(5) | 11:22 | |
camelia | rakudo-moar ded723: OUTPUT«(Int)» | ||
lizmat | m: sub a ($a as Str) { say $a.WHAT }; a(5) | ||
camelia | rakudo-moar ded723: OUTPUT«(Str)» | ||
lizmat | apparently | ||
FROGGS | ohh, nice | ||
:o) | |||
dalek | kudo/nom: 59fee83 | (Elizabeth Mattijsen)++ | src/core/Hash.pm: Fix %a{5}:delete, as reported by psch |
11:25 | |
lizmat | psch: ^^^ | 11:26 | |
11:28
zakharyas left
11:29
Sterver left
11:31
psch joined
|
|||
psch | lizmat++: thanks again | 11:32 | |
now to see if that was actually the only broken thing left in my branch | |||
11:34
chenryn joined
11:39
mr-foobar left
11:40
mr-foobar joined
|
|||
lizmat | m: note # should't this say "Noted" ? | 11:40 | |
camelia | rakudo-moar 23c4ea: OUTPUT«» | ||
11:41
xragnar_ joined,
xragnar is now known as Guest88011,
xragnar_ is now known as xragnar
|
|||
lizmat | jnthn: conspicuously, the delete-adverb tests in spectest started to fail, but only when run in the spectest | 11:43 | |
they run fine seperately | |||
wonder whether the "as Str" fix is not tickling something under stress | |||
11:44
cognome left
11:45
zakharyas joined,
Guest88011 left
11:47
zakharyas left,
zakharyas joined
11:48
chenryn left
11:49
zakharyas left
|
|||
dalek | kudo/nom: 1070a89 | (Elizabeth Mattijsen)++ | src/core/ (2 files): Bring implementation (exists|delete)_key in line |
11:49 | |
11:59
chenryn joined
|
|||
dalek | kudo/nom: 0bf81fa | (Elizabeth Mattijsen)++ | src/core/IO.pm: Make "note" say "Noted" |
12:00 | |
kudo/nom: f8b669c | (Elizabeth Mattijsen)++ | docs/ChangeLog: Some ChangeLog additions |
|||
12:02
lucas_ joined
|
|||
hoelzro | morning #perl6 | 12:06 | |
carlin | \o hoelzro | ||
(only been "morning" here for 6 minutes) | 12:07 | ||
hoelzro | carlin: which TZ? | ||
12:08
thou joined
|
|||
carlin | NZST | 12:08 | |
moritz | it's always morning in UGT! | ||
jnthn | Are there a Perl Monger groups in NZ, ooc? | ||
carlin | perl6 -e "say \$*TZ / 60 / 60" | ||
12 | |||
there is a Wellington.pm | 12:09 | ||
but I'm on the wrong Island for that | |||
I don't know how active it is | |||
12:09
cooper__ joined
|
|||
jnthn | Ah, so you're on the south island :) | 12:09 | |
lizmat | m: my %h=a=>1; say %h.delete_key("a") # jnthn: is nqp::delete_key supposed to return the value ? | 12:10 | |
camelia | rakudo-moar 23c4ea: OUTPUT«1» | ||
12:10
labster_ joined
|
|||
carlin | yes, the colder island | 12:10 | |
jnthn | I like the cold; works for me :) | ||
jnthn will be visiting NZ for the first time later on this year, all being well :) | 12:11 | ||
12:12
thou left,
kivutar joined,
woolfy1 joined
|
|||
carlin | exciting | 12:12 | |
"later on" means it'll probably be summer? | |||
12:13
FROGGS_ joined
|
|||
jnthn | Not quite; more like mid-late spring. | 12:13 | |
carlin | ah, lambing season :) | ||
12:13
dwarring left
|
|||
moritz | confusing seasons are confusing :-) | 12:13 | |
12:13
ponbiki_ joined
12:14
rjbs- joined
|
|||
jnthn | Yes. :) Going to Argentina in European spring to find the colors of autumn there was a little disconcerting. :) | 12:14 | |
12:15
lustlife left,
brrt joined,
yeltzooo4 joined
|
|||
nwc10 | was the food good? | 12:15 | |
jnthn | Really. | ||
Was one of the highlights of the trip. :) | 12:16 | ||
12:16
lustlife joined
|
|||
jnthn | That and the glaciers and mountains. :) | 12:17 | |
carlin | and the beer? :p | ||
jnthn | I did manage to find some microbrewed beer, though it wasn't quite so easy to come by. | ||
Well, it was in the capital. A little less so elsewhere. Maybe I just didn't look hard enough. :) | 12:18 | ||
12:19
yeltzooo left,
FROGGS left,
oetiker left,
ribasushi left,
cooper_ left,
ponbiki left,
eiro left,
labster_ is now known as labster
12:20
ribasushi joined
12:25
bjz_ left,
bjz joined
12:26
eiro joined
|
|||
dalek | ast/S26-WHY: 81f69dc | (Rob Hoelz)++ | S26-TODO.md: More notes |
12:29 | |
12:33
oetiker joined
12:34
jnap joined
12:36
FROGGS_ is now known as FROGGS
12:48
cognome joined
12:53
cognome left
12:54
cognome joined
|
|||
dalek | kudo/nom: f48e207 | (Elizabeth Mattijsen)++ | src/core/ (3 files): Further work on optimizing :delete in sink context |
13:00 | |
lizmat | now to get the codegen to actually pass the :SINK to the postcircumfix handling | 13:01 | |
jnthn | Shouldn't be too hard. | 13:02 | |
13:02
anaeem1_ left
|
|||
lizmat | my idea as well, but I would need some pointers... | 13:03 | |
jnthn | 0xDEADBEEF | ||
lizmat | I assume the optimizer would add the :SINK ? | ||
jnthn | Don't see why to do it in the optimizer | ||
lizmat | .oO( I was more thinking about dogs ) |
13:04 | |
jnthn | Could QAST::Want it... | ||
lizmat | because it is an optimization ? | ||
jnthn | Sure, but I mean it could be easier to gen appropriate code up front | ||
13:04
chenryn left
|
|||
jnthn | That can handle sink context | 13:04 | |
FROGGS | jnthn: do you think this is related to the parrot problems? github.com/rakudo/rakudo/blob/nom/....ops#L1049 | 13:05 | |
jnthn | But if you do it in the optimzier then visit_op would be the place | ||
FROGGS | because I also see "P->" in my bt and that piece of code also has something todo with dispatchers (and the "bad" commit was also about that) | ||
jnthn | Hmm...that's about $*DISPATCHER... | 13:06 | |
FROGGS | jnthn: could it be related? | ||
jnthn | Maybe; I don't immediately see it | 13:07 | |
FROGGS | k | ||
jnthn | Do we touch that bit of code just before teh segv? | ||
FROGGS | I dunno | ||
jnthn | Is it on the callstack? | ||
Hm, I guess maybe not | |||
FROGGS | jnthn: only parrot internals are on the callstack | 13:08 | |
but there is that #5 0x00007ffff7a2a191 in Parrot_ext_call (interp=interp@entry=0x60f050, sub_pmc=0x35dbc98, signature=signature@entry=0x7ffff7b2e0b3 "P->") at src/extend.c:158 | |||
jnthn | yeah, we seem to not even be in a nested runloop there | ||
Yeah, but that's the initial entry iiuc | |||
FROGGS | I'll let it now always do the Parrot_ex_throw_from_c_args instead of invoking X::NoDispatcher... | 13:10 | |
if that changes something... | |||
lizmat | my %poison_calls := nqp::hash( | ||
'eval', NQPMu, '&eval', NQPMu, | |||
jnthn: I guess the line with 'eval' can go now ? | 13:11 | ||
13:11
kaare_ left
|
|||
FROGGS | yes | 13:11 | |
unless.. | |||
lizmat | EVAL is listed as wel | ||
l | |||
jnthn | yeah, we had both in there before eval was removed | 13:12 | |
The removal patch musta missed this reference to it. | |||
lizmat | will remove and spectest now | ||
.oO( optimizing the optimizer) |
13:13 | ||
FROGGS | should this be changed? rakudo/src/perl6-debug.nqp:443: nqp::findmethod(Perl6::Compiler, 'eval')(self, |@pos, |%named) | ||
ahh, probably not, HLL::Compiler still has .eval | |||
lizmat | yup | 13:14 | |
dalek | ast/S26-WHY: 08db084 | (Rob Hoelz)++ | S26-TODO.md: Parametric role groups and S26 a bad match make |
13:15 | |
13:15
chenryn joined
13:17
chenryn left
|
|||
FROGGS | jnthn: okay, that does not help at all :( | 13:17 | |
dalek | kudo/nom: f25e551 | (Elizabeth Mattijsen)++ | src/Perl6/Optimizer.nqp: Remove "eval" from poison list That should never happen anymore, as it's called EVAL now. |
13:19 | |
13:20
rurban joined
|
|||
moritz | m: eval 'say 42' | 13:25 | |
camelia | rakudo-moar f8b669: OUTPUT«===SORRY!=== Error while compiling /tmp/lzpZbgzQrPUndeclared routine: eval used at line 1» | ||
moritz | ok, it's gone \o/ | 13:26 | |
13:31
groky left
|
|||
[Coke] | lizmat++ #file access cleanup | 13:32 | |
13:33
groky joined,
iarna joined,
ivanshmakov left
|
|||
FROGGS | jnthn: I am checking now every Parrot_pcc_invoke_sub_from_c_args | 13:34 | |
13:37
ivanshmakov joined,
kaleem left,
user3 joined
|
|||
lizmat | cycling& | 13:40 | |
13:43
user3 left
|
|||
masak | goodbye lower-case &eval. you were too good for this world. | 13:43 | |
13:44
anaeem1_ joined
13:45
chenryn joined
13:46
molaf joined
13:50
raiph joined
13:54
anaeem1_ left,
anaeem1 joined
13:56
thou joined
14:01
molaf left,
thou left,
anaeem1 left
14:08
rindolf left
14:10
[Sno] left
14:16
thou joined
14:17
treehug88 joined
14:22
anaeem1 joined
14:27
kaare_ joined
14:28
noganex left
14:35
rurban left
14:37
MilkmanDan left,
MilkmanDan joined
|
|||
carlin | :D NativeCall is so good | 14:37 | |
btyler | it really is | 14:38 | |
14:48
rurban joined
14:50
chenryn left,
shlomif joined
14:51
shlomif is now known as rindolf
14:54
anaeem1 left
14:56
chenryn joined
15:01
iarna left,
iarna joined
15:10
chenryn left
15:14
akaseki is now known as midoriseki
15:15
denis_boyun_ left
15:22
chenryn joined
15:31
[Sno] joined
|
|||
PerlJam | r: sub foo($x as Int) { }; say &foo.signature; | 15:33 | |
camelia | rakudo-jvm f25e55: OUTPUT«(timeout)» | ||
..rakudo-{parrot,moar} f25e55: OUTPUT«:(Any $x)» | |||
PerlJam | Should as-types show up in the signature? | ||
(that rakudo-jvm result is surprising, btw) | 15:34 | ||
timotimo | it's not | ||
rakudo-jvm behaves oddly when run by our evalbot in many cases ;( | |||
j: say "hello" | |||
camelia | rakudo-jvm f25e55: OUTPUT«hello» | ||
dalek | ecs: ceebcfa | (Salve J. Nilsen)++ | S99-glossary.pod: Add "splat"; Fix some POD errors and long lines. |
15:35 | |
timotimo | r: sub foo($x as Int) { }; say &foo.signature; | ||
camelia | rakudo-{parrot,jvm,moar} f25e55: OUTPUT«:(Any $x)» | ||
PerlJam | timotimo: alrighty then! I guess I'm applying my moar expectations to jvm :) | ||
15:35
chenryn left
|
|||
timotimo | is Salve J. Nilsen in here? | 15:35 | |
sjn | <- sjn | 15:36 | |
timotimo | ah | ||
the bogus characters after "Less Than Awesome." were actually intended :) | |||
sjn | oh? | ||
timotimo | yup | 15:37 | |
PerlJam | because they are LTA :) | ||
sjn | ehrm | ||
ok, non-obvious joke found then :) | 15:38 | ||
timotimo | let me find something in the irclogs to help you understand | ||
sjn | maybe add =encoding utf-8 to the top of the file then? | ||
15:39
pecastro left
|
|||
timotimo | irclog.perlgeek.de/perl6/2011-06-27#i_4012725 - these are LTA errors for example | 15:40 | |
but i was hunting for a much more LTA error ... | |||
15:40
brrt left,
pecastro joined
|
|||
TimToady | well, but LTA is a subtle concept | 15:41 | |
sjn | yeah | ||
maybe come up with some more examples? :) | |||
15:41
brrt joined
|
|||
TimToady | Ways Error Messages Go Subtly Wrong | 15:41 | |
sjn | or just c&p examples from IRC? | 15:42 | |
psch | rt.perl.org/Ticket/Display.html?id=71482 this has a great LTA example, i think | ||
timotimo | during some part of the past, it was pretty easy to get rakudo-parrot vomit data regions out to stdout/stderr when something went wrong | ||
timotimo AFK | |||
15:43
brrt left
|
|||
PerlJam | btw, where are as-types documented? | 15:44 | |
Are they the same thing as S02:565 ? | |||
synopsebot | Link: perlcabal.org/syn/S02.html#line_565 | ||
TimToady | yes | 15:45 | |
PerlJam | okay, good. Because that's what I've been rather unconciously thinking of them as. | 15:46 | |
psch | i'm not sure how to correct the tests for s/// behavior | 15:56 | |
m: use Test; $_ = "a"; is s/a/b/, "a", '"a".subst(/a/, "b") is "b"' # this one for example fails with my branch | |||
camelia | rakudo-moar f25e55: OUTPUT«not ok 1 - "a".subst(/a/, "b") is "b"# Failed test '"a".subst(/a/, "b") is "b"'# at lib/Test.pm line 89# got: 'b'# expected: 'a'» | ||
psch | ...i typed it wrong | ||
sjn is reading learnxinyminutes.com/docs/perl6/ | 15:57 | ||
TimToady | maybe put a ~ on the s/// | 15:58 | |
and the comment is wrong | |||
oh, you said that | |||
psch | it's in S05-substitution/subst.t:41ff | 15:59 | |
TimToady | m: $_ = 'a'; say ~s/a/b/; | ||
camelia | rakudo-moar f25e55: OUTPUT«b» | ||
TimToady | that should say a | ||
15:59
Rotwang joined
|
|||
psch | TimToady: it does in my branch; i've been working on m// and s/// with and without :g for a bit now | 15:59 | |
16:00
molaf joined
|
|||
TimToady | psch++ | 16:00 | |
psch | TimToady: so you're saying those tests are for stringification of the Match, and not match contents? | ||
i'm not sure how i'd test for the actual contents of a Match, anyway | 16:01 | ||
TimToady | you just have to test its various components, I guess | 16:02 | |
dalek | kudo-star-daily: 49e7d1c | coke++ | log/ (14 files): today (automated commit) |
||
rl6-roast-data: f8837b7 | coke++ | / (5 files): today (automated commit) |
|||
16:02
iarna left
|
|||
[Coke] | today's failures: jvm up to 45. moar at 5. parrot up more to 1862. niecza still at 1386 | 16:03 | |
16:03
iarna joined
|
|||
[Coke] | jvm has a LOT of flapping tests in S32-io/IO-Socket-INET.t - | 16:03 | |
[6~[6~ | |||
TimToady wonders what a [6~ critter is, and why two of them are doing a mating dance on screen... | 16:05 | ||
16:06
chenryn joined,
denis_boyun joined
|
|||
psch | there's also a bunch of passing TODOs in overlapping.t, but one line that confuses me slighty | 16:06 | |
%expected{map {$_[1]}, @expected} = (1) x @expected; # the line in question | |||
i *think* it wants 1 for each elem in the hash, but it gets one elem set to 1111 | 16:07 | ||
16:07
ventica joined
|
|||
TimToady | that looks like Perl 5 | 16:07 | |
the (1) x part of it, anyway | 16:08 | ||
psch | TimToady: the file is commented at the top as "Probably needs syntax updates to remove P5isms" | ||
m: my @a = 1 xx 3; say @a.elems | |||
camelia | rakudo-moar f25e55: OUTPUT«3» | ||
psch | i guess xx instead of x does what was intended | 16:09 | |
TimToady | yeah | ||
16:09
dmol left
|
|||
TimToady regrets putting (1) x $times into P5 | 16:10 | ||
16:10
treehug88 left
|
|||
psch | with changing that and changing .to to .from for the match position and adjusting the plan, overlapping.t passes | 16:10 | |
as in, all TODOs pass | |||
that's more than i set out to do :) | |||
16:10
chenryn left
|
|||
TimToady | maybe they're TODONEs now :) | 16:10 | |
hoelzro | what are others' thoughts on allowing → as a synonymn for --> in sub signatures? | 16:11 | |
TimToady | surely that would be ⟶ | 16:13 | |
hoelzro | oh, right | ||
[Coke] | any passing TODOs in files I just touched may be fudging issues with parrot vs. jvm vs moar | 16:17 | |
r: use Test; is(:10('01110') , 0d1110, "FROGGS, this one"); | |||
camelia | rakudo-parrot f25e55: OUTPUT«(signal )» | ||
..rakudo-{jvm,moar} f25e55: OUTPUT«ok 1 - FROGGS, this one» | |||
TimToady | p: say 0d1110 | 16:18 | |
camelia | rakudo-parrot f25e55: OUTPUT«1110» | ||
TimToady | p: say :10('01110') | ||
camelia | rakudo-parrot f25e55: OUTPUT«1110» | ||
TimToady | o.O | ||
dalek | kudo/nom: caee539 | duff++ | src/core/Str.pm: RT #122469 coerce indent()'s arg to Int |
16:21 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122469 | ||
FROGGS | maybe I should bisect Test.pm to see what piece makes the other thing segfault... | 16:22 | |
sjn wonders who's been working on LearnXinYminutes' Perl 6 page | 16:23 | ||
raydiak | good morning, #perl6 | 16:24 | |
sjn | git logs don't mention anyone else than "Nami-Doc" as author or committer | ||
raydiak | sjn: vendethiel did that | ||
sjn | ah, cool | ||
vendethiel++ | 16:25 | ||
16:25
iarna left
|
|||
raydiak | vendethiel++, I should say :) | 16:25 | |
dalek | ast: 328957c | duff++ | S32-str/indent.t: un-todo indent test for RT #122469 |
16:27 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122469 | ||
tony-o | btyler: http server async seems to work better with latest rakudo build | 16:33 | |
i seem to at least get an error to trackdown instead of segfault | |||
and it's serving at 40ms on jvm with no errors | |||
vendethiel | timotimo: yeah, I was talking about perl weekly, not yours :) | 16:36 | |
FROGGS | jnthn: this is when I invoke it several times, without a precomp'd version of Test.pm: gist.github.com/FROGGS/5a8688b59c1b06137ec1 | 16:38 | |
jnthn | Arse, that looks just like memory corruption. | 16:39 | |
FROGGS | jnthn: but reverting your commit helps | 16:40 | |
sjn | vendethiel: reading your work on learnxinyminutes :) | ||
good stuff | |||
vendethiel | sjn: yeah, my github username is a mistake that I can't really fix now :(. actually caused some confusion when I introduced myself to lizmat++ as "Nami-Doc" (no clue how she remembered I was vendethiel, tbh.) | ||
sjn: thanks ! | |||
16:41
telex left
|
|||
sjn | vendethiel: is it ok with you if I do a pull-request with some nit-picks fixed? :) | 16:41 | |
btyler | tony-o: awesome! my rakudo rebuild just finished :) | ||
vendethiel | sjn: please do. As a frog, I know my english is LTA :) | ||
FROGGS | O.o | 16:42 | |
timotimo | vendethiel: github.com/settings/admin ← can change your username here | ||
16:42
telex joined
|
|||
timotimo | "changing you rusername can have unlimited side effects" :P | 16:42 | |
vendethiel | timotimo: I know I can. But as I said - I'd break the world. Do not want. | ||
sjn | heheh | ||
vendethiel | FROGGS: frog as in "french". Not as in FROGGS. | 16:43 | |
FROGGS | vendethiel: I guessed that :o) | ||
16:47
colomon left
|
|||
FROGGS | jnthn: umm, actually it doesn't matter what module I use... an empty file will do | 16:48 | |
lucas_ | Hello channel | 16:49 | |
Please, correct if I'm wrong. When I do "my Foo(Bar) $x", at every assignment of a Bar object to $x, it will get coerced into a Foo object? | |||
FROGGS | dinner & | ||
lucas_ | Does it make sense to have more than one type coercion? Like this: my Foo(Bar(Baz)) $x; | 16:50 | |
16:52
colomon joined
|
|||
hoelzro | I wasn't aware that type coercions would work for variable types, but I don't see why it shouldn't | 16:52 | |
lucas_: so what you're thinking is "coerce Bar into Foo via Baz?" | |||
16:53
FROGGS[mobile] joined
|
|||
lucas_ | hoelzro: yes, something like force a value follow a chain of coercions to arrive at a final type. | 16:54 | |
hoelzro | that's an interesting idea | ||
what's the usecase, though? | |||
lucas_ | but I don't know if could exist a use case for this. Just thinking... | ||
16:54
gfldex joined
|
|||
vendethiel remembers people asking for chained implicits in scala and shivers :) | 16:55 | ||
FROGGS[mobile] | jnthn: in case nothing helps I'll fudge all the lines of your patch | ||
jnthn | We didn't implement coercion types in Rakudo yet, but I imagine they'll go in as first-class types. | ||
FROGGS[mobile]: Well, can even revert it, but...it's really odd. | |||
(The implification being that Foo(T) can handle T also being a coercion type) | 16:56 | ||
FROGGS[mobile] | it is odd, aye | ||
16:56
dakkar left
|
|||
lucas_ | I don't know if I get. Is it something like this?: my &c = Foo(Bar); my Foo $x = &c(Bar.new) | 16:59 | |
17:00
chenryn joined
|
|||
hoelzro | lucas_: you mean the coercion logic? | 17:03 | |
jnthn | Coercions tend to be expressed as method calls | ||
.Str # coerce to string, for example | |||
sjn | vendethiel: pull request sent, let's see how it goes :) | 17:04 | |
17:04
chenryn left,
virtualsue left
|
|||
sjn | vendethiel: github.com/adambard/learnxinyminut...s/pull/697 <- here it is | 17:05 | |
vendethiel | sjn: don't worry, I've seen it :) | ||
lucas_ | I was thinking about coercions as a first class values... | 17:06 | |
vendethiel | sjn: you can see I'm french due to my spacing of punctuation :p | 17:07 | |
hoelzro | lucas_: oh, now I understand | ||
psch | m: my $a = "5.2"; my Int(Num(Str))) $b = $a; say $b.WHAT # lucas_: there's a NYI failure already at least | ||
camelia | rakudo-moar f25e55: OUTPUT«===SORRY!=== Error while compiling /tmp/ljp6131JThcoercive type declarations not yet implemented. Sorry. at /tmp/ljp6131JTh:1------> my $a = "5.2"; my Int(Num(Str))⏏) $b = $a; say $b.WHAT # lucas_: there's» | ||
sjn | vendethiel: no worries, I've tried to keep the text at least a little consistent punctuation-wise | ||
hoelzro | because one can do my $type = Foo, why couldn't one do $type = Foo(Bar)? | 17:08 | |
psch | i'm not sure if i got the order right in the example though, i'd assume it coerces outwards | 17:09 | |
jnthn | What hoelzro said :) | ||
Curiously, that also means that a role Foo[::T] { } could be parameterized on a coercion type | |||
The actual behavior of it would be implemented in a meta-object somewhere | 17:12 | ||
Needs some pondering though, because coercions don't always make sense. :) | |||
lucas_ | Thanks everybody for answering my doubts. | ||
jnthn | $foo ~~ Str(Int) # should we even allow this, for example... | 17:13 | |
17:16
pecastro left
|
|||
vendethiel | sjn: reviewed it. Thanks for that! | 17:20 | |
(note: I can understand I've left quite a bit of comments. If you don't want to bother, tell me, I'll fix it myself when I get a round tuit) | |||
17:25
kaleem joined
17:36
midoriseki left
17:38
kaleem left
17:40
anaeem1 joined
17:45
denis_boyun left
17:46
denis_boyun joined
17:48
lucas_ left
|
|||
[Coke] | duff++ #coercion. thanks, I could be bothered to figure that out. :) | 17:49 | |
sjn | vendethiel: yeah, saw them | ||
vendethiel: saw the "space before colon" thing everywhere in the file, so I assumed it was intentional (I usually don't do it that way) | 17:50 | ||
17:50
lichtkind joined
|
|||
lichtkind | is the actually a name to use a classname out of a variable and make a instance | 17:51 | |
17:51
zakharyas joined
|
|||
lichtkind | i thoufht using :: is the right prefix to deref for that | 17:51 | |
thought | |||
[Coke] | p6: constant term:<<"\x2205">> = set(); | 17:52 | |
camelia | ( no output ) | 17:53 | |
[Coke] | p6: constant term:<<"\x2205">> = set(); say "alive"; | ||
camelia | rakudo-{parrot,jvm,moar} caee53, niecza v24-109-g48a8de3: OUTPUT«alive» | ||
[Coke] | ^^ can anyone rewrite that so it works in the setting? | ||
17:55
xinming_ is now known as xinming
|
|||
psch | m: my $type = "Int"; ::($type).WHAT.say # this what you mean lichtkind? | 17:57 | |
camelia | rakudo-moar caee53: OUTPUT«(Int)» | ||
lichtkind | psch: your great exactly | 17:58 | |
i got it only used wrong type of braces | |||
18:01
chenryn joined
|
|||
vendethiel | sjn: it's not intentional, it's just a french habit I can't get rid of | 18:01 | |
18:03
anaeem1 left
|
|||
sjn | vendethiel: yes, let's blame the state! ;) | 18:05 | |
vendethiel | the language :) (I really dislike french as a language. It does everything it shouldn't do) | ||
18:05
chenryn left
|
|||
sjn | Blasphemy! what would Moliére say? o_O | 18:06 | |
(not sure how his name is spelled. Molíere?) | |||
vendethiel | sjn: he's say "it's Molière, not Moliére" | ||
he'd*. | |||
sjn | ah :) | ||
PerlJam | c'est la vie ;) | ||
vendethiel | ì doesn't exist in french | ||
18:09
denis_boyun left
18:12
colomon left
|
|||
masak .oO( there's no "ì" in "French" ) | 18:16 | ||
FROGGS | there is also no "I" in "Team Perl 6" :o) | 18:17 | |
masak | well, there's an "I" in "6" | ||
cognome | For the correct spelling, we should ask le maître d'. C'est la vie. Déjà vu. | 18:18 | |
jnthn | FROGGS: But there is in "Team Peril 6" :P | 18:22 | |
FROGGS | *g* | 18:23 | |
yeah | |||
cognome | too bad, the autocorrect fixed my frenglish and added the diacritics. Spoiling my parody. | ||
18:23
Alina-malina joined
|
|||
jnthn | FROGGS: I'm looking at QAST memory usage. One big issue is the hash we allocate for annotations whether we need it or not. | 18:23 | |
FROGGS | jnthn: the :node? | 18:24 | |
18:24
molaf left
|
|||
jnthn | FROGGS: I have some patches locally that replace $ast<foo> := ... with $ast.annotate('foo', ...), and the lookup is $ast.annotation(...) | 18:24 | |
FROGGS | ahh, this | ||
jnthn | uh, $ast.annotation('foo') that is | ||
FROGGS | I though timotimo++ did that (in a branch) | 18:25 | |
18:25
akaseki joined
|
|||
jnthn | Oh... | 18:25 | |
Hmmm | |||
Did he do it successfully? :) | |||
jnthn has it working for NQP, and has Rakudo barfing... | |||
FROGGS | github.com/perl6/nqp/tree/qast_lazy_annotation | ||
jnthn: no, there were issues at some point, probably also in rakudp | 18:26 | ||
rakudo* | |||
the good thing is that I've got a QAST.atpos and .atkey wrapper in v5, I can easily switch :o) | 18:27 | ||
jnthn | ah, OK | ||
Thing is that it's hard to grep out annoations usage at present too | |||
FROGGS | well, rather postcircumfix candidates | ||
yeah, it is easier for me in v5 | |||
well, sort of | |||
jnthn | Anyway, my question was gonna be "will this be a nuisance to you in v5"... :) | 18:28 | |
FROGGS | jnthn: not at all :o) | ||
jnthn | ok | ||
18:30
ivan`` joined
18:32
aoseki joined
18:34
akaseki left
18:35
virtualsue joined
18:36
aoseki left
|
|||
rindolf | TimToady: are you feeling any better? | 18:36 | |
18:37
akaseki joined
|
|||
FROGGS | rindolf: I think he said so last time | 18:37 | |
18:46
dmol joined
|
|||
timotimo | jnthn: i did it in a branch; i think it failed at something in some mysterious way at some point | 18:50 | |
18:50
aoseki joined
|
|||
jnthn | Yeah | 18:50 | |
I've got one that builds NQP and Rakudo and at least passes sanity tests in Rakudo | 18:51 | ||
(and all in NQP) | |||
But it has uncovered some kind of spesh bug. | |||
hah, my first guess at where it might be was right | 18:52 | ||
18:53
cooper__ left,
akaseki left
18:55
pecastro joined
18:56
zakharyas left
|
|||
lizmat | r: p6: constant term:<<"\x2205">> = set(); say ∅ | 18:56 | |
camelia | rakudo-{parrot,jvm,moar} caee53: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> constant term:<<"\x2205">> = set(); say ⏏∅ expecting any of: argument list pr…» | ||
lizmat | m: constant term:<<"\x2205">> = set(); say ∅ | ||
camelia | rakudo-moar caee53: OUTPUT«===SORRY!=== Error while compiling /tmp/jmwZSbP097Two terms in a rowat /tmp/jmwZSbP097:1------> constant term:<<"\x2205">> = set(); say ⏏∅ expecting any of: argument list prefix or…» | ||
timotimo | jnthn: did you have to duplicate my work because i didn't point out my own branch fast enough? :( | 18:57 | |
jnthn | timotimo: Well, for some definition of duplicate; seems I did it somewhat differently. | 18:58 | |
(didn't have a mixin, just avoided allocating the hash) | |||
Since annotations are currently relatively common, the mixin approach may not be a win... | 18:59 | ||
Though may be worth trying it. | |||
timotimo | ah | 19:00 | |
i didn't know we could delay the allocation ... as it's using the "associative_delegate" mechanism | |||
i didn't actually look into how exactly that thing does its magic | |||
19:01
zakharyas joined
|
|||
jnthn | oh, I got rid of that bit | 19:01 | |
Just put the methods directly on QAST::Node | |||
19:01
Alina-malina left,
chenryn joined
|
|||
flussence is doing boring janitorial work on the specs repo... is it a good idea for me to run that create_contents.p6 thing? The diff is pretty long... | 19:02 | ||
lizmat | m: constant term:<<"\x2205">> = set(); say unival('∅') | 19:03 | |
camelia | rakudo-moar caee53: OUTPUT«NaN» | ||
FROGGS | .u ∅ | ||
yoleaux | U+2205 EMPTY SET [Sm] (∅) | ||
flussence | eh, looks like it just hasn't been run in a while. If anything breaks as a result I'll fix it :) | ||
lizmat | [Coke]: feels like we need more than just getting the definition work | 19:04 | |
FROGGS | m: constant term:<<"\x2205">> = set(); say GLOBAL:: | ||
camelia | rakudo-moar caee53: OUTPUT«("term:<∅>" => set()).hash» | ||
19:05
araujo left
|
|||
FROGGS | m: constant term:<<"\x2205">> = set(); say GLOBAL::; say &term:<∅> | 19:06 | |
19:06
chenryn left
|
|||
camelia | rakudo-moar caee53: OUTPUT«===SORRY!=== Error while compiling /tmp/Ca8kPAzoHWUndeclared routine: &term:<∅> used at line 1. Did you mean '&term:<now>'?» | 19:06 | |
19:06
Alina-malina joined
|
|||
FROGGS | m: constant term:<<"\x2205">> = set(); say GLOBAL::; say term:<∅> | 19:06 | |
camelia | rakudo-moar caee53: OUTPUT«("term:<∅>" => set()).hashset()» | ||
19:07
virtualsue left
|
|||
dalek | ecs: 5aed9c8 | flussence++ | S (4 files): Fix some minor POD errors Stops perldoc complaining about missing encodings and parser confusion. |
19:08 | |
ecs: 03abe1f | flussence++ | contents.pod: Refresh contents.pod This looked pretty out of date, so I've re-ran the script that generates it. |
|||
timotimo | jnthn: that's cheating! :P | ||
19:08
cooper_ joined
|
|||
lizmat | flussence++ | 19:09 | |
jnthn | timotimo: It may work out cheaper though | ||
timotimo: Remember that mixing in has to do some amount of work/allocation | |||
19:10
darutoko left,
zakharyas left
19:12
treehug88 joined
19:13
colomon joined
|
|||
timotimo | OK | 19:14 | |
19:14
virtualsue joined
|
|||
masak | rt.perl.org/Ticket/Display.html?id=71482 from the backlog -- I think we can consider it fix'd. do we also need a spectest for it? | 19:17 | |
nwc10: Rubinius X looks interesting, but it also looks like the Github repo has one commit (an import from somewhere), and then nothing after Feb 2. | |||
nwc10 | masak: this was exactly what I spotted 2 days ago (the 1 commit) and could see nothing else | 19:18 | |
hence why I asked | |||
19:20
ponbiki_ is now known as ponbiki
|
|||
FROGGS | lizmat: | 19:25 | |
perl6-m -e 'constant term:<∅> = set(); say ∅' | |||
set() | |||
masak | nwc10: preliminary hypothesis: it's easier to make a page with a list of great improvements, than it is to make the improvements. | ||
FROGGS | perl6-m -e 'constant term:term:<<"\x2205">> = set(); say ∅' | ||
===SORRY!=== Error while compiling -e | |||
lizmat: declaring the constant in the setting using the ∅ character will work when you remove the term:sym<∅> token from the grammar | 19:26 | ||
lizmat | but that will only work for moar and jvm, not for parrot | ||
nwc10 | masak: right now, that's the simplest explanation I can see that fits the observed facts. | ||
which is a bit :-( because I would like to have seen how the design panned out | 19:27 | ||
FROGGS | perl6-m -e 'constant term:<<"\x2205">> = set(); say ∅' | ||
set() | |||
ohh | |||
lizmat | putting the ∅ into the source code, will make parrot chew on the settings indefinitely | ||
FROGGS | hmmmm | ||
lizmat | or can I remove stuff from the grammar for jvm and moar only ? | ||
FROGGS | no, I think only the setting stuff an be fudged | 19:28 | |
so parrot does not like term:<<"\x2205">> ? | |||
lizmat | that's what I thought | ||
no, parrot does not like non-ascii characters | 19:29 | ||
FROGGS | p: constant term:<<"\x2206">> = set(); say GLOBAL::; say ∆ | ||
camelia | rakudo-parrot caee53: OUTPUT«("term:<∆>" => set()).hashset()» | ||
FROGGS | m: constant term:<<"\x2206">> = set(); say GLOBAL::; say ∆ | ||
camelia | rakudo-moar caee53: OUTPUT«("term:<∆>" => set()).hashset()» | 19:30 | |
FROGGS | j: constant term:<<"\x2206">> = set(); say GLOBAL::; say ∆ | ||
camelia | rakudo-jvm caee53: OUTPUT«("term:<∆>" => set()).hashset()» | ||
FROGGS | works here... | ||
lizmat | FROGGS: gist.github.com/lizmat/4677b993a07ab89f02f6 # error trace when activating the term | ||
masak | nwc10: me too. at least some bits. | 19:31 | |
FROGGS | p: constant term:<<"\x2205">> = set(); say GLOBAL::; say ∅ | ||
camelia | rakudo-parrot caee53: OUTPUT«===SORRY!=== Error while compiling /tmp/R9HMD3Vn77Two terms in a rowat /tmp/R9HMD3Vn77:1------> <<"\x2205">> = set(); say GLOBAL::; say ⏏∅ expecting any of: argument list prefix …» | ||
FROGGS | okay, I'll try anyway | ||
lizmat | FROGGS: using 2206 in the settings, gives the same error | ||
FROGGS | so the setting is the problem... | 19:32 | |
hmmm | |||
lizmat | yes, that's the problem | ||
I also tried to do it as the very last statement in the settings | |||
same error | |||
the hex representation is not the problem either | 19:33 | ||
constant term:<∅> = set(); | |||
gives the same error in the settings | |||
FROGGS | what if you assign a literal? | ||
lizmat | ? | ||
FROGGS | constant term:<<"\x2205">> = 42 | 19:34 | |
because that happens at compile time, and set() might not be there yet | |||
lizmat | set() exists at the end of settings | ||
and there it doesn't work either | |||
having said that, it appears that =42 *does* work | 19:35 | ||
FROGGS | what about constant term:<<"\x2205">> := set() ? | 19:36 | |
(I'm still compiling nqp) | |||
19:37
pecastro left
|
|||
lizmat | same error | 19:38 | |
19:39
pecastro joined,
dwarring joined
|
|||
FROGGS | how should it work anyway? | 19:40 | |
like that? | |||
m: constant term:<<"\x2206">> := &set; say ∆(1, 2) | |||
camelia | rakudo-moar caee53: OUTPUT«set(1, 2)» | ||
FROGGS | and without the parens? | ||
lizmat | no, ∅ *IS* the empty set | ||
FROGGS | ahh | ||
*g* | |||
lizmat | it is *not* a shortcut to making a set | ||
FROGGS | yeah | ||
m: constant term:<<"\x2206">> := Set.new; say ∆ | 19:41 | ||
camelia | rakudo-moar caee53: OUTPUT«set()» | ||
FROGGS | p: constant term:<<"\x2206">> = Set.new; say ∆ | ||
camelia | rakudo-parrot caee53: OUTPUT«set()» | ||
masak .oO( Next week, thriller on the silver screen: The Empty Set. it hides. in everything. ) | |||
lizmat | -#constant term:<<"\x2205">> = set(); #Cannot call ACCEPTS; no signatures match | ||
+my $EMPTY_SET := set(); | |||
+constant term:<<"\x2205">> = $EMPTY_SET; | |||
seems to compile | |||
masak | ship it! | 19:42 | |
lizmat | but doing a "say ∅" is a TTIAR | ||
FROGGS | we are totally agile! | ||
lizmat | which removing from the grammar would fix? | ||
FROGGS | lizmat: you have changed the grammar? | ||
lizmat | nope | ||
FROGGS | yeah | ||
lizmat | checking that now | 19:43 | |
jnthn | erm...any chance we could *not* define new operators/terms in CORE.setting that are not in Grammar.pm? | ||
Or are you learning it in Grammar.pm also? | 19:44 | ||
lizmat | still TTIAR | ||
lue would suggest the problem, as discovered, lies with Parrot, not rakudo. He couldn't even begin to know how to fix it in Parrot though :/ | 19:47 | ||
19:48
virtualsue left
19:51
denis_boyun_ joined
|
|||
lizmat | FROGGS: after building the setting, in which stash should I be able to see ∅ ? | 19:53 | |
FROGGS | I dunno | 19:56 | |
19:56
denis_boyun_ left
|
|||
FROGGS | there was a way to find out... but I don't remember | 19:56 | |
tony-o | btyler: no joy. handled errors moar was having and now it's back to just segfaulting | 20:02 | |
20:02
chenryn joined
|
|||
btyler | I noticed segfaulting with multiple connections as well | 20:04 | |
tony-o | with jvm or with moar? | 20:05 | |
20:05
vendethiel left
|
|||
btyler | moar | 20:05 | |
tony-o | i ran 100 loops of -n 100 -c 5 and had no problems on jvm | 20:06 | |
20:06
vendethiel joined
|
|||
lizmat | FROGGS: we need someone smarter than us to fix this | 20:06 | |
FROGGS | lizmat: nah, I don't give up just now | 20:07 | |
20:07
chenryn left
|
|||
lizmat | I've been spending many hours on this before today | 20:07 | |
btyler | tony-o: here's the error I saw on r-m: gist.github.com/kanatohodets/1dfbe...e4ddc60ede | ||
often just segfaults, but that pops up every now and then | |||
that was -t 1 and -c 10, I think | 20:08 | ||
20:08
iarna joined
|
|||
btyler | r-j seems to be just fine for me as well | 20:09 | |
20:10
ventica left
|
|||
masak | 'night, #perl6 | 20:19 | |
FROGGS | night masak | ||
lizmat | night masak | 20:20 | |
hoelzro | night masak | ||
20:20
colomon left
|
|||
FROGGS | <.end_keyword> is a problem... | 20:22 | |
m: my regex end_keyword { <!before <[ \( \\ ' \- ]> || \h* '=>'> » }; say "\x2205" ~~ / "\x2205" <.end_keyword> / | 20:25 | ||
camelia | rakudo-moar caee53: OUTPUT«Nil» | ||
FROGGS | m: my regex end_keyword { <!before <[ \( \\ ' \- ]> || \h* '=>'> » }; say "\x2205" ~~ / "\x2205" / | ||
camelia | rakudo-moar caee53: OUTPUT«「∅」» | ||
tony-o | nternal error: Unwound entire stack and missed handler | 20:26 | |
FROGGS | tony-o: you are using labeled loops? | ||
dalek | p: 5ad771c | jnthn++ | src/ (9 files): Eliminate $ast<annotation> in favor or methods. This makes it far easier to pick out annotation use amongst all the keying into Match objects, for one. For another, it means we can be smarter about allocating storage for annotations, saving a Hash being allocated for many QAST nodes. |
20:28 | |
20:28
jnap left
|
|||
FROGGS | lizmat: I think I got something... | 20:29 | |
tony-o | FROGGS: i don't believe so, that error happened on this line: while $*SCHEDULER.max_threads > $*SCHEDULER.loads + $!thread_buffer && @.queue.elems > 0 { | ||
dalek | p: 0a5be64 | jnthn++ | tools/build/MOAR_REVISION: Get latest MoarVM fixes/improvements. Including an inlining fix exposed by QAST refactor. |
||
tony-o | i'm trying to run down a segfault in moar that has no error output | 20:30 | |
FROGGS | hmmm | ||
tony-o | btyler's output above happens to me too and I can fix that one (i have it corrected locally) but still segfaulting | ||
jnthn | tony-o: What tool are you using to produce load, ooc? | 20:31 | |
tony-o | ab | ||
btyler | I've been using wrk, which is very similar | ||
jnthn | ah, cool, looks like I can get ab for Windows :) | 20:32 | |
tony-o | wrk is much nicer than ab if you can get that on windows too :-) | ||
jnthn | (I have a Linux VM handy, just would miss the VS debugger :-)) | ||
FROGGS | jnthn: the ab or wrk could run on linux and connect to your windows box... | 20:33 | |
jnthn | FROGGS: so effort... :P | ||
FROGGS | gah | 20:34 | |
tony-o | lol | ||
jnthn | So long as I can make it crash, I'm good to track it down. | ||
I just fixed all the ones I could find by refreshing quickly enough in Chrome... :P | |||
tony-o | haha | 20:35 | |
i don't know where to even begin debugging r-m | |||
jnthn | Anyway, will give it a go with ab, maybe tomorrow, maybe later in the week (depends how my errands tomorrow pan out) | ||
20:39
kaare_ left
|
|||
FROGGS | jnthn: Stage parse : This type does not support associative operations | 20:39 | |
at src/Perl6/World.nqp:238 (blib/Perl6/World.moarvm:push_lexpad:44) | |||
from src/Perl6/Grammar.nqp:936 (blib/Perl6/Grammar.moarvm:comp_unit:809) | |||
from src/Perl6/Grammar.nqp:346 (blib/Perl6/Grammar.moarvm:TOP:532) | |||
ohh | |||
I need to wait for a rakudo patch, right? | 20:40 | ||
dalek | kudo/nom: f2842a5 | jnthn++ | / (5 files): Update to new QAST annotations API. |
||
FROGGS | ahh | ||
:P | |||
vendethiel | sjn: did you see the learnxiny in the perl weekly, btw ? | 20:41 | |
there's another guy that's started reporting few mistakes and I think he followed that link. I'm glad. | |||
tony-o | jnthn: thank you | 20:42 | |
dalek | kudo/nom: 225b5e0 | (Elizabeth Mattijsen)++ | src/core/CompUnit (2 files): Further simplify creation of CompUnit object |
20:46 | |
carlin | is there a way to get the output of a printf() that some C code (used with NativeCall) did into a variable? | 20:52 | |
some trickery with $*IN or something? | |||
20:52
cooper_ left
20:53
cooper_ joined
|
|||
carlin | err, I mean $*OUT | 20:53 | |
hoelzro | hmm | ||
[Coke] | swap out out. | ||
one sec: | 20:54 | ||
lizmat | WOW: Files=912, Tests=31959, 188 wallclock secs ( 8.98 usr 4.06 sys + 1166.13 cusr 146.03 csys = 1325.20 CPU) | ||
hoelzro | well, since printf is talking directly to the stdlib's stdout, I don't know if you can mess with $*OUT in such a way that would make it work | ||
[Coke] | github.com/perl6/roast/blob/master...list.t#L21 | ||
oh, you mean -c-'s printf? | |||
hoelzro | it makes me think that messing around $*OUT should have deeper semantics, though | ||
[Coke] | not C code calling perl 6's printf ? | ||
hoelzro: given that $*OUT can be an anonymous class, good luck pushing that down into nativecall. | 20:55 | ||
lizmat | these last upgrade of Moar/NQP/Rakudo seems to have 8% speed increase | ||
hoelzro | like assigning to $*OUT should dup() things | ||
lizmat | *this | ||
jnthn++ | |||
[Coke] | jnthn++ indeed. | ||
carlin | [Coke]: yeah, C code used with NativeCall that calls C's printf() | ||
lizmat | we only have a few casualties in t/spec/S32-str/encode.t | 20:56 | |
carlin | hoelzro: darn, I thought that would be the case | ||
20:56
pecastro left
|
|||
hoelzro puts $*OUT/$*ERR monkey business into Perl 6 ideas file | 20:56 | ||
lizmat | m: "\x1F63E".encode("UTF-16").WHAT.say | 20:57 | |
camelia | rakudo-moar caee53: OUTPUT«(utf16)» | ||
20:57
araujo joined
|
|||
lizmat | m: "\x1F63E".encode("UTF-16").Bool.say | 20:58 | |
camelia | rakudo-moar caee53: OUTPUT«True» | ||
lizmat | jnthn: ^^^ returns False now | ||
jnthn | lizmat: Hmmmm... | ||
Will investigate. | |||
20:59
ventica joined
|
|||
jnthn | Well, in a moment. Doing a refactor to help brrt++'s JIT work at the moment. :) | 20:59 | |
lizmat | other than that: double jnthn++, jnthn++ | ||
FROGGS | carlin: have you tried: my $foo = qx"command here" | ||
lizmat | okidoki, was just reporting | ||
TimToady | m: "\x1F63E".encode("UTF-16").perl | ||
camelia | ( no output ) | ||
FROGGS | ohh, wait | ||
TimToady | m: "\x1F63E".encode("UTF-16").perl.say | ||
camelia | rakudo-moar caee53: OUTPUT«utf16.new(55357, 56894)» | ||
FROGGS | carlin: nvm | 21:00 | |
lizmat | $ 6 '"\x1F63E".encode("UTF-16").perl.say' | ||
utf16.new() | |||
TimToady | that would explain the False | ||
lizmat | yup | ||
jnthn | quick walk; bbi10 | 21:02 | |
hoelzro | carlin: for the time being, you could probably muck with dup2 to redirect where printfs are going =) | ||
21:02
rindolf left
21:03
chenryn joined
21:07
virtualsue joined
21:09
chenryn left,
FROGGS[mobile] left
21:10
akaseki joined
|
|||
dalek | kudo/nom: 54b4503 | (Tobias Leich)++ | src/Perl6/ (2 files): unbust term:<∅> for usage as empty set |
21:12 | |
21:13
aoseki left
21:14
aoseki joined
|
|||
lizmat | m: say nqp::encode(nqp::unbox_s("\x1F63E"), nqp::unbox_s("utf16"), nqp::decont(utf16.new)) | 21:14 | |
camelia | rakudo-moar caee53: OUTPUT«Buf:0x<d83d de3e>» | ||
lizmat | jnthn: this gives Buf:0x<> now | ||
21:16
akaseki left
|
|||
lizmat tests FROGGS++ last fix | 21:16 | ||
[Coke] | FROGGS: there is another reference to ∅ in the setting. | ||
(commented out) | |||
lizmat first tries with starred out version | 21:17 | ||
FROGGS | [Coke]: yes, forgot to re-remove it after pulling latest changes... | ||
doing now | |||
lizmat as well | |||
[Coke] | FROGGS++ there's also a roast test that you can unfudge. | ||
dalek | kudo/nom: 8d5d20c | (Tobias Leich)++ | src/core/set_operators.pm: remove fossil about term:<∅> in the setting |
21:18 | |
lizmat tries again | |||
$ 6 'say ∅' | 21:20 | ||
set() | |||
FROGGS++ | |||
FROGGS | :o) | ||
21:21
aoseki left
|
|||
lizmat will take care of the unfudgable tests, ok FROGGS? | 21:24 | ||
FROGGS | lizmat: sure | ||
lizmat | $ time perl6 -e 1 | ||
real0m0.285s | |||
user0m0.236s | |||
sys0m0.046s | |||
FROGGS | I can't spectest atm anyway | ||
lizmat | First time I see this below .3 seconds! | ||
tony-o | is that moar? | 21:26 | |
lizmat | yup | 21:27 | |
$ time perl5.18.2-threaded -MMoose -e 1 | |||
real0m0.167s | |||
user0m0.154s | |||
sys0m0.011s | |||
only 2x as slow as Perl 5 + Moose | |||
21:27
kivutar left
|
|||
lizmat | but with o so many more features than Moose | 21:28 | |
timotimo | we ought to make it as fast and give more features, other people won't accept us otherwise | 21:29 | |
and even then, they'll say "bah. we don't actually care about start-up time! HAHAHA!" | |||
Ulti | neat that's quite a bit of speed up | 21:31 | |
the problem is what happens after startup though, moarvm has been more than fast enough to start for me for a long time >:3 | |||
tony-o | we could just take the android approache and say that people need to get faster machines so speed isn't as important | ||
Ulti | I think my problem is I am using fancy things which are slower than just using normal loops and simple constructs | 21:32 | |
lizmat | which fancy things in particular ? | 21:33 | |
timotimo | we ought to keep fancy things cheap if at all possible! | 21:34 | |
Ulti | github.com/MattOates/BioInfo/blob/...ucleic.pm6 <--- the stuff in here is quite slow | ||
lizmat | Ulti: are you calling .translate a lot ? | 21:35 | |
Ulti | yeah if I want to translate ten million strings which have been split into fifty pieces and complemented | ||
the reality is the data I work on is a hundred million strings | 21:36 | ||
dalek | p: d8e06c1 | jnthn++ | tools/build/MOAR_REVISION: Get a MoarVM with improved ext-op API. |
||
21:36
rurban left
|
|||
lizmat | seems to me the initialization of %aminos and %codon_table could be taken outside of the method | 21:36 | |
Ulti | yeah | ||
at the moment I'm doing it on purpose :P | |||
easier to see improvements | |||
but yeah I guess I am creating a lot of stuff | 21:37 | ||
lizmat | hmmm... I guess codon_table not, but %aminos can be taken out of the method | ||
dalek | kudo/nom: b17a24b | jnthn++ | / (2 files): Update to latest MoarVM; use new extop API. Changes are to make JIT of extops rather easier to implement. This may also be a small efficiency win, though a shiny C compiler will probably have done alright on the previous code anyway. |
||
Ulti | is there semantics for just making it the equivalent of local in C | ||
just as a quick hack to see if that makes that much difference | 21:38 | ||
lizmat | move the initialization of %aminos just after the has @.residues | ||
Ulti | sure :P but I wanted to learn if there is local too | ||
lizmat | not sure what you mean with local? | 21:39 | |
do you need that table in some other classes as well ? | |||
jnthn | If you want to keep it scoped to a method but only initialize it once, there's state :) | ||
Ulti | no I mean so that the value is kept between function calls | 21:40 | |
jnthn: k k | |||
21:40
colomon joined
|
|||
Ulti | is that static in C rather than local :S | 21:40 | |
too many languages | |||
lizmat | s/my %aminos/state %aminos/ | 21:41 | |
jnthn | .oO( %amigos are friendlier... ) |
21:43 | |
Ulti | heh two seconds slower with state :3 | ||
funtimes | 21:44 | ||
I'll try moving it | |||
dalek | ast: 0828e60 | (Elizabeth Mattijsen)++ | S03-operators/ (2 files): Unfudge now passing ∅ related tests FROGGS++ for not giving up on ∅ |
21:45 | |
Ulti | is there a class variable equivalent of state? | ||
lizmat | state ? | ||
Ulti | orly | ||
lizmat | state $foo is equivalent to: | 21:46 | |
state $foo = 42 -> my $foo; once $foo = 42; | |||
so it also works at the class variable level | 21:47 | ||
but there it is not needed | |||
as the body of a class is only run once anyway | |||
Ulti | oh wow its slower moved into the class too | 21:48 | |
weird | |||
21:49
virtualsue left
|
|||
lizmat | that *is* weird! | 21:49 | |
Ulti | only a little bit though so might be well within the error of just running with and without cache | 21:51 | |
hmmm the state version is a lot slower though | |||
21:52
BenGoldberg joined
21:53
rurban joined
|
|||
jnthn | I think I see what's going on with the encode thing, but don't think I've the energy to fix it tonight | 21:57 | |
Will look at it tomorrow. | |||
lizmat | okidoki | 21:58 | |
sleep is good | |||
will take some soon as well | |||
21:58
ventica left
|
|||
lizmat | Ulti: gist.github.com/lizmat/56e4fbe79d2f941c4d94 # some timing differences between | 22:00 | |
the cases you described | |||
Ulti | yeah why aren't I seeing that :/ | 22:01 | |
Ulti checks he isnt doing something profoundly stupid | |||
though you are doing that a lot | |||
lizmat | welcome to the club :-) | 22:02 | |
22:04
lustlife left
|
|||
Ulti | just lost a second by building moar .o/ | 22:04 | |
and I built yesterday or maybe even this morning | |||
22:05
chenryn joined
|
|||
Ulti | oh I guess its the whole codon table bit I need to extract really | 22:06 | |
22:07
ventica joined
|
|||
lizmat | aha, so maybe that should be looked at priming | 22:09 | |
22:10
chenryn left
22:11
lichtkind left
|
|||
Ulti | urgh now I remember why its in this mess | 22:12 | |
@.residues is only defined in the concrete child class | 22:13 | ||
timotimo | m: say $^O | 22:14 | |
camelia | rakudo-moar 225b5e: OUTPUT«===SORRY!=== Error while compiling /tmp/lYZuPhCNZkUnsupported use of $^O variable; in Perl 6 please use $?DISTRO.name or $*DISTRO.nameat /tmp/lYZuPhCNZk:1------> say $^O⏏<EOL>» | ||
timotimo | (this segfaults locally ... ?!?) | 22:15 | |
lizmat | timotimo: not for me with moar on OSX | ||
22:15
Sqirrel left
|
|||
Ulti | not for me and I built from whatever rakudobrew pulls in about five minutes ago on Linux | 22:16 | |
FROGGS | timotimo: not for me | ||
timotimo: you are on the moar-jit branch? | |||
jnthn | timotimo: Are your Rakuo and Moar out of sync? | ||
Ulti | $?DISTRO.name doesn't work though only $*DISTRO.name | 22:17 | |
lizmat is going to get some sleep | |||
FROGGS | ohh, I am behind the extop refactor | ||
lizmat | Ulti: yes, $?DISTRO is NYI | ||
Ulti | k k | ||
I have a strong feeling I need to rethink most of the "design" of these stupid sequence classes | 22:18 | ||
sjn | vendethiel: Yeah, that's where I saw it | 22:20 | |
Ulti | or make the parent a role I guess | ||
sjn | (Perl Weekly) | ||
timotimo | could be that my stuff is b0rked | 22:26 | |
jnthn | 'night, #perl6 | 22:27 | |
FROGGS | gnight jnthn | ||
timotimo | can someone give me a few measurements for right now vs last monday? | 22:30 | |
like start-up speed, core setting time all in all, spectest time all in all, ... | |||
lizmat: do you have that information handy per chance? | |||
22:31
Psyche^ joined
|
|||
FROGGS | does that make sense? | 22:31 | |
proto prefix:<~^>(Mu $?, Mu $?) is pure { * } | |||
multi prefix:<~^>(\a) { ~^ a.Stringy } | |||
a prefix with a two-param proto? | |||
timotimo | well, two optional params | 22:33 | |
FROGGS | hmmm | ||
still, it is a prefix | |||
timotimo | oh | 22:34 | |
yes, interesting | |||
i don't think it makes sense | |||
a named argument i could understand (though i find the possibility to supply nameds to operators with adverbs a bit magical) | 22:35 | ||
22:35
Psyche^_ left
|
|||
FROGGS | and again: | 22:36 | |
proto prefix:<+^>(Mu $?, Mu $?) is pure { * } | |||
multi prefix:<+^>($x) { +^ $x.Numeric.Int } | |||
m: say +^42 | |||
camelia | rakudo-moar 225b5e: OUTPUT«-43» | ||
FROGGS | I change it anyway | ||
22:38
gfldex left
|
|||
lue | It'd be nice if you got a "probable typo" warning for +^@array , I had a weird bug caused by that a while back, and it took me a bit to understand what was even happening :) | 22:39 | |
(where the intention is ^+@array, if that's not clear) | 22:40 | ||
FROGGS | hmmmm | 22:42 | |
std: my @array; +^@array | |||
camelia | std 0f2049c: OUTPUT«ok 00:00 122m» | ||
FROGGS | I'd like to see std do that first | ||
lue | fair enough, though admittedly I can't immediately think of a good reason to do bitwise negation the number of elements in an array :) | 22:44 | |
*negation on the | |||
[Coke] | here, have some rope. | 22:49 | |
lue | thanks, I've been meaning to build a better string type :P | 22:51 | |
timotimo | hm. i'm pretty sure my current write-up of the last week's things is riddled with holes | 22:52 | |
22:52
xenoterracide joined
|
|||
timotimo | p6weekly.wordpress.com/?p=207&s...00ea919c22 - please feed back? | 22:52 | |
FROGGS | timotimo: is / foo ** { ^42.pick } / worth mentioning? | 22:56 | |
timotimo | it was already in last week's :) | ||
FROGGS | ahh :/ | 22:57 | |
22:58
rurban left
|
|||
timotimo | sorry to disappoint :) | 22:58 | |
FROGGS | hehe, np | ||
:o) | |||
I am about to unbust parrot... if you can wait like 30minutes | |||
lue | timotimo: couple things: first, i.E. very often) should rather be i.e. very often) (minor capitalization thing) | ||
timotimo | oh | ||
lue | And secondly, The second sentence of the third-to-last (non-empty) bullet feels like a run-on sentence to me, though I can't say for sure why. | 22:59 | |
btyler | timotimo: I don't know if you do library stuff, and it's far from done, but github.com/kanatohodets/p6-json-jansson is complete enough to be useful for pulling data out of large JSON blobs speedily | 23:00 | |
timotimo | oh yes of course! | ||
lue | In that sentence though, "improve the " should be "improves the " . Aside from that, looks like a good post :) | ||
timotimo | how could i forget? :) | ||
thanks | |||
[Coke] | FROGGS: oooh. what was it? | 23:02 | |
23:02
dmol left
|
|||
FROGGS | [Coke]: I am fudging the bad commit for parrot | 23:03 | |
23:03
treehug88 left
|
|||
timotimo | btyler: have you tried measuring how fast you can create a hierarchy of hash-likes and array-likes from a json document? | 23:05 | |
vs how JOSN::Tiny does it? | |||
23:06
chenryn joined
|
|||
btyler | well, the data structures are all there once jansson is done parsing. the binding just accesses them with syntax that mostly looks like normal p6 hash/array usage | 23:06 | |
the really rough benchmark I did was a 10mb json file, mentioned in the readme | 23:07 | ||
jansson chewed through it in about two seconds (probably more like 1 second, but this included p6 startup/etc), JSON::Tiny was still working about 4 minutes in | |||
23:08
PZt joined
|
|||
btyler | it's a really nicely designed library, emphasis on correct unicode handling | 23:08 | |
jansson's perf is good, but I think unexceptional among C/C++ JSON libs | |||
it's really a rather unfair comparison, since JSON::Tiny gives you true p6 data structures and all the data lives under the management of p6. jansson has its own refcounting memory management, and the binding cheats heavily. doing anything complex with the jansson-objects via the binding will become painful fairly quickly I suspect | 23:11 | ||
23:11
chenryn left
|
|||
btyler | but sometimes you just need to burn through data to find a thing quickly | 23:12 | |
timotimo | aye | ||
23:18
akaseki joined
|
|||
hoelzro | so I had a thought while implementing S26 for roles | 23:21 | |
23:21
spider-mario left
|
|||
hoelzro | if I have this: #| one role R[] {} #| two role R[::T] {} | 23:21 | |
what's R.WHY supposed to be? | |||
dalek | kudo/nom: cf544ab | (Tobias Leich)++ | src/core/ (4 files): unbust >1600 parrot spectest failures introduces by 9515bb7 This patch does not really fix the issue on parrot, it just fudges the by the patch changed lines so these will only be made ative for jvm and moar. Sidenote: proto prefix:<+^>($?, $?) and proto prefix:<~^>($?, $?) were changed to take precisely one argument, since these are prefixes. |
||
hoelzro | and for that matter, how would that work for multis? | ||
FROGGS | [Coke]: p-spectest should be down to ten failures for the next run | 23:24 | |
23:24
bjz left
|
|||
[Coke] | FROGGS++ | 23:27 | |
23:27
bjz joined
23:30
bjz left,
bjz joined
|
|||
btyler | timotimo: if it helps you put things in perspective for jansson, it's about 1/3rd the speed of JSON::XS for decoding | 23:32 | |
(JSON::XS is crazy fast) | |||
timotimo | i shall use jansson in code i built myself soon :) | 23:33 | |
23:40
bjz left
|
|||
BenGoldberg | m: my @a = 12, '12a', 2, 12; say @a[$_] cmp @a[$_+1] for 0..2; | 23:45 | |
camelia | rakudo-moar b17a24: OUTPUT«LessLessLess» | ||
BenGoldberg | The cmp operator is nontransitive. How bad is that? | 23:46 | |
timotimo | m: my @a = 12, '12a', 2, 12; @a.rotor(2, 1).map: { $^a cmp $^b } | 23:47 | |
camelia | rakudo-moar b17a24: OUTPUT«Unhandled exception: Not enough positional parameters passed; got 1 but expected 2 at /tmp/Yam9GIy6EU:1 (<ephemeral file>::0) from src/gen/m-CORE.setting:7833 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm::846) from s…» | ||
timotimo | m: my @a = 12, '12a', 2, 12; @a.rotor(2, 1).perl.say | 23:48 | |
camelia | rakudo-moar b17a24: OUTPUT«($(12, "12a"), $("12a", 2), $(2, 12)).list» | ||
timotimo | m: my @a = 12, '12a', 2, 12; @a.rotor(2, 1).map: -> ($a, $b) { $a cmp $b } | ||
camelia | ( no output ) | ||
timotimo | m: my @a = 12, '12a', 2, 12; @a.rotor(2, 1).map: -> ($a, $b) { say $a cmp $b } | ||
camelia | rakudo-moar b17a24: OUTPUT«LessLessLess» | ||
timotimo | didn't end up being shorter :\ | ||
BenGoldberg | m: my @a = 12, '12a', 2, 12; say @a.pick(*).sort; | 23:49 | |
camelia | rakudo-moar b17a24: OUTPUT«2 12 12 12a» | ||
rakudo-moar b17a24: OUTPUT«12 12 12a 2» | |||
BenGoldberg | m: my @a = 12, '12a', 2, 12; my %b;++%b{ @a.pick(*).sort } for 1..20; %b.say | 23:51 | |
camelia | rakudo-moar b17a24: OUTPUT«No such method 'succ' for invocant of type 'Parcel' in sub prefix:<++> at src/gen/m-CORE.setting:1833 in block at /tmp/6gtdPpJ904:1» | ||
BenGoldberg | m: my @a = 12, '12a', 2, 12; my %b; %b{ @a.pick(*).sort } += 1 for 1..20; %b.say | 23:52 | |
camelia | rakudo-moar b17a24: OUTPUT«("12" => Any, "12a" => Any, "2" => Any).hash» | ||
BenGoldberg | m: my @a = 12, '12a', 2, 12; my %b; %b{ @a.pick(*).sort.Str } += 1 for 1..20; %b.say | ||
camelia | rakudo-moar b17a24: OUTPUT«("12 12 12a 2" => 4, "2 12 12 12a" => 16).hash» | ||
BenGoldberg | m: my @a = 12, '12a', 2, 12; my %b; %b{ @a.pick(*).sort.Str } += 1 for 1..1000; %b.say | ||
camelia | rakudo-moar b17a24: OUTPUT«("12 12 12a 2" => 316, "2 12 12 12a" => 684).hash» | ||
BenGoldberg | The simple solution to getting a stable sort is to be less clever when comparing two different types. Instead of comparing mismatched objects, just do a lexigraphical comparison of the type names. | 23:55 | |
That would put all Int objects before Str objects, since "I" comes before "S". | 23:56 |