Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-01-28

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

All times shown according to UTC.

Time Nick Message
00:12 jnthn 'night
00:12 brokenchicken night
00:14 pyrimidine joined #perl6-dev
00:15 MasterDuke brokenchicken: FWIW, grepping in perl6-all-module shows ~150 cases of `~~ 'foo'`, ~50 of `~~ "foo"`, and ~50 of `~~ \d`
00:16 brokenchicken Hehe, not what expected :D
00:16 brokenchicken *what I
00:17 MasterDuke more than i expected also
00:46 Geth rakudo: MasterDuke17++ created pull request #1005: Fix typo in AST comment
00:46 Geth rakudo: review: https://github.com/rakudo/rakudo/pull/1005
01:20 brokenchicken I guess everyone's away now?
01:22 brokenchicken I need to change 6.c-errata here: https://github.com/perl6/roast/blob/6.c-errata/S32-exceptions/misc.t#L132
01:22 brokenchicken It now throws X::Syntax::Reserved instead of X::Syntax::Extension::Category, because :sym<> is now marked as reserved per TimToady https://irclog.perlgeek.de/perl6/2017-01-25#i_13988093
01:23 brokenchicken Is it OK to make that change?
01:23 brokenchicken jnthn lizmat TimToady [Coke] ping
01:23 brokenchicken Or should that part wait for 6.d
01:26 brokenchicken And the change would be to remove the 'sym' part; so it'd end up as throws-like 'sub postbla:<foo>() { }', X::Syntax::Extension::Category, category => 'postbla';
01:29 brokenchicken Eh, screw it. I'll leave it to 6.d. It's bad to change 6.c-errata
02:00 Geth rakudo/nom: 48abeeef26 | (Zoffix Znet)++ | src/Perl6/Grammar.nqp
02:00 Geth rakudo/nom: Improve colonpair-extended names on subroutines
02:00 Geth rakudo/nom:
02:00 Geth rakudo/nom: Per discussion: https://irclog.perlgeek.de/perl6/2017-01-25#i_13988088
02:00 Geth rakudo/nom:
02:00 Geth rakudo/nom: - sub foo:bar<ber> {} no longer throws and is a valid extended sub name
02:00 Geth rakudo/nom:     - this also fixes inconsistency where this form threw *except* in cases
02:00 Geth rakudo/nom:         when sub was some_exiting_token_in_Perl6_Grammar:sym<some_exiting> {}
02:00 Geth rakudo/nom: <…commit message has 8 more lines…>
02:00 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48abeeef26
02:01 Geth roast: 53d6e8491d | (Zoffix Znet)++ | S06-operator-overloading/sub.t
02:01 Geth roast: Test colonpair-extended subroutine names
02:01 Geth roast:
02:01 Geth roast: Rakudo impl: https://github.com/rakudo/rakudo/commit/48abeeef26
02:01 Geth roast:
02:01 Geth roast: Two tests are fudged as 6.c-errata expects those forms to throw
02:01 Geth roast: X::Syntax::Extension::Category exception instead. So leave that
02:01 Geth roast: until 6.d language.
02:01 Geth roast: review: https://github.com/perl6/roast/commit/53d6e8491d
02:08 pyrimidine joined #perl6-dev
02:09 user__ joined #perl6-dev
02:09 brokenchicken :(
02:10 brokenchicken Looks like I need to make it log its terminal output to some file...
02:10 brokenchicken Second time some event crashed it
02:11 Geth joined #perl6-dev
02:13 MasterDuke heh, merging my PR crashed it?
02:13 brokenchicken Looks like it.
02:27 ggoebel joined #perl6-dev
02:48 ilbot3 joined #perl6-dev
02:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
05:58 pyrimidine joined #perl6-dev
08:12 RabidGravy joined #perl6-dev
09:19 pyrimidine joined #perl6-dev
09:34 Geth roast: 7851e7a710 | (Stefan Seifert)++ | 2 files
09:34 Geth roast: Fix return value of CompUnit::Handle::globalish-package
09:34 Geth roast:
09:34 Geth roast: globalish-package was meant to return the package stash. That's apparent in
09:34 Geth roast: that every single caller immediately called .WHO on its result. Just returning
09:34 Geth roast: a stash also makes it easier to create CompUnit::Handles representing code
09:34 Geth roast: written in other languages.
09:34 Geth roast:
09:34 Geth roast: Note that the tests doesn't even test globalish-package itself but are about
09:34 Geth roast: symbol merging and precompilation. The authors just copied rakudo's code.
09:34 Geth roast: review: https://github.com/perl6/roast/commit/7851e7a710
09:34 Geth roast/6.c-errata: e73bb67f64 | (Stefan Seifert)++ | S11-repository/curli-install.t
09:34 Geth roast/6.c-errata: Fix return value of CompUnit::Handle::globalish-package
09:34 Geth roast/6.c-errata:
09:34 Geth roast/6.c-errata: globalish-package was meant to return the package stash. That's apparent in
09:35 Geth roast/6.c-errata: that every single caller immediately called .WHO on its result. Just returning
09:35 Geth roast/6.c-errata: a stash also makes it easier to create CompUnit::Handles representing code
09:35 Geth roast/6.c-errata: written in other languages.
09:35 Geth roast/6.c-errata:
09:35 Geth roast/6.c-errata: Note that the test doesn't even test globalish-package itself but is about
09:35 Geth roast/6.c-errata: symbol merging. The author just copied rakudo's code.
09:35 Geth roast/6.c-errata: review: https://github.com/perl6/roast/commit/e73bb67f64
09:35 Geth rakudo/nom: 960a78900d | (Stefan Seifert)++ | 5 files
09:35 Geth rakudo/nom: Have CompUnitHandle::globalish-package return the actual Stash
09:35 Geth rakudo/nom:
09:35 Geth rakudo/nom: Instead of requiring every caller to call .WHO on the return value, do it
09:35 Geth rakudo/nom: in globalish-package itself. This makes it easier for an alternative
09:35 Geth rakudo/nom: implementation to replace CompUnit::Handle
09:35 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/960a78900d
09:48 Ven joined #perl6-dev
10:06 Ven joined #perl6-dev
10:24 AlexDaniel joined #perl6-dev
11:36 pyrimidine joined #perl6-dev
11:50 Ven joined #perl6-dev
12:05 pmurias joined #perl6-dev
12:06 RabidGravy joined #perl6-dev
12:07 pmurias when compiling method foo($foo = $default_value+1) {...} the block created for '$default_value+1' is created as a QAST::Block with blocktype set to ''
12:07 pmurias how is the lexical scope set on that block
12:07 pmurias ?
12:09 pmurias in cases where bind_sig is used
12:20 Geth rakudo/nom: 9d0a6c00f7 | (Elizabeth Mattijsen)++ | src/core/Str.pm
12:20 Geth rakudo/nom: Add comment as to the reason of 36
12:20 Geth rakudo/nom:
12:20 Geth rakudo/nom: And no, it's not 6 less than 42 :-)
12:20 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d0a6c00f7
12:38 pyrimidine joined #perl6-dev
12:52 jnthn brokenchicken: Note that you can compile/throw differently based upon current language version in effect, which would let you get the new behavior now in 6.d.PREVIEW but keep the original in 6.c
12:55 Ven joined #perl6-dev
13:17 MasterDuke joined #perl6-dev
13:23 Geth rakudo/nom: 00e60d9480 | (Elizabeth Mattijsen)++ | src/core/Seq.pm
13:23 Geth rakudo/nom: Make Seq.InfiniteLoopIter about 6% faster
13:23 Geth rakudo/nom:
13:23 Geth rakudo/nom: Unfortunately, this iterator only gets called directly from roast,
13:23 Geth rakudo/nom: but there does not appear to be a way to actually run this code in
13:23 Geth rakudo/nom: any other way.  One would expect "do loop { ... }" to do this, but
13:23 Geth rakudo/nom: that takes the WhileLoopIter variant.  Something with codegen in
13:23 Geth rakudo/nom: Actions.nqp around line 128.
13:23 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00e60d9480
13:24 MasterDuke m: use nqp; say nqp::isbig_I(.5)
13:24 camelia rakudo-moar 9d0a6c: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20' of type Rat␤  in block <unit> at <tmp> line 1␤␤»
13:24 MasterDuke ^^^ is that a bug?
13:24 lizmat m: use nqp; say nqp::isbig_I(5)
13:24 camelia rakudo-moar 9d0a6c: OUTPUT«0␤»
13:24 lizmat MasterDuke: .5 is not an int / Int so not a bug I would say
13:25 lizmat isbig_I assumes it is given some sort of int
13:25 MasterDuke https://github.com/perl6/nqp/blob/master/docs/ops.markdown#isbig
13:25 MasterDuke should that doc be changed then?
13:26 lizmat m: use nqp; say nqp::isbig_I(59999999999999999999999999999999)
13:26 camelia rakudo-moar 9d0a6c: OUTPUT«1␤»
13:26 lizmat MasterDuke: not sure, jnthn should know  :-)
13:27 MasterDuke jnthn: ^^^?
13:37 jnthn Not a bug
13:37 jnthn If you use nqp:: ops you must give them what they expect.
13:38 lizmat jnthn
13:38 jnthn In the box/unbox case we'll handle it for you
13:38 lizmat so the doc needs changing ?
13:38 jnthn Yeah, should not say Mu in the signautre there
13:38 lizmat MasterDuke: ^^^   :-)
13:39 jnthn Should say Int
13:39 jnthn Looking at the descritpion up top
13:39 MasterDuke k, that's a simple fix
13:39 Geth rakudo/nom: 4d8fc05ba8 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
13:39 Geth rakudo/nom: Introducing R:It.Loop
13:39 Geth rakudo/nom:
13:39 Geth rakudo/nom: Basically Seq.InfiniteLoopIter, abstracted in R:It
13:39 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4d8fc05ba8
13:39 Geth rakudo/nom: b1afc13a3c | (Elizabeth Mattijsen)++ | src/core/Seq.pm
13:39 Geth rakudo/nom: Use R:It.Loop for the loop case
13:39 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b1afc13a3c
13:43 Geth nqp: 9357194067 | (Daniel Green)++ | docs/ops.markdown
13:43 Geth nqp: Fix signature of isbig_I
13:43 Geth nqp:
13:43 Geth nqp: It expects an Int, not just any Mu object.
13:43 Geth nqp:
13:43 Geth nqp: https://irclog.perlgeek.de/perl6-dev/2017-01-28#i_14003276
13:43 Geth nqp: review: https://github.com/perl6/nqp/commit/9357194067
13:49 MasterDuke i got really confused earlier this morning when i saw a parse time of 0.12s for a rakudo compile. it took until after coffee to realize it was for m-CORE.d.setting
13:49 lizmat yeah, that would have been *really* nice
13:50 lizmat but would cut into my reading of HN /. and the like  :-)
13:52 MasterDuke we can dream
13:57 Geth rakudo: MasterDuke17++ created pull request #1006: Remove the old style 'm-' prefix on CORE.d.setting
13:57 Geth rakudo: review: https://github.com/rakudo/rakudo/pull/1006
14:35 pyrimidine joined #perl6-dev
14:37 Ven joined #perl6-dev
14:42 Geth rakudo/nom: 7c26985c6c | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
14:42 Geth rakudo/nom: Introducing R:It.RepeatLoop
14:42 Geth rakudo/nom:
14:42 Geth rakudo/nom: Basically the functionality of do repeat { foo } while bar.  Taken
14:42 Geth rakudo/nom: from Seq::WhileLoopIter, without the dependence on a $repeat flag.
14:42 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c26985c6c
14:42 Geth rakudo/nom: a832944d6c | (Elizabeth Mattijsen)++ | src/core/Seq.pm
14:42 Geth rakudo/nom: Make do repeat while use R:It.RepeatLoop
14:42 Geth rakudo/nom:
14:42 Geth rakudo/nom: Makes it about 3% faster.  Not a lot, but could help in hot code paths
14:42 Geth rakudo/nom: outside of the setting.
14:42 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a832944d6c
14:42 pyrimidi_ joined #perl6-dev
14:43 RabidGravy "aggregation of marginal gains"
14:44 lizmat RabidGravy: hopefully
14:46 Ven joined #perl6-dev
15:02 Geth rakudo/nom: f0b92349ee | (Daniel Green)++ | tools/build/Makefile-Moar.in
15:02 Geth rakudo/nom: Remove the old style 'm-' prefix on CORE.d.setting
15:02 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f0b92349ee
15:02 Geth rakudo/nom: a256ef24e1 | (Zoffix Znet)++ | tools/build/Makefile-Moar.in
15:02 Geth rakudo/nom: Merge pull request #1006 from MasterDuke17/nom
15:02 Geth rakudo/nom:
15:02 Geth rakudo/nom: Remove the old style 'm-' prefix on CORE.d.setting
15:02 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a256ef24e1
15:09 [Tux] This is Rakudo version 2017.01-91-ga832944d6 built on MoarVM version 2017.01-14-g357438a9
15:09 [Tux] csv-ip5xs        2.940
15:09 [Tux] test            13.810
15:09 [Tux] test-t           5.222
15:09 [Tux] csv-parser      14.394
15:09 [Tux] second run was over 6!
15:12 brokenchicken :(
15:13 brokenchicken damn, I wonder if it's the IO::Handle.lines thing
15:16 brokenchicken c: HEAD $*PERL.compiler.version.say
15:16 committable6 brokenchicken, ¦«HEAD»: v2017.01.93.ga.256.ef.2
15:16 brokenchicken c: 2017.01 $*PERL.compiler.version.say
15:16 committable6 brokenchicken, ¦«2017.01»: Cannot find this revision (did you mean “2016.01”?)
15:17 brokenchicken .ask AlexDaniel what's with the bots not finding 2017.01 release?
15:17 yoleaux2 brokenchicken: I'll pass your message to AlexDaniel.
15:17 AlexDaniel .
15:17 yoleaux2 15:17Z <brokenchicken> AlexDaniel: what's with the bots not finding 2017.01 release?
15:17 AlexDaniel c: 2017.01 $*PERL.compiler.version.say
15:17 committable6 AlexDaniel, ¦«2017.01»: v2016.12.409.g.78980.ed
15:17 pmurias jnthn: if I have: $outer := QAST::Block.new(:blocktype<declaration_static>, ..., $inner := QAST::Block.new(...)) and $inner is part of some serialised signature, does the code in inner get access to the lexicals from $outer?
15:18 pyrimidine joined #perl6-dev
15:18 brokenchicken o-oh... I hope that's not a messed up release :o
15:19 AlexDaniel brokenchicken: https://github.com/perl6/whateverable/issues/97
15:19 AlexDaniel wait but… what is it then?
15:20 AlexDaniel brokenchicken: it's either that or the bots are broken, no?
15:20 brokenchicken AlexDaniel: hm, but you don't usually need to pull tags? 2016.12 works and it's the same build script innit?
15:20 brokenchicken c: 2734533 for ^130 { $ = $_ for "/home/bisectable/.bash_history".IO.lines }; say now - INIT now
15:20 AlexDaniel brokenchicken: I'm not sure actually. All I know is that I had to do it a couple of times
15:20 committable6 brokenchicken, ¦«2734533»: 1.0439713
15:20 brokenchicken c: 2734533 for ^130 { $ = $_ for "/home/bisectable/.bash_history".IO.lines }; say now - INIT now
15:20 committable6 brokenchicken, ¦«2734533»: 1.0413848
15:20 brokenchicken c: HEAD for ^130 { $ = $_ for "/home/bisectable/.bash_history".IO.lines }; say now - INIT now
15:20 committable6 brokenchicken, ¦«HEAD»: 1.05831355
15:20 brokenchicken c: HEAD for ^130 { $ = $_ for "/home/bisectable/.bash_history".IO.lines }; say now - INIT now
15:20 committable6 brokenchicken, ¦«HEAD»: 1.067123
15:21 brokenchicken m: say 1.058/1.042
15:21 camelia rakudo-moar a256ef: OUTPUT«1.015355␤»
15:21 brokenchicken m: say 5.222 / 4.999
15:21 camelia rakudo-moar a256ef: OUTPUT«1.044609␤»
15:21 brokenchicken hm
15:21 MasterDuke benchable6: 2017.01,HEAD for ^130 { $ = $_ for "/home/bisectable/.bash_history".IO.lines };
15:21 benchable6 MasterDuke, starting to benchmark the 2 given commits
15:22 benchable6 MasterDuke, benchmarked the given commits, now zooming in on performance differences
15:22 benchable6 MasterDuke, ¦«2017.01»:1.1144␤¦«HEAD»:1.1533
15:22 AlexDaniel \o/
15:22 brokenchicken m: say 1.15/1.11
15:22 camelia rakudo-moar a256ef: OUTPUT«1.036036␤»
15:22 brokenchicken huggable: bench
15:22 huggable brokenchicken, nothing found
15:22 MasterDuke it only bisects if there's a >10% diff
15:23 AlexDaniel you can make it a >10% difference I guess
15:23 AlexDaniel benchable6: 2017.01,HEAD for ^13000 { $ = $_ for "/home/bisectable/.bash_history".IO.lines };
15:23 benchable6 AlexDaniel, starting to benchmark the 2 given commits
15:24 AlexDaniel I guess that was a bit too much…
15:24 brokenchicken Hm, I do see a "test.pl:    for lines() {" in [Tux]'s repo, so I guess my hypothesis is right about the slowdown being due to my fix
15:24 MasterDuke why would your fix be slower? you even removed a function call
15:25 brokenchicken huh?
15:25 benchable6 AlexDaniel, benchmarked the given commits, now zooming in on performance differences
15:25 benchable6 AlexDaniel, ¦«2017.01»:10.0012␤¦«HEAD»:10.0009
15:25 AlexDaniel o_o
15:25 brokenchicken No, I added an isnull check for *every* pull-one of .lines
15:25 timotimo isnull should be rather cheap, though?
15:26 AlexDaniel benchable6: 2017.01,HEAD sleep 1
15:26 benchable6 AlexDaniel, starting to benchmark the 2 given commits
15:26 benchable6 AlexDaniel, benchmarked the given commits, now zooming in on performance differences
15:26 benchable6 AlexDaniel, ¦«2017.01»:1.1016␤¦«HEAD»:1.1035
15:26 MasterDuke ah, i thought you were talking about the subclassing fix
15:26 brokenchicken timotimo: it's nqp::if(nqp::isnull(nqp::getattr(nqp::decont($!handle), IO::Handle, '$!PIO'))
15:26 brokenchicken And the slowdown is 3%
15:27 AlexDaniel I'm not so sure about that
15:27 AlexDaniel no slowdown here: ¦«2017.01»:10.0012␤¦«HEAD»:10.0009
15:27 timotimo oh
15:27 timotimo do you know we have an ifnull op?
15:28 timotimo oh, wait, i misread your parenthesis there
15:28 AlexDaniel MasterDuke: wait… but isn't it killing it after 10 seconds?
15:28 brokenchicken timotimo: yeah, but it returns the not-null thing but I want it to continue stuff
15:28 MasterDuke benchable6: 2016.12,HEAD for ^1000 { $ = $_ for "/home/bisectable/.bash_history".IO.lines };
15:28 AlexDaniel MasterDuke: so what did it measure exactly?
15:28 benchable6 MasterDuke, starting to benchmark the 2 given commits
15:28 brokenchicken and return IterationEnd if it is null
15:29 MasterDuke but i think if a commit is killed it isn't reported on
15:29 brokenchicken Well. I guess no point in mulling over this right now since IO/* stuff would see some changes anyway
15:29 benchable6 MasterDuke, benchmarked the given commits, now zooming in on performance differences
15:29 benchable6 MasterDuke, ¦«2016.12»:9.0497␤¦«HEAD»:8.2722
15:30 timotimo wow, it's very fast at the "zooming in" portion of the process
15:30 timotimo but man, that's a pretty significant change
15:30 timotimo was the machine properly idle during the measurements?
15:30 MasterDuke well, it's less than 10% diff, so it didn't do any bisecting
15:31 brokenchicken FWIW in my checks above the 2734533 is the commit before my changes...
15:33 MasterDuke should i change the message to something like: "..., now bisecting by any >10% performance differences"?
15:34 AlexDaniel MasterDuke: it should not print anything if nothing is being done
15:34 AlexDaniel ( https://github.com/perl6/whateverable/issues/62 )
15:42 nine Huh? I cannot seem to succeed compiling 2016.12 (with MoarVM and nqp both at 2016.12): X::Multi::NoMatch exception produced no message
15:42 nine in block <unit> at tools/build/create-moar-runner.pl line 10
15:43 benchable6_ joined #perl6-dev
15:44 nine Oh, I used MoarVM and nqp master accidentally
15:45 brokenchicken AlexDaniel: I looked through the release day chat logs and it was just a normal release run. So the missing tag is likely not due to a botches release (and if it is, then all of NeuralAnomaly releases are botched :P)
15:46 mst brokenchicken: maybe this one was just ... anomalous
15:46 * brokenchicken tips the waiters...
15:46 AlexDaniel brokenchicken: I'm not sure I understand
15:46 AlexDaniel brokenchicken: the fact the tag was not pulled is an issue in the whateverable build script
15:46 AlexDaniel but what is this:
15:46 AlexDaniel m: 2017.01 $*PERL.compiler.version.say
15:46 camelia rakudo-moar a256ef: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 2017.017⏏5 $*PERL.compiler.version.say␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier…»
15:47 AlexDaniel c: 2017.01 $*PERL.compiler.version.say
15:47 committable6 AlexDaniel, ¦«2017.01»: v2016.12.409.g.78980.ed
15:47 AlexDaniel ?
15:47 AlexDaniel c: 78980ed447c $*PERL.compiler.version.say
15:47 committable6 AlexDaniel, ¦«78980ed»: v2016.12.409.g.78980.ed
15:48 AlexDaniel why is it 2016.12? Am I missing something?
15:48 brokenchicken AlexDaniel: that usually happens when you just do `make install` instead of running Configure.pl again
15:48 brokenchicken AlexDaniel: or if the tag is missing
15:49 brokenchicken But in my checkout I just do `git pull` and tags get pulled. The one time they didn't get pulled is when I fucked up the release and the tag was not on the same tree as master
15:49 AlexDaniel ooooh, hmmmm
15:50 MasterDuke i believe git changed the default pull behavior sometime
15:50 AlexDaniel so all whateverable builds are wrong?
15:50 MasterDuke from not pulling tags to pulling tags, so maybe a git version difference?
15:50 AlexDaniel well, not very wrong, but just have a wrong version
15:50 AlexDaniel m: 2016.12 $*PERL.compiler.version.say
15:50 camelia rakudo-moar a256ef: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 2016.127⏏5 $*PERL.compiler.version.say␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier…»
15:51 AlexDaniel c: 2016.12 $*PERL.compiler.version.say
15:51 committable6 AlexDaniel, ¦«2016.12»: v2016.11.278.gb.2.a.3441
15:51 AlexDaniel c: 2016.11 $*PERL.compiler.version.say
15:51 committable6 AlexDaniel, ¦«2016.11»: v2016.10.317.gf.66.f.8.be
15:51 AlexDaniel c: 2016.08 $*PERL.compiler.version.say
15:51 brokenchicken 0.o
15:51 committable6 AlexDaniel, ¦«2016.08»: v2016.08
15:51 AlexDaniel c: 2016.09 $*PERL.compiler.version.say
15:51 committable6 AlexDaniel, ¦«2016.09»: v2016.09
15:51 AlexDaniel c: 2016.10 $*PERL.compiler.version.say
15:51 committable6 AlexDaniel, ¦«2016.10»: v2016.10
15:51 AlexDaniel c: all $*PERL.compiler.version.say
15:51 committable6 AlexDaniel, https://gist.github.com/5f2ce77ed3b421ef416359159e48d5cf
15:54 brokenchicken weird
15:54 brokenchicken 2016.09 and 2016.10 were cut by the bot too
15:55 AlexDaniel no-no, that's not your problem I'm pretty sure
15:55 AlexDaniel I we rebuilt everything from scratch in 2016.10 or something like that
15:55 AlexDaniel think
15:57 AlexDaniel benchable6: HEAD,2016.12 for ^1000 { $ = $_ for "/home/bisectable/.bash_history".IO.lines };
15:57 benchable6 AlexDaniel, starting to benchmark the 2 given commits
15:59 benchable6 AlexDaniel, benchmarked the given commits, now zooming in on performance differences
15:59 benchable6 AlexDaniel, ¦«HEAD»:8.0866␤¦«2016.12»:8.8798
15:59 AlexDaniel so… according to this it is now faster?
16:01 brokenchicken yeah
16:01 brokenchicken benchable6: HEAD,2016.12 for ^1000 { $ = $_ for "/home/bisectable/.bash_history".IO.lines };
16:01 benchable6 brokenchicken, starting to benchmark the 2 given commits
16:03 benchable6 brokenchicken, benchmarked the given commits, now zooming in on performance differences
16:03 benchable6 brokenchicken, ¦«HEAD»:8.2706␤¦«2016.12»:9.0929
16:05 MasterDuke benchable6: 2016.12,HEAD for ^1000 { $ = $_ for "/home/bisectable/.bash_history".IO.lines };
16:05 benchable6 MasterDuke, starting to benchmark the 2 given commits
16:05 MasterDuke pretty sure you have to put them in order
16:06 brokenchicken Checked out 2016.11 tag on a fresh checkout and when it built reported correct version. Don't see any commits to rakudo/tools between 2016.10 and 2016.11 releases that changed anything that might've messed anything up. So looks like the glitch is not on rakudo side :)
16:06 brokenchicken .oO( I hope )
16:06 benchable6 MasterDuke, benchmarked the given commits, now zooming in on performance differences
16:06 benchable6 MasterDuke, ¦«2016.12»:8.9363␤¦«HEAD»:8.1006
16:07 brokenchicken There's been a ton of commits since 2016.12, including improvements in MoarVM. I'm not surprised to see it faster
16:07 nine I now have version of Inline::Perl5 that work pre and post lexical_module_loading. But a version that works in both cases still eludes me.
16:15 brokenchicken :)
16:16 nine But....I since I need a small change to rakudo anyway, I can just pass a switch to Inline::Perl5::require so it knows when to use the new behavior.
16:18 nine Not exactly elegant, but that's the nature of backwards compatibility.
16:21 jnthn pmurias: Lexical scoping of QAST blocks is determined by nesting one within the other, though the specifics vary between immediate, declaration, etc.
16:22 jnthn pmurias: In the case of defaults in signautres, I think the slow-path (non-lowered) binder does a little trickery to make sure it invokes the default with the right outer, by doing a search on the call stack for the nearest frame that matches the static outer
16:23 jnthn pmurias: iirc there's a p6invokeunder or some similar named op involved in this
16:30 nine Ok, now it works pre-lexical_module_load, post-lexical_module_load and in the new world after my change to rakudo :)
16:32 Geth rakudo/nom: 4e7ab20471 | (Stefan Seifert)++ | 2 files
16:32 Geth rakudo/nom: Use the same mechanism for merging Perl 5 symbols as for Perl 6
16:32 Geth rakudo/nom:
16:32 Geth rakudo/nom: Have Inline::Perl5 create a CompUnit::Handle that contains all relevant
16:32 Geth rakudo/nom: symbols and merge them like any other globals instead of relying on side
16:32 Geth rakudo/nom: effects and implementation details to get those symbols into the user's
16:32 Geth rakudo/nom: name space.
16:32 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4e7ab20471
16:36 jnthn That sounds like a nice cleanup :)
16:37 pyrimidine joined #perl6-dev
16:38 nine Would be even cleaner if I could just drop support for rakudo before this ^^^ commit. But at least with both on current versions I can actually reason about how the hell those symols get to the caller ;) The previous mixture of writing to globals and &EXPORT could become quite confusing.
16:40 AlexDaniel .tell dalek Please switch this bot to Geth
16:40 yoleaux2 AlexDaniel: I'll pass your message to dalek.
16:40 nine And now that Inline::Perl5 works well again, I can finally tend to my FOSDEM talk
16:46 timotimo fantastic :)
16:48 Geth nqp: 3f05cfa6f2 | (Zoffix Znet)++ | docs/qast.markdown
16:48 Geth nqp: Add an example to QAST::WAnt
16:48 Geth nqp: review: https://github.com/perl6/nqp/commit/3f05cfa6f2
17:04 mst brokenchicken: that's a weird capitalisation for a class name
17:04 brokenchicken typo
17:04 brokenchicken It's QAST::Want
17:05 timotimo W Ant
17:06 MasterDuke brokenchicken: not to pile on, but it looks like the rest of the examples use _ in names, you have _ and -
17:08 Geth nqp: 19e98e5524 | (Zoffix Znet)++ | docs/qast.markdown
17:08 Geth nqp: Use more consistency MasterDuke++
17:08 Geth nqp: review: https://github.com/perl6/nqp/commit/19e98e5524
17:09 MasterDuke brokenchicken++
17:23 pyrimidine joined #perl6-dev
17:37 Geth geth: 5f7b13d610 | (Zoffix Znet)++ | lib/Geth/Plugin/GitHub.pm6
17:37 Geth geth: Fix channel selection logic
17:37 Geth geth:
17:37 Geth geth: Currently the bot won't send anything if it's not in ANY of the
17:37 Geth geth: channels the message is meant to go to.
17:37 Geth geth:
17:37 Geth geth: Fix by intersecting message destination channels with channels the bot
17:37 Geth geth: is in and sending the message to those.
17:37 Geth geth: review: https://github.com/perl6/geth/commit/5f7b13d610
17:38 Geth joined #perl6-dev
17:39 pyrimidine joined #perl6-dev
17:45 brokenchicken s/if it's not in ANY/unless it's in ALL/; :)
17:55 pyrimidine joined #perl6-dev
18:29 pyrimidine joined #perl6-dev
18:34 Ven joined #perl6-dev
19:22 pyrimidine joined #perl6-dev
19:24 Geth roast: e22147d272 | (Daniel Green)++ | S03-operators/repeat.t
19:24 Geth roast: Tests for RT #128035
19:24 Geth roast:
19:24 Geth roast: Large repetition values for Str.x should not complain about negative
19:24 Geth roast: numbers or give an empty string as the result.
19:24 Geth roast:
19:24 Geth roast: Requires Rakudo PR #867 (rakudo/rakudo#867).
19:24 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128035
19:24 Geth roast: review: https://github.com/perl6/roast/commit/e22147d272
19:24 Geth roast: dc8c29e778 | (Moritz Lenz)++ | S03-operators/repeat.t
19:24 Geth roast: Merge remote-tracking branch 'origin/pull/151'
19:25 Geth roast:
19:25 Geth roast: fudge one failing test introduced by this merge request
19:25 Geth roast:
19:25 Geth roast: # Conflicts:
19:25 Geth roast: #S03-operators/repeat.t
19:25 Geth roast: review: https://github.com/perl6/roast/commit/dc8c29e778
19:30 brokenchicken That test should be either made much less specific or be placed into Rakudo's test suite instead.
19:32 Geth roast: 2ce97c49c6 | LLFourn++ | S26-documentation/08-formattingcodes.t
19:32 Geth roast: pod FCs no longer have "" around them
19:32 Geth roast:
19:32 Geth roast: a lot of tests in S26-documentation/formattingcodes.t relied on a sole
19:32 Geth roast: `C<foo>` becoming `["",Pod::FormattingCode.new(...),""]`. test have been
19:32 Geth roast: changed reflect their absence
19:32 Geth roast: review: https://github.com/perl6/roast/commit/2ce97c49c6
19:32 Geth roast: 10ea41c6ad | LLFourn++ | S26-documentation/08-formattingcodes.t
19:32 Geth roast: test for FC inside <> inside another FC
19:32 Geth roast:
19:32 Geth roast: =pod B< < B<foo> > >
19:32 Geth roast: review: https://github.com/perl6/roast/commit/10ea41c6ad
19:32 Geth roast: c95ef99d37 | (Moritz Lenz)++ | S26-documentation/08-formattingcodes.t
19:32 Geth roast: Merge remote-tracking branch 'origin/pull/90'
19:32 Geth roast: review: https://github.com/perl6/roast/commit/c95ef99d37
19:32 brokenchicken roast specifies Perl 6 language. "because NQP limit" shouldn't be part of it. Right now it also says we're only allowed to throw a generic exception when that limit is exceeded and we're not allowed to make it work for larger repeat counts....
19:34 brokenchicken Oh, and we're not allowed to reword the message in any way.
19:41 moritz dammit, I've been testing the pull requests on a different machine than the one I merged
19:41 moritz so I actually didn't them at all :(
19:43 Geth roast: b6e0c555f4 | (Moritz Lenz)++ | S26-documentation/08-formattingcodes.t
19:43 Geth roast: Revert "Merge remote-tracking branch 'origin/pull/90'"
19:43 Geth roast:
19:43 Geth roast: I missed the "don't merge yet", and indeed, it breaks things.
19:43 Geth roast: review: https://github.com/perl6/roast/commit/b6e0c555f4
19:44 brokenchicken moritz: I do get failures now
19:44 moritz brokenchicken: looking at it...
19:44 moritz brokenchicken: in which file?
19:45 brokenchicken Bunch of perl5-integration files.... oh wait
19:45 moritz brokenchicken: not my fault :-)
19:45 brokenchicken I need to update my Inline::Perl5 I guess
19:46 Geth roast: 798d9ba6e4 | (Moritz Lenz)++ | S03-operators/repeat.t
19:46 Geth roast: Throw out tests for rakudo-specific behavior
19:46 Geth roast:
19:46 Geth roast: those belong in the rakudo repo, if we want tests for them at all
19:46 Geth roast: review: https://github.com/perl6/roast/commit/798d9ba6e4
19:47 pyrimidine joined #perl6-dev
19:58 brokenchicken Yeah, with updated Inline::Perl5 stresstest passes
20:02 Geth roast/master: 4 commits pushed by moritz++
20:02 Geth roast/master: 015c6dac15 | pod trailing declarator which is an initialized attribute…
20:02 Geth roast/master: 3e0c33c17b | better example…
20:02 Geth roast/master: d670481022 | Merge remote-tracking branch 'origin/pull/115'…
20:02 Geth roast/master: e87b247e52 | Fudge newly introduced tests; switch to subtests…
20:02 Geth roast/master: review: https://github.com/perl6/roast/compare/798d9ba6e4...e87b247e52
20:07 Geth roast: ace6ae4c09 | (Moritz Lenz)++ | S32-io/indir.t
20:07 Geth roast: Basic tests for &indir; closes #204
20:07 Geth roast: review: https://github.com/perl6/roast/commit/ace6ae4c09
20:19 Geth rakudo/nom: 8096da0f04 | (Moritz Lenz)++ | t/spectest.data
20:19 Geth rakudo/nom: Run new &indir tests
20:19 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8096da0f04
20:22 Geth rakudo/nom: 072d959360 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
20:22 Geth rakudo/nom: Introducing R:It.WhileLoop
20:22 Geth rakudo/nom:
20:22 Geth rakudo/nom: Basically the do while foo { bar } functionality.  Optimized version
20:22 Geth rakudo/nom: of Seq.WhileLoopIter.
20:22 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/072d959360
20:22 Geth rakudo/nom: af49026b35 | (Elizabeth Mattijsen)++ | src/core/Seq.pm
20:22 Geth rakudo/nom: Make do while foo { bar } use R:It.WhileLoop
20:22 Geth rakudo/nom:
20:22 Geth rakudo/nom: Making it about 8% faster.
20:22 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af49026b35
20:48 lizmat I would argue that https://github.com/perl6/roast/blob/master/S32-list/seq.t#L130 and following, should not be in roast
20:48 lizmat they're an implementation detail
20:50 brokenchicken Should be removed from docs too https://docs.perl6.org/routine/from-loop
20:51 lizmat brokenchicken: agree
20:51 lizmat jnthn: opinion?  ^^^
21:17 lizmat m: dd do loop ( my int $a; $a < 10; $a++ ) { $a }   # /me thinks the warning is incorrect in this case
21:17 camelia rakudo-moar af4902: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9).Seq␤»
21:17 lizmat huh?
21:17 lizmat m: do loop ( my int $a; $a < 10; $a++ ) { $a }
21:17 camelia rakudo-moar af4902: OUTPUT«WARNINGS for <tmp>:␤Useless use of $a in sink context (line 1)␤»
21:18 lizmat hmmm... I guess it's correct after all, albeit a bit at a distance
21:19 samcv gonna make radix 50% faster for Nd's shortly :)
21:21 MasterDuke samcv++
21:22 samcv just gotta run spectest again
21:22 samcv now that i've added some #define's for the Numeric_type's values to the unicode database generation script, so can be stable
21:23 MasterDuke ah, you can do *property_int() now?
21:25 samcv yeah
21:25 MasterDuke nice
21:27 samcv i guess i could do property_int(general_category), but i'm doing property_int(numeric_type)
21:27 samcv the general category can be sped up when i do the rewrite. we have one enum that holds all the values of general category
21:27 samcv what we really want is two, one for the first letter one for the second
21:31 jdv79 I'm gonna guess there's no way to up the max threads at runtime, right?
21:32 lizmat jdv79: you can instantiate your own $*SCHEDULER with a different number of threads
21:33 jdv79 o
21:33 jdv79 at the default it seems my app fails to function
21:33 lizmat m: my $*SCHEDULER = ThreadPoolScheduler.new(max_threads => 64)
21:33 camelia rakudo-moar af4902: ( no output )
21:33 jdv79 not sure why.  i assume the scheduler is using a fifo.
21:34 jdv79 i should probably print stuff..
21:34 lizmat jdv79: are many threads in await state ?
21:34 jdv79 thanks lizmat
21:34 jdv79 there are only 25 or so promisies
21:34 lizmat if so, you might want to do "use v6.d.PREVIEW"
21:34 jdv79 but if i duck below roughtly 16 it chugs along just fine
21:35 lizmat which has non-blocking await
21:38 jdv79 k
21:39 MasterDuke joined #perl6-dev
21:44 pyrimidine joined #perl6-dev
22:25 jnthn I'd Seq.from-loop as a fairly useful Seq factory method, along the lines of the many we have on Supply
22:25 jnthn *I'd considered
22:25 jnthn ^^ lizmat
22:26 jnthn So it was certainly deliberately in roast
22:26 lizmat ok, well it felt like an internal method it being codegenned in the while/repeat related actions
22:27 lizmat jnthn: fwiw, trying to evade Cannot reference undeclared local '__lowered_lex_3225 is driving me pretty crazy
22:28 lizmat :-(
22:29 jnthn I tend to consider it a positive when stuff syntax desugars to is available in the desugared form too :)
22:29 jnthn How did you try to evade it?
22:29 Geth rakudo/nom: e922275888 | (Samantha McVey)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
22:29 Geth rakudo/nom: More awesome errors when people try and use 'is rw' with @ or % sigils
22:29 Geth rakudo/nom:
22:29 Geth rakudo/nom: Explain that @ and % sigil things don't need 'is rw' to be writable.
22:29 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e922275888
22:29 Geth rakudo/nom: 91d59822aa | (Samantha McVey)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
22:29 Geth rakudo/nom: Remove trailing whitespace
22:29 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91d59822aa
22:30 Geth rakudo/nom: 51ebfb1c93 | (Samantha McVey)++ | tools/lib/NQP/Configure.pm
22:30 Geth rakudo/nom: Make Configure.pl more descriptive about what version we want
22:30 Geth rakudo/nom:
22:30 Geth rakudo/nom: If we don't have a new enough NQP version, tell the user the minimum required.
22:30 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/51ebfb1c93
22:30 samcv gfldex++
22:30 jnthn I suspect a Optimizer.nqp patch will be needed
22:30 lizmat jnthn: atm it feels like: what didn't I try
22:31 lizmat what isn't helping is that the problem really occurs in the MAST stage
22:31 lizmat which is pretty late
22:31 jnthn Well yeah, the optimizer assumes it's dealing with well-formed Perl 6 code, and does a transform, which leads to invalid QAST
22:31 jnthn Which we won't detect until trying to process it
22:32 lizmat yeah
22:32 jnthn m: { nqp::handle(my $a := 42, 'NEXT', $a) }
22:32 camelia rakudo-moar af4902: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot use variable $a in declaration to initialize itself␤at <tmp>:1␤------> 3{ nqp::handle(my $a := 42, 'NEXT', $7⏏5a) }␤    expecting any of:␤        term␤»
22:32 jnthn m: { nqp::handle((my $a := 42), 'NEXT', $a) }
22:32 camelia rakudo-moar af4902: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Could not find nqp::handle, did you forget 'use nqp;' ?␤at <tmp>:1␤------> 3{ nqp::handle((my $a := 42), 'NEXT', $a)7⏏5 }␤»
22:32 jnthn m: use nqp; { nqp::handle((my $a := 42), 'NEXT', $a) }
22:32 camelia rakudo-moar af4902: OUTPUT«===SORRY!===␤Cannot reference undeclared local '__lowered_lex_1'␤»
22:32 jnthn It golfs pretty easily at least :)
22:32 lizmat yeah, I was very glad to have found that one  :-)
22:33 lizmat it seems connected to binding
22:33 lizmat if I assign, the problem goes away, but then I get stuff inside a container and then nqp::eqaddr(...,IterationEnd) doesn't work
22:34 lizmat m: my $a = IterationEnd; use nqp; say nqp::eqaddr($a,IterationEnd)
22:34 camelia rakudo-moar af4902: OUTPUT«0␤»
22:34 lizmat m: my $a := IterationEnd; use nqp; say nqp::eqaddr($a,IterationEnd)
22:34 camelia rakudo-moar af4902: OUTPUT«1␤»
22:34 jnthn m: use nqp; my $a; { nqp::handle(($a := 42), 'NEXT', $a) }
22:34 camelia rakudo-moar af4902: ( no output )
22:34 jnthn Just lifting the decl up a level will prevent the opt, I guess
22:35 lizmat in this case it does, more generally it doesn't  :-(
22:35 lizmat m: my $a = IterationEnd; use nqp; say nqp::eqaddr(nqp::decont($a),IterationEnd)
22:35 camelia rakudo-moar af4902: OUTPUT«1␤»
22:35 lizmat I guess I could try that
22:36 jnthn Do you ever have something more complex in the handle than the variable reference itself?
22:36 jnthn In the bit after the NEXT, I mean
22:37 lizmat jnthn: yes
22:37 lizmat nqp::stmts( stuffthis, stuffthat )
22:37 jnthn OK, then there's no easy hack for Perl6::Optimizer
22:37 jnthn It's doable
22:38 jnthn But would need to add tracking of what things are seen in a handles branch
22:38 jnthn And poison the opts
22:38 lizmat feels tricky  :-)
22:38 jnthn Yeah.
22:38 jnthn A little
22:39 jnthn Oh
22:39 jnthn Did you try putting a block as the thing after NEXT?
22:39 jnthn Perhaps directly invoking it?
22:39 jnthn That'd also poison it
22:39 jnthn m: use nqp; { nqp::handle((my $a := 42), 'NEXT', $a) }
22:39 camelia rakudo-moar af4902: OUTPUT«===SORRY!===␤Cannot reference undeclared local '__lowered_lex_1'␤»
22:39 jnthn m: use nqp; { nqp::handle((my $a := 42), 'NEXT', { $a }()) }
22:39 camelia rakudo-moar af4902: ( no output )
22:40 jnthn Like that
22:40 lizmat well, putting blocks at some places helps, but comes at an enormous performance impact
22:40 lizmat so instead of winning 8%, I lose 9%  :-(
22:41 lizmat anyways, I've used up my tuits for today
22:41 lizmat good night!
22:42 jnthn Yeah, I sure don't have energy to do the Perl6::Optimizer patch today either, I'm afraid... Can see what's needed though.
22:42 jnthn 'night
22:55 brokenchicken night
23:51 pyrimidine joined #perl6-dev

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