Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-08-04

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

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

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

Perl 6 | Reference Documentation | Rakudo