Zoffix 100s parse time on home box. A new record \o/ 00:06
MasterDuke i occasionally get 120+ on my laptop, but that's when the power cord has come out or it's gotten too hot 00:14
Geth rakudo/nom: dd880cad42 | MasterDuke17++ | src/core/Match.pm
Optimize INTERPOLATE even more

Make as many parameters anonymous or non-sigiled as possible.
01:38
rakudo/nom: 44e69a6712 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | src/core/Match.pm
Merge pull request #1198 from MasterDuke17/even_more_INTERPOLATE_optimizations

Optimize INTERPOLATE even more
rakudo/nom: 37c0c49759 | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/core/Match.pm
Whitespace
01:54
AlexDaniel` do we advertise untested things in the ChangeLog? 02:12
I'm currently looking at 「+ Added IO::Path.parent(Int) multi for getting up more than one level [7bea3a2d]」
well, I guess it doesn't hurt to. It's a rakudo changelog after all 02:14
greppable6: INITTIME 02:20
greppable6 AlexDaniel`, gist.github.com/848e1fabd64199c4b4...d3f01e6c18 02:21
Zoffix does obligatory grumble about implementing features without writing any tests or docs 02:27
travis-ci Rakudo build passed. Jonathan Worthington 'Replicate the `map` clone-per-batch in `grep` too 02:37
travis-ci.org/rakudo/rakudo/builds/290506389 github.com/rakudo/rakudo/compare/6...977785c6a4
Geth rakudo/nom: 57de65fc28 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
Log all changes

