Kaiepi writing an update to the repl to make it so you have to press ctrl+c/ctrl+d twice to exit 00:08
i've made way too many typos like that and like to be able to clear the line easily 00:09
starting to work out how the language works bit by bit \o/ 00:10
timotimo if you want repl, but not as bad, maybe the jupyter kernel might be better 00:32
haven't tried it in a whole while though
Geth nqp: ab5dec0978 | (Jeremy Studer)++ | src/QRegex/P6Regex/Actions.nqp
Fix bug with iteration of empty character class

Check that there is at least one character class before applying the regex nodes.
When compiling the 'conj' regex node, it expects to be able to shift off at least one child node and iterates past the end as a result.
Fixes [Rakudo Issue #1622](github.com/rakudo/rakudo/issues/1622)
02:38
Kaiepi hm, i have getting using ^C twice to exit the repl to almost work, but the tests for it hang 02:52
fixed that, but broke some other tests 03:15
ah ok, the tests weren't accounting for "Press ^D again to exit Rakudo" to end up in stdout 03:34
samcv i've gotten it to 4.3s down from 12s :) 05:35
written in such a way the compiler can vectorize it (eliminating all branches in the loop completely)
and scanning all of the 32 bit string buffer at once instead of checking each one at the same time as assigning to the new buffer 05:36
Kaiepi nice 06:05
samcv and for my $str = 'abcdcdecdce♥'; for ^20000 { $str = 'whathere' ~ $str; $str ~~ /z/; }; say now - INIT now; 06:22
i get 1.25s now versus 4.64s before
[Tux] Rakudo version 2018.03-129-g7572983a4 - MoarVM version 2018.03-35-gafdcad424
csv-ip5xs0.909 - 0.914
csv-ip5xs-208.767 - 8.788
csv-parser37.484 - 37.802
csv-test-xs-200.439 - 0.460
test9.114 - 9.303
test-t2.451 - 2.542
test-t --race1.019 - 1.037
test-t-2043.508 - 44.531
test-t-20 --race15.757 - 16.008
06:38
Geth roast: 0c2cc72729 | usev6++ | 2 files
[JVM] Fudge two newly failing tests (R#1671)
06:43
synopsebot R#1671 [open]: github.com/rakudo/rakudo/issues/1671 [JVM] [JVM] Calling .perl on Sequence produced by chained .grep after .grep, :k gives wrong result
Geth nqp: Kaiepi++ created pull request #434:
Allow NativeCall support for wchar_t
07:42
rakudo: Kaiepi++ created pull request #1672:
Implement NativeCall support for wchar_t
07:45
lizmat Files=1238, Tests=74617, 308 wallclock secs (14.52 usr 4.95 sys + 2117.17 cusr 204.24 csys = 2340.88 CPU) 07:50
Geth rakudo: 53c02d8505 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
We only need a single decont for 'once'
08:14
rakudo: 022954d74e | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm6
Fix for GH R#1671

Apparently, the JVM needs the boxing to prevent it from taking an alias and thus producing the final value each time.
08:21
synopsebot R#1671 [open]: github.com/rakudo/rakudo/issues/1671 [JVM] [JVM] Calling .perl on Sequence produced by chained .grep after .grep, :k gives wrong result
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Fix for GH R#1671 09:29
travis-ci.org/rakudo/rakudo/builds/360185565 github.com/rakudo/rakudo/compare/5...2954d74e02
synopsebot R#1671 [open]: github.com/rakudo/rakudo/issues/1671 [JVM] [JVM] Calling .perl on Sequence produced by chained .grep after .grep, :k gives wrong result
buggable [travis build above] ☠ All failures are due to: failed make test (1 failure). Across all jobs, only t/04-nativecall/13-cpp-mangling.t test file failed.
Geth rakudo: b9906ab10d | usev6++ | src/core/Any-iterable-methods.pm6
Add back a nqp::p6box_i() for grep :kv, too

Fixes the second part of GH R#1671 (same fix as in 022954d74e).
09:48
synopsebot R#1671 [closed]: github.com/rakudo/rakudo/issues/1671 [JVM] [JVM] Calling .perl on Sequence produced by chained .grep after .grep, :k gives wrong result
Geth roast: 9f65f3485a | usev6++ | 2 files
Revert "[JVM] Fudge two newly failing tests (R#1671)"

This works again, lizmat++.
This reverts commit 0c2cc727292ca3c319994e30aa68030268e579c3.
09:49
lizmat Cool :-) 09:50
Geth rakudo: b22421e7e9 | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm6
Split off to-millis(,True) into to-millis-allow-zero

This speeds up cueing of start { } blocks a bit and saves one Scalar allocation per cue. First part of more refactoring on ThreadPoolScheduler.cue, which currently takes 6.5% of CPU on 'await do for ^100000 { start { } }'
10:22
travis-ci Rakudo build passed. usev6 'Add back a nqp::p6box_i() for grep :kv, too 10:31
travis-ci.org/rakudo/rakudo/builds/360207798 github.com/rakudo/rakudo/compare/0...906ab10d22
Rakudo build passed. Elizabeth Mattijsen 'Split off to-millis(,True) into to-millis-allow-zero 11:13
travis-ci.org/rakudo/rakudo/builds/360216361 github.com/rakudo/rakudo/compare/b...2421e7e9e9
Geth roast/6.c-errata: 7dbc84c323 | (Zoffix Znet)++ | packages/Test/Util.pm
Sync Test::Utils package with master
12:47
nqp: 0d344c2f5c | (Zoffix Znet)++ | tools/build/MOAR_REVISION
[MoarVM Bump] Brings 21 commits

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...6-g85fc758 85fc758 Missing write barrier enforcement in CStruct ce38e35 Fix missing GC mark of deserializer contexts list df4c94c Spot use of an item already put in a gen2 freelist 6ba2d8d Simplify rooting by using MVMROOT2 ... (17 more lines)
12:56
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...6-g85fc758
rakudo: 20495f097e | (Zoffix Znet)++ | tools/build/NQP_REVISION
[NQP Bump] Brings 2 commits

NQP bump brought: github.com/perl6/nqp/compare/2018....2-g0d344c2 0d344c2 [MoarVM Bump] Brings 21 commits ab5dec0 Fix bug with iteration of empty character class
MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...6-g85fc758 ... (21 more lines)
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....2-g0d344c2
nine make.nqp now checks the exit status of commands (unless explicitly requested not to), only builds targets when actually needed, handles recursive macros correctly in all cases rakudo needs, no longer hides the output of commands, supports @echo and is still only 288 LOC 14:21
gist.github.com/niner/a959cb893820...392d4c16cb
jnthn Wow :D 14:22
Does it do parallel building too? ;)
nine And it may even work on Windows :D
No parallel building...yet. I've given it some thought though. 14:23
jnthn There's not much of it to exploit in the Rakudo build anyway, tbh
nine No, I usually don't bother to even type -j for rakudo 14:24
jnthn Darn it. Just re-engineered Supplier::Preserving internals figuring they were to thank for the S17-supply/syntax.t occasional hang. The symptoms fitted and there was a problem. But...it seems not to actually help that problem. 14:28
timotimo parallel builds are still good if you build moar and jvm backends at the same time 15:54
nine With a small fix for macros in targets it now builds nqp. That'd be extreme bootstrapping ;) 15:58
timotimo awesome!
i remember talking about this very thing at the austrian (or was is the swiss?) perl workshop
having our own bootstrapped make system 15:59
nqp helpfully already includes a bootstrapped nqp :D
Kaiepi i wonder if ccache would work for builds 16:01
nine Much usage of perl in nqp's build could be replaced by nqp.
Kaiepi at least for moar
nine Turns out, NQP is not that bad a language to build such tools :)
timotimo it probably can, Kaiepi, but we have a moar.h that includes every include we have, so every time a .h file changes, everything would miss the cache again :( 16:02
Kaiepi ah
Geth nqp/nqpmake: 18035e5cde | (Stefan Seifert)++ | tools/make.nqp
Add a basic implementation of make to the build tools
16:05
nine Not sure if we'd ever want to use such a thing for anything but I don't know where else to put the code...
timotimo <3 16:20
jnthn Well...uh...I've managed to not solve the S17-supply/syntax.t bug, but instead reworked Supplier::Preserving sufficiently that it now seems to happen reliably :P 16:47
I think I know where the problem is
(Down in the scary continuation juggling done by `whenever` in the case of a sync subscription)
It makes an ordering assumption that isn't upheld here
So far as I can tell, anyway 16:48
Bah, after saying it's now a reliable failure, it fails to fail 16:49
Geth rakudo/supplier-preserving-refactor: 0562248f61 | (Jonathan Worthington)++ | src/core/Supply.pm6
Refine Supplier::Preserving semantics

Of note, make sure it never tries to do message sending while holding a real lock, since that prevents any kind of downstream `await` taking advantage of the 6.d.PREVIEW non-blocking `await` semantics.
These changes were done as part of looking into a hang in the spectest ... (5 more lines)
17:03
jnthn gives up on it for today 17:08
At least I solved one nasty segv bug... :)
AlexDaniel squashable6: next 17:35
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 6 days and ≈16 hours (2018-04-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel jnthn: I have some good news to you I think 17:41
I think this is now resolved: github.com/rakudo/rakudo/issues/1259 17:42
jnthn Hurrah
Then it was the same bug as the one you more recently reported
AlexDaniel I'd have to update rakudo on the server to be able to tell with 100% certainty, so let's do a bot kaboom… 17:43
jnthn :)
jnthn wanders home...bbl
AlexDaniel github.com/rakudo/rakudo/issues/16...-377584146 18:05
\o/
this is so great!
according to whateverable#24 I think it's now segfault-free 18:08
with only these issues remaining: github.com/rakudo/rakudo/issues/1501 github.com/rakudo/rakudo/issues/1595 github.com/MoarVM/MoarVM/issues/680 18:09
(these are not segfaults ofc)
MasterDuke: \o/ 18:10
\o\ 18:12
/o/
dogbert17 bisect: uptime 18:22
bisectable6 dogbert17, 32 minutes and 56 seconds, 202.203125MiB maxrss. This is Rakudo version 2018.03-134-g20495f097 built on MoarVM version 2018.03-56-g85fc758ce implementing Perl 6.c.
Geth rakudo: kbucheli++ created pull request #1673:
use tmpdir for precompliation/REPL history if home directory is readonly
19:31
rakudo: ac5cf2bb01 | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm6
Make ThreadPoolScheduler.cue a multi

