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