Feel free to tweak it.
Deliberately not logged: 89b9ac78 7fcab106 f8a74eab e4c32b3a da5c36c1 3e358199 c46be84c 5a9bb4a5 de56c056 b66f5e1c 06fe4c4d 78a4824b 99f90e65 56193b59 ... (33 more lines)
03:05
AlexDaniel` whew
feedback welcome
Zoffix lots of work :o 03:12
AlexDaniel`: the "Fixed cmp-ok() to take `=:=` op as comparator" could be better logged as `Made cmp-ok take its arguments raw`. Making =:= work is just one of the features. Another one, for example, would be to make my $s = (1...*); cmp-ok $s, 'eqv', $s work right 03:14
AlexDaniel`: also search for "Capture" doesn't turn up anything. Don't know if it's logged; it was a pretty "big" change that might affect users 03:15
bisect: 42.Capture.say
bisectable6 Zoffix, Bisecting by exit code (old=2015.12 new=57de65f). Old exit code: 0
Zoffix, bisect log: gist.github.com/42659d0fe2e1e3273c...cc51d6f99b
Zoffix, (2017-10-09) github.com/rakudo/rakudo/commit/ba...eef3997c32
AlexDaniel` + Added X::Cannot::Capture exception type [4ba12ff1][bad9fefd][cd5864cf]
what would be a better way to log it? 03:16
Zoffix AlexDaniel`: oh, it's logged as "+ Added X::Cannot::Capture exception type [4ba12ff1][bad9fefd][cd5864cf]". That should be reworded as "Solidified .Capture semantics on all core types". The exception was just a small part of that work.
s/Solidified/whatever good word there is/;
Zoffix => bed 03:17
AlexDaniel` Zoffix: thanks
japhb finally got a good rebuild of Rakudo and all his usual modules at "Rakudo version 2017.09-477-g37c0c4975 built on MoarVM version 2017.09.1-609-g1a9be0ad4" 03:19
japhb wonders why the startup time is so variable on his work machine 03:21
Trying that build on my personal machine
MasterDuke interesting. i'm trying to perf record stage parse, but keep needing to expand the VM's storage, last attempt created a 76gb file before there wasn't any space left on the device 03:25
it didn't used to take this much space 03:26
travis-ci Rakudo build passed. Zoffix Znet 'Add IO::CatHandle.out-buffer
travis-ci.org/rakudo/rakudo/builds/290658549 github.com/rakudo/rakudo/compare/d...5dd6944fda
japhb Timings are more stable on my home machine. Must have some high-CPU browser tabs open at work. 03:35
(Home is 98-100 ms FWIW) 03:36
My dream is having perl6 startup in significantly less than 17 ms, so that significant work could get done between when the user presses enter and the very next screen refresh. Effectively instantaneous for interactive purposes. :-) 03:38
AlexDaniel` isn't it faster than python? 03:39
17 ms I mean
japhb: what's the startup time for python2 and python3 on your machine? 03:40
japhb AlexDaniel`: checking 03:42
python2: 13 ms 03:43
python3: 20-21 ms
perl5: 4ms
AlexDaniel` yeah 03:44
japhb ruby: 37-38 ms 03:45
Geth rakudo/nom: 7cf5ce7efe | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
Log more commits and tweak some things (Zoffix++)

Deliberately not logged: e0dabaca 5cd7c728 527b8881 44e69a67 37c0c497 57de65fc f980cdaf d20e972a 1e5d6f0d 7a2561c2 6726d4af
samcv i get 100ms for perl6 -e 'say ""' 04:03
japhb samcv: Your machine must be faster; I was doing each variant with a truly empty program. 04:21
AlexDaniel it's 160ms here and it's not even my previous laptop… :'( 04:22
japhb FWIW, perl6 -e 'say ""' for me is 106-110ms. So ~10 ms slower 04:23
AlexDaniel` *kaboom* 04:32
m: say 42 04:34
e: say 42 04:35
camelia 42
AlexDaniel` and another kaboom to get IRC::Client fix… 04:38
:S 05:17
hmmm I guess toaster can be smarter by not installing the same deps over and over again 06:37
but alright I'll just let it do its thing and go on with my things o/ 06:38
(hm, or maybe it doesn't… but why is it so slow)
japhb AlexDaniel`: Why a whole bunch of different bots, rather than one bot acting as frontend and multiple backends doing the work? 07:20
AlexDaniel` japhb: mainly for historical reasons. When the project was starting I wasn't expecting that at some point there will be 13 bots 07:22
in fact, I wasn't expecting more than 1 :) 07:24
japhb: also, people tend to do things like this: 07:25
evalable6: say 42
evalable6 42
AlexDaniel` so you don't have to think if it's eval6: eval: e: or something else, you just talk to the bot
eval6: say 42
evalable6 42
AlexDaniel` eval: say 42
evalable6 42
AlexDaniel` e: say 42
evalable6 42
AlexDaniel` well, actually, all these seem to work, so maybe it's not a good reason to keep it that way 07:26
but there are some commands that require some specific prefix, like: 07:27
propdump: 2②
unicodable6 AlexDaniel`, gist.github.com/79ce7f320ed6f142a1...cf0876b00d
AlexDaniel` there's no way to get it by talking to unicodable6 directly
japhb: but I don't really see any benefit of having just one bot. The problem with annoying rejoins can be solved by using a bouncer 07:31
lizmat Files=1229, Tests=75743, 319 wallclock secs (14.79 usr 5.33 sys + 2172.76 cusr 212.23 csys = 2405.11 CPU) 09:23
pmurias bartolin: thank you
lizmat j: use nqp; say nqp::unbox_n(1e0); say nqp::unbox_n(1e0 + 4e-15) 09:43
camelia Error while reading '/home/camelia/p6eval-token': No such file or directory at /home/camelia/rakudo-j-inst/bin/eval-client.pl line 10.
lizmat hmmm
AlexDaniel` FWIW toaster gives horrible results, or so it seems. Will investigate once it's finished 09:48
timotimo japhb: with an strace -tt it looks like perl6 -e 'say "1"' spends a noticable amount of time between write and actually having exited (not to mention exit_group taking a while, too) 09:52
11:51:07.003413 execve("/home/timo/perl6/install/bin/perl6", ["perl6", "-e", "say \"1\""], 0x7fff6e200478 /* 74 vars */) = 0 09:53
11:51:07.179548 write(1, "1\n", 21
11:51:07.180473 exit_group(0)
11:51:07.185534 +++ exited with 0 +++
annoyingly, the strace makes it take like 50% longer 09:54
bartolin lizmat: I get '1' and '1.000000000000004' from my r-j for your evaluation
lizmat bartolin: ok, so it seems to be a MoarVM only problem 09:55
timotimo here's an opportunity to make perl6 start up faster: 120.100 (18446744073709.527 ms): moar/17371 mprotect(start: 0x7fdcfc12e000, len: 5623, prot: EXEC|READ ) ... 09:58
if we reduce that by less than a thousandths of a percent perl6 -e 'say "1"' will finish before you started it 09:59
m: say 18446744073709 / 1000 * (1 - 0.0001)
camelia 18444899399.3016291
timotimo m: say 18446744073709 / 1000 * (1 - 0.0001) / 60 / 60 / 24
camelia 213482.631936361448 10:00
timotimo m: say 18446744073709 / 1000 * (1 - 0.0001) / 60 / 60 / 24 / 7 / 52
camelia 586.49074707791607
timotimo am i calculating correctly? it'd be done almost 600 years before you started it?
AlexDaniel` hmm or maybe not. I'm misinterpreting something here :) 10:02
lizmat hmmm... it looks like nqp::indexic ops are not being JITted yet :-( 10:22
BAIL: op <indexic_s> :-(
timotimo that should be easy 10:24
i hope i can get it done before the breadrolls leave the oven ☺
lizmat: what workload is this from? 10:26
lizmat trying to use nqp::indexic in Num.perl 10:27
timotimo oh
lizmat it checks twice: once for 'e" and once for "E"
thought I'd combine them
timotimo i just pushed a branch to moarvm 10:28
if you could spectest it and stuff ... :)
bbl, breakfast
lizmat well, I'm about to leave for most of the rest of the day :-( 10:29
we'll wait until after the release, to be on the safe side :-)
afk& 10:30
[Tux] This is Rakudo version 2017.09-479-g7cf5ce7ef built on MoarVM version 2017.09.1-614-g19523568
csv-ip5xs 1.166 - 1.182
test 11.842 - 12.044 10:31
test-t 3.187 - 3.199
csv-parser 12.279 - 12.296
AlexDaniel` hm, why so slow
[Tux] first double run was test-t 3.304 - 3.432 10:33
AlexDaniel` uh, so is it noise or did it become slower? 10:36
[Tux] no idea 10:44
I'll run again later
Geth nqp: 137c05269f | pmurias++ | src/vm/js/nqp-runtime/core.js
[js] Implement nqp::ordbaseat
12:01
nqp: 5c32f736bb | pmurias++ | src/vm/js/RegexCompiler.nqp
[js] Fix bug
timotimo procasync/kill.rakudo.moar, is that faily sometimes?
maybe just sensitive to system load? 12:06
AlexDaniel`: i think it's not called "sanitry"? 12:07
AlexDaniel` oh, huh. Yeah I think I meant “sane” 12:08
that commit github.com/rakudo/rakudo/commit/93a66d75
timotimo well, there's a "sanitize" method 12:09
Geth rakudo/nom: fece49cf06 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
ChangeLog tweak
12:11
AlexDaniel` timotimo: anything else?
timotimo still looking :)
MasterDuke AlexDaniel`: you have the INTERPOLATE changes in 'Internal', which is where i'd put something like saying it's now a multi but i'd probably also add a mention in efficiency 12:13
AlexDaniel` MasterDuke: ok 12:14
timotimo oh
it's called "ratchet", not "ratched" 12:15
AlexDaniel` turns on his spellchecker… 12:16
Geth rakudo/nom: 312cac7869 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
More ChangeLog tweaks

  timotimo++ MasterDuke++
12:21
MasterDuke AlexDaniel`: sorry, meant to also say that in that section i'd call it something like 'interpolating variables into regexes'. i don't think normal users would know what INTERPOLATE is/does 12:24
AlexDaniel` ok 12:26
Zoffix buggable: speed 10 12:48
buggable Zoffix, ▆▄▁▁▂▂▆↑▃▃ dates: 2017-10-20–2017-10-21; range: 3.101s–3.432s; speed: 3% slower (widths: 5/3)
Zoffix buggable: speed 100
buggable Zoffix, ▆▆▆▆▇▆▆█▆▆▅▅▆▆▆▆▇█▆▇▆▄█↑↑█▄▄▃▃▄▃▄▃▃▃▅▇▄▅▄▄█▄▃▂▃▃▄▃▄▄▅▄▃▃▅▄▃▄▃▂▃▂▃▃▆▃▂▂▂▂▁▁▁▂▁▂▄▃▅▃▃▃▄▂▁▂▂▂▄▄▂▂▂▂▄▆▃▃ dates: 2017-09-20–2017-10-21; range: 3.044s–4.010s; speed: 5% faster (widths: 10/3)
Zoffix Looking at some of the IO code, looks like teaching method cache to handle slippies will be a good win there 13:37
&open and .IO.open slip a capture, all the &lines/&words/&slurp, etc do as well. 13:38
ZofBot: so get on it, stat 13:39
ZofBot Zoffix, The purpose of Newspeak was not only to provide a medium of expression for the world-view and mental habits proper to the devotees of Ingsoc, but to make all other modes of thought impossible
dogbert17 stresstesting with asan, small nursery and MVM_GC_DEBUG=1 yields two failures, i.e. t/spec/MISC/bug-coverage-stress.t where test 2 fails and t/spec/S17-lowlevel/lock.t which succumbs to asan barfage 14:08
Zoffix dogbert17: that test is time sensitive. You could try rescaling roast timing: set ROAST_TIMING_SCALE=10 14:27
(defaults to 1)
fussake 14:43
There's a 6.c-errata test the covers buggy behaviour
m: grammar { token TOP { (.+) } }.parse("Bar", :actions(class { method TOP($/) { put "Foo".subst: /(Foo)/, {uc $/[0] } } }))
camelia BAR
Zoffix It blocks fixing that 14:44
For this ticket rt.perl.org/Ticket/Display.html?id=71514 14:46
MasterDuke aren't you supposed to rename the parameter to TOP in that case?
Zoffix Yes
The ticketed behaviour isn't what I get now. I get proper moan about $/ being readonly
Gonna change the test. The test description is "Can call Str.subst in an action method without any trouble" and the above case clearly shows there is trouble, because the used code is incorrect. 14:47
Geth roast/6.c-errata: 803f2452db | (Zoffix Znet)++ | S05-grammar/action-stubs.t
Change buggy code in .subst in actions test

The test covers RT#71514, where the tested code uses .subst in a context where we already have a $/ in use for other purpose. It appears in the past such code silently did Wrong Things™ which was fixed by adding a `try` into .subst.
... (11 more lines)
14:54
synopsebot RT#71514 [resolved]: rt.perl.org/Ticket/Display.html?id=71514 Calling .subst in a reduction method destroys the effect of make()
roast: 038d346010 | (Zoffix Znet)++ | S05-grammar/action-stubs.t
Change buggy code in .subst in actions test

The test covers RT#71514, where the tested code uses .subst in a context where we already have a $/ in use for other purpose. It appears in the past such code silently did Wrong Things™ which was fixed by adding a `try` into .subst.
... (11 more lines)
14:55
AlexDaniel` yaaay toaster results! 15:02
Geth roast: ff1834016b | (Zoffix Znet)++ | S32-str/substr.t
Rewrite the test using proper test routine

  - We test Failure's exception too
  - We don't leave behind an unhandled Failure