The "cue" method takes *many* named parameters, which causes a lot of overhead. Whereas the most common use, namely in from "start { ... }" only uses *one* named parameter. Making it a multi with one required named parameter in each candidate, makes the most common call to .cue about 5x as fast with 25% fewer allocations. This makes something like
   await do for ^100000 { start { } }
go from 2.6 seconds wallclock to 2.1 seconds wallclock.
19:55
jnthn lizmat++ 19:59
AlexDaniel wait what 20:26
???
evalable6 Stub code executed
in block <unit> at /tmp/GI4BngbxUm line 1
AlexDaniel ? that's a bug?
not in evalable
evalable looks at the exit code 20:27
and in this case it is 0
why?
6c: ???
committable6 AlexDaniel, gist.github.com/dea4377871e547f291...4d3c3330e3
AlexDaniel all: ???
committable6 AlexDaniel, gist.github.com/fe17342e5e38ca9c01...9311c61b4e 20:28
AlexDaniel m: say ???; say 42 20:29
camelia Stub code executed
0
42
in block <unit> at <tmp> line 1
AlexDaniel oh
m: ???; say 42
camelia Stub code executed
42
in block <unit> at <tmp> line 1
AlexDaniel ooooh…
so it's something about sinking ??? 20:30
m: my $x = ???; say $x 20:37
camelia Stub code executed
0
in block <unit> at <tmp> line 1
AlexDaniel what is 0?
timotimo s: &term:<???> 21:10
SourceBaby timotimo, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Undeclared routine:␤ term:<???> used at line 6. Did you mean 'term:<now>'?␤␤
timotimo hm, it's probably directly in the grammar