15:04
MasterDuke nice golden brown toast? or burnt toast?
AlexDaniel` MasterDuke: not just one, but 35 burnt!
MasterDuke doh
Geth roast/zoffer-post-release: c81c86403c | (Zoffix Znet)++ | S05-grammar/action-stubs.t
Write proper test for RT#71514

The code in the ticket has a bug and the original test[^1] covered it. Add the test for throwage that should be happening.
  [1] github.com/perl6/roast/commit/803f2452db
15:05
synopsebot RT#71514 [resolved]: rt.perl.org/Ticket/Display.html?id=71514 Calling .subst in a reduction method destroys the effect of make()
AlexDaniel` ohwell, let the fun begin 15:07
Geth roast/zoffer-post-release: 9585230c26 | (Zoffix Znet)++ | S32-str/substr.t
Test .subst works in BEGIN

RT#122789: rt.perl.org/Ticket/Display.html?id=122789 Rakudo fix: github.com/rakudo/rakudo/commit/a6...2ed8bd5cd3
15:10
synopsebot RT#122789 [open]: rt.perl.org/Ticket/Display.html?id=122789 [BUG] `.subst` does not work inside BEGIN block ($/ is set too late)
AlexDaniel` hm, Data::Dump fails because of RT #132283 15:13
synopsebot RT#132283 [open]: rt.perl.org/Ticket/Display.html?id=132283 [REGRESSION] BUILDALL is listed as one of the methods, maybe that's not right (say $foo.^methods)
AlexDaniel` so it tests the output and does not expect to see BUILDALL there
Zoffix "Well, it *is* an auto-generated method that is installed in the namespace. Just like “bar”. So either we should show both, or neither." 15:14
+1 on both
AlexDaniel` that makes sense 15:17
tbrowder hi, #perl6-dev 15:20
Geth rakudo/zoffer-post-release: 738908be4d | (Zoffix Znet)++ | src/core/Str.pm
"Do. Or do not. There is no try."

Fixes RT#126721: rt.perl.org/Ticket/Display.html?id=126721
Do not silence errors when failing to assign to $/ as that introduces action-at-a-distance bugs that can be very hard to debug:
... (9 more lines)
15:25
synopsebot RT#126721 [new]: rt.perl.org/Ticket/Display.html?id=126721 $/ in closure arg of subst
Zoffix That ^ one could have some fallout. People using .subst and stuff inside actions method and if they're not using $/ inside the subst, they might not even be hitting the bug that's being fixed 15:26
Geth roast/zoffer-post-release: 80a49c4324 | (Zoffix Znet)++ | S32-str/substr.t
Test .subst complains when it can't use $/

RT#126721: rt.perl.org/Ticket/Display.html?id=126721 Rakudo fix: github.com/rakudo/rakudo/commit/738908be4d
15:27
tbrowder I have a fix for RT128221 (table pod exception) but I want to discuss the best way to present it. I believe the fix can be integrated as is (with a little cleanup from debugging), but I would like to then work on improving Pod.nqp for future work. Such improvements will include refactoring to move table-specific code into sub table, renaming sub-sub functions to avoid confusion for editors, and improving table 15:30
analysis for warning the user of bad or confusing practices.
synopsebot RT#128221 [open]: rt.perl.org/Ticket/Display.html?id=128221 [BUG] Weird internal error when parsing some very simple Pod with '-' in the first column of a table in Rakudo
AlexDaniel` one! github.com/tony-o/perl6-data-dump/pull/32 15:32
tbrowder The future work will include more robust handling of tables with short rows. 15:36
AlexDaniel` meh 15:58
I think we have :r || issue in rakudo itself
c: 2017.09 =SEE-ALSO foo 15:59
committable6 AlexDaniel`, ¦2017.09: «»
AlexDaniel` c: HEAD =SEE-ALSO foo
committable6 AlexDaniel`, ¦HEAD(312cac7): «04===SORRY!04=== Error while compiling /tmp/SoospquUMD␤Preceding context expects a term, but found infix = instead␤at /tmp/SoospquUMD:1␤------> 03=SEE08⏏04-ALSO foo «exit code = 1»»
AlexDaniel` bisected to github.com/rakudo/rakudo/commit/96...50462b4cd2
or nqp maybe 16:01
ok here's a ticket for notes RT #132339 16:06
synopsebot RT#132339 [new]: rt.perl.org/Ticket/Display.html?id=132339 [REGRESSION] =SEE-ALSO pod comment can no longer be parsed (=SEE-ALSO foo)
Zoffix ZofBot: fix! I haz it! 16:34
ZofBot Zoffix, This last difference was cardinal
Geth nqp: MasterDuke17++ created pull request #376:
Remove some @*comp_line_directives accesses
16:41
Zoffix AlexDaniel`: do you want me to push =SEE-ALSO fix now or into post-releasE? 16:43
AlexDaniel` Zoffix: now
MasterDuke that NQP PR reduces the number of `N @*comp_line_directives <...>` lines in the dynvar log by 621 16:44
when building the setting
don't know if it's worth it
AlexDaniel` WebSocket module is busted 16:51
bisectable points at better-sched merge 16:52
.seen tokuhirom 16:53
yoleaux I saw tokuhirom 30 Oct 2015 02:34Z in #perl6: <tokuhirom> after: split('=', 'YYY=', 2) returns just 'YYY'
AlexDaniel` ok I created this for now github.com/tokuhirom/p6-WebSocket/issues/15 16:57
Zoffix grr perl6 -e '=SEE-ALSO foo' works, but not when I stick it into a file :()) 16:58
Zoffix tries a bigger hammer 16:59
^ good reason to write tests along with the fix :) 17:00
AlexDaniel` I was 90% sure that you noticed it this way and that the obligatory grumble will follow :) 17:01
Zoffix: hey, what do you think about this: 17:10
c: 2017.09,1ea3297b2144^,1ea3297b2144,HEAD class Reals is Range { method new() { nextwith min => -∞, max => ∞, :!excludes-min, :!excludes-max } }; Reals.new
committable6 AlexDaniel`, gist.github.com/490cb1f1b65406adc6...f138df447f 17:11
AlexDaniel` ( github.com/rakudo/rakudo/commit/1e...38a6f05ea7 )
that's from a module: github.com/ajs/perl6-Math-Sequence...es/Real.pm
ah 17:12
c: 2017.09,1ea3297b2144^,1ea3297b2144,HEAD class Reals is Range { method new() { nextwith -∞, ∞, :!excludes-min, :!excludes-max } }; Reals.new
committable6 AlexDaniel`, ¦2017.09,1ea3297b2144^,1ea3297,HEAD(312cac7): «»
AlexDaniel` there
nevermind then! 17:13
Zoffix man we have a million candidates for Range.new and none are even documented 17:14
AlexDaniel`: I guess we can add 1 more with :min :max that just passes stuff to other candidates 17:17
AlexDaniel` uhm, what for?
Zoffix To fix the module, I don't know
AlexDaniel` I'll just submit a PR
Zoffix OK
AlexDaniel`: actually nextwith -∞, ∞, :!excludes-min, :!excludes-max doesn't look right 17:20
Or maybe it is
c: 2017.09,1ea3297b2144^,1ea3297b2144,HEAD class Reals is Range { method new() { nextwith -∞, ∞, :!excludes-min, :!excludes-max } }; Reals.new.^name.say
committable6 Zoffix, ¦2017.09,1ea3297b2144^,1ea3297,HEAD(312cac7): «Reals»
Zoffix c: 2017.09,1ea3297b2144^,1ea3297b2144,HEAD class Reals is Range { has $.x = 42; method new() { nextwith -∞, ∞, :!excludes-min, :!excludes-max }; }; Reals.new.x.say 17:21
committable6 Zoffix, ¦2017.09,1ea3297b2144^,1ea3297,HEAD(312cac7): «(Any)»
Zoffix c: 2017.09,1ea3297b2144^,1ea3297b2144,HEAD class Reals is Range { has $.x = 42; method new() { nextwith min => -∞, max => ∞, :!excludes-min, :!excludes-max }; }; Reals.new.x.say
committable6 Zoffix, gist.github.com/6e0cd4a5c8e39dffcb...5bf1d1a0a9
Zoffix The past version would've done the BUILD* stuff; current one goes through nqp::create shortcut. There ain't no attributes, so I guess it don't matter 17:22
c: 2017.09,1ea3297b2144^,1ea3297b2144,HEAD class Reals is Range { has $.x = 42; method new() { self.Mu::new: min => -∞, max => ∞, :!excludes-min, :!excludes-max }; }; Reals.new.x.say
committable6 Zoffix, ¦2017.09,1ea3297b2144^,1ea3297,HEAD(312cac7): «42»
Zoffix That one's prolly more right; though it doesn't do all the data checking
Which again bumps against RT#130020 17:23
synopsebot RT#130020 [open]: rt.perl.org/Ticket/Display.html?id=130020 [RFC][@LARRY] Create a set of conventions to minimize impact internal changes to user's code
AlexDaniel` ok, I think this will do github.com/ajs/perl6-Math-Sequences/pull/4 17:32
Zoffix ZOFFLOP: t/spec/S10-packages/basic.t 17:39
AlexDaniel` awesome. UNIX::Daemonize kills committable 17:40
or… daemonizes it
ah no, it was my bad, nvm 17:42
Geth rakudo/nom: ba718f4581 | (Zoffix Znet)++ | src/Perl6/Grammar.nqp
Fix parsing of custom named pod blocks

Fixes RT#132339: rt.perl.org/Ticket/Display.html?id=132339
We fixed[^1] ratchet getting disabled in `||` alternations, so here we enable it back where it's needed.
  [1] github.com/rakudo/rakudo/commit/96...465e601c75
17:43
synopsebot RT#132339 [new]: rt.perl.org/Ticket/Display.html?id=132339 [REGRESSION] =SEE-ALSO pod comment can no longer be parsed (=SEE-ALSO foo)
roast: 2ede0d1fc3 | (Zoffix Znet)++ | S02-literals/pod.t
Test custom named pod paras with `-` in identifiers work

RT#132339: rt.perl.org/Ticket/Display.html?id=132339 Rakudo fix: github.com/rakudo/rakudo/commit/ba718f4581
17:44
AlexDaniel` no, it really does something 17:46
works fine for precomped stuff but the first run gets stuck
meh. Yea, can't bisect. Anyway, created this issue for now: github.com/hipek8/p6-UNIX-Daemonize/issues/3 17:55
m: multi trait_mod:<is> (Routine $func, :$fuzzed! (:$returns, :&test)) { }; sub foo() is fuzzed {} 18:01
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot unpack or Capture `True`.
To create a Capture, add parentheses: \(...)
If unpacking in a signature, perhaps you needlessly used parentheses? -> ($x) {} vs. -> $x {}
at <tmp>:1
AlexDaniel` c: 2017.09 multi trait_mod:<is> (Routine $func, :$fuzzed! (:$returns, :&test)) { }; sub foo() is fuzzed {}
committable6 AlexDaniel`, ¦2017.09: «»
Zoffix Well, that's due to the Capture semantics fix 18:02
c: 2017.09 dd :fuzzed.Capture
committable6 Zoffix, ¦2017.09: «\(:key("fuzzed"), :value)»
Zoffix hmm
no
c: 2017.09 dd True.Capture 18:03
committable6 Zoffix, ¦2017.09: «\()»
AlexDaniel` Zoffix: should I create a ticket for this? 18:04
Zoffix AlexDaniel`: where's the "fuzzed" stuff from?
AlexDaniel`: no, it works as designed
AlexDaniel` github.com/FCO/Test-Fuzz/blob/mast...zz.pm6#L12
Zoffix So looks like there's a dispatch bug in that code that new semantics have caught 18:05
AlexDaniel` hm
m: multi trait_mod:<is> (Routine $func, :$fuzzed! (:$returns, :&test)) { }; sub foo() is fuzzed() {}
camelia ( no output )
Zoffix The bool candidate is meant to go to the other multi
And in that last eval it's passed as a list 18:06
It ain't documented properly so i don't even know how it's meant to work 18:07
Well, I got a fix to my best understanding of what this stuff is meant to be called with 18:11
Hahaha. Found a unrelated bug in that module while I was at it :P 18:14
It's doing %func.push which makes arrays when there's more then one thing in a key
AlexDaniel` alright another || fallout here: github.com/jnthn/p6-docker-file/issues/2 18:35
I tried to investigate but I think I'll have to leave it
Zoffix Test::Fuzz is fixed with this: github.com/FCO/Test-Fuzz/pull/6 18:39
AlexDaniel` Zoffix: thanks 18:42
another || issue: github.com/jsimonet/dns-zone/issues/5 18:49
Geth rakudo/nom: 9a13759813 | (Elizabeth Mattijsen)++ | docs/ChangeLog
Small fixes to ChangeLog
18:56
Zoffix Docker::File file tests pass with this: github.com/jnthn/p6-docker-file/pull/3 18:58
Dunno if more `regex`ation is needed tho.
AlexDaniel` another PR: github.com/marcoonroad/Coro-Simple/pull/8 19:01
Three modules left to check! :)
Zoffix \o/
AlexDaniel` hmm 19:07
can somebody 「zef install CSS::Specification」 ?
it failed in toaster with stuff like “# No such symbol 't::CSS::Aural::Spec::Grammar'” 19:08
but locally seems to be fine
Zoffix ===> Install [OK] for CSS::Specification:ver<0.4.4> 19:09
AlexDaniel` :S 19:10
well, okay then?
ugexe it could be problematic in that it includes a lib/t folder but doesn't declare any of those modules in the META6.json provides 19:14
AlexDaniel` Alright, the rest seems to be ok. I'm calling it a day. There are a few modules I want to look at (some segfaults maybe and some seem to hang), but that's for tomorrow 19:19
SmokeMachine Oh! Thanks Zoffix! 19:20
ugexe yep, it passes with -Ilib but not -I. 19:24
AlexDaniel` oh, by the way 19:28
volunteers are welcome to spectest rakudo on windows. Previous failures are documented here: github.com/perl6/roast/issues/320
o/ 19:29
Zoffix Well, it still fails pretty much the same and takes like an hour to run 19:56
On 4-core box
moritz: "Umm what?" what? twitter.com/perl6org/status/921826392089747462 20:03
What do you mean?
moritz it seems that we fixed a bug that makes it harder ot use $/ in params 20:05
even though that's a pretty common pattern
or did I misunderstand something?
using two media for one discussion is inefficient :( 20:07
Zoffix moritz: I don't follow that phrasing. We fixed the bug. Period. In the past, .match threw if $/ was readonly, while .subst silently used the wrong $/ in its substitution block. Now it also throws. 20:08
I don't think .match, .subst, and the rest of the ilk should be messing with $/ at all, but I think that ship might've sailed.
moritz ah, ok 20:09
Zoffix or will fix after the release. The fix is currently in a branch 20:10
m: grammar { token TOP {(.+)} }.parse: 'wrong-stuff', actions => class { method TOP ($/) { put "right stuff".subst: /(Foo)/, {uc $/[0] } } }
camelia right stuff
Zoffix m: grammar { token TOP {(.+)} }.parse: 'wrong-stuff', actions => class { method TOP ($/) { put "right stuff".subst: /(.+)/, {uc $/[0] } } }
camelia WRONG-STUFF
Zoffix m: grammar { token TOP {(.+)} }.parse: 'wrong-stuff', actions => class { method TOP ($_) { put "right stuff".subst: /(.+)/, {uc $/[0] } } }
camelia RIGHT STUFF
Zoffix In the second eval, .subst silently fails to set $/ for the match object and the actions' $/ ends up being used inside the replacement block 20:11
And in third one, we renamed $/ to $_
Second one will throw
m: grammar { token TOP {(.+)} }.parse: 'wrong-stuff', actions => class { method TOP ($/) { put "right stuff".match: /(.+)/ } } 20:12
camelia Cannot assign to a readonly variable ($/) or a value
in method TOP at <tmp> line 1
in regex TOP at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix ^ the same way as .match throws here ^
m: grammar { token TOP {(.+)} }.parse: 'wrong-stuff', actions => class { method TOP ($/) { put "right stuff".subst: /(.+)/, {uc $_[0] } } }
camelia RIGHT STUFF
Zoffix And since the match object is already availabel as $_ up in there, it seems the whole $/-setting business is kinda useless ehere and in .match and .subst-mutate 20:13
And they'd prolly be faster too if we didn't have to haul it around... worthy 6.e material IMO 20:15
samcv buggable, status 22:20
releasable6, status
releasable6 samcv, Next release will happen when it's ready. No blockers. 478 out of 483 commits logged
samcv, Details: gist.github.com/82e8c5bb6b1dc977ca...c6d573488a
Geth rakudo/nom: 78d8d50995 | (Samantha McVey)++ | src/core/IO/Path.pm
Use UInt signature for .parent($depth)

Instead of having a die inside of the function, change the signature so only positive integers are accepted.
22:31
Zoffix hm, so `is nodal` stuff applies only to List methods. It's not a user-facing construct tho documentation makes it seem like it is and like you can use it on your own methods (which I thought at some point). Make sense, I guess 23:04
jnthn I don't see why you couldn't use it on your own list-y methods 23:05
Though I suspect the situations you'd need to are few and far between
There's already so many built-in data structures...
Zoffix I thought you could make any method nodal and it'd prevent hyper from descending into iterables to call that method 23:06
jnthn Yes, that's the idea. 23:08
Zoffix That's not how it's implemented. It does nqp::can(List, $method-name)
m: class Foo { method x { say "called x" } }; (Foo.new, (Foo.new, Foo.new))».x
camelia called x
called x
called x
Zoffix But it makes sense. Otheriwse, ^ that would call `x` on the List and fail 23:09
jnthn Oh :/
timotimo oh greetings jnthn :) 23:15
jnthn o/ timotimo 23:19
samcv oh my there are so many expression engine commits in moarvm :O 23:24
Zoffix Yeah, moarjit branch got merged this release
2 years of work
samcv yeah but i had never checked how many commits it was! 23:25
so we have 614 moarvm commits between last release and this one!
jnthn o.O 23:26
.oO( I either picked a great or awful time to delegate the MoarVM release :) )
Zoffix .hug samcv 23:34
huggable hugs samcv
samcv thanks Zoffix :)
timotimo looking forward to proofreading the changelog :) 23:38