01:33 MasterDuke joined
MasterDuke looking at the differences between `..` and `xx` some more. `say (reduce * * *, (1993 xx 10_000)) %% 2` has 10001 calls to `pull-one` in `class OneValueTimes does PredictiveIterator`, which makes sense. but `say (reduce * * *, (1 .. 10_000)) %% 2` has 10001 calls to `push-exactly` in `class IntRange does PredictiveIterator`, which also makes sense, 01:38
but then 50005 or 40004 calls to a bunch of other Iterator and List methods, which doesn't make sense
huh. `say (1 .. 10_000).reduce(* * *) %% 2` only has 30003 and 20002 calls of the various Iterator and List methods 02:17
i'm guessing it really does come down to the signature of sub reduce. the `+list` is reifying the Range. seems unfortunate 03:16
Geth roast: 9fa7778bc6 | (Tom Browder)++ (committed using GitHub Web editor) | 2 files
Add tests for log2
09:43
timo so, is there any kind of tool yet that analyzes the dependencies between precompiled files? specifically, i'd like to have something that installs every raku-* debian package and makes sure the precomped files that end up on disk can be loaded with the rakudo package that is installed along with it 09:57
lizmat there isn't afaik 09:58
ugexe ^^ ?
timo unrelated to zef, though there are implications for like, cleaning up old precomp files where the rakudo and nqp runtime files (ModuleLoader.moarvm and such) of the right version aren't around any more so they can't possibly (?) be loaded 10:00
lizmat there's raku.land/zef:lizmat/Repository::P...p::Cleanup 10:01
timo ah, interesting i will give that a look
my primary concern right now is that we don't get into a situation any more where debian may give you packages with precomps that can't be loaded successfully 10:02
so, i think i might now maybe understand why liz is having regular trouble with "missing or wrong version of dependency" when she doesn't nuke her prefix? is it because the runtime/ folder has just one set of files? 10:04
lizmat fwiw, I nuke my install dir after every NQP bump
I also found that a sure way to mess up your installation, is to run "perl Configure.pl --gen-moar --make-install" more than once without nuking the install dir 10:06
timo i wonder if there's a way we can get your workflow to suck less for you? but i'm also wondering why we're trying to load incompatible precomps in the first place? 10:11
lizmat I suspect dependency checking still has some gremlins in it 10:12
timo you know, we literally generate the code in the "dependencies+deserialize" frame 10:15
we can do whatever the heck we want in it
like, what if we introduce an HLL symbol that we check at the very start before doing anything else
lizmat for what ? 10:16
timo bailing out more safely/sanely if we're being loaded for an incompatible set of compiled rakudo files
lizmat well, more info would be good :-) 10:19
11:06 ab5tract left
timo i must say, the error you get when your moar or nqp is out of date relative to MOAR_COMMIT / NQP_COMMIT is super hard to read 11:18
lizmat agree :-) 11:19
Geth rakudo/main: e08f6e0ba3 | (Elizabeth Mattijsen)++ | src/core.c/INTERPOLATE.rakumod
Add support for "any" junctions in regex interpolation

Fixes #4136
11:26
timo now if we introduce something where you can give a piece of helpful information to identify a build with during rakudo compilation, that could go into the error message
Geth roast: 45508ac933 | (Elizabeth Mattijsen)++ | S05-interpolation/regex-in-variable.t
Add test for #4136
11:33
timo hm. sprintf is supposed to reuse the results of parsing the grammar right? 12:27
lizmat it doesn't in pre-RakuAST: runs the grammar *every* time 12:31
timo oh, that's a rakuast-only feature
lizmat actually, it's available atm in 6.e as zprintf
timo neat, let me give that a shot 12:32
nqp_run_nfa after zprintf: 0.22% - 14.270110608 seconds time elapsed 12:35
nqp_run_nfa with sprintf: 9.94% - 30.878792527 seconds time elapsed 12:38
lolsob
this is "zef list > /dev/null"
gist.github.com/timo/a449313a12a46...1b68fed5d2 - my pc isn't at rest right now, so my timings may be wildly inaccurate. i would appreciate if someone were to apply this patch on top of zef and tried before/after of "zef list > /dev/null" and maybe some other zef commands as well? 12:53
(don't forget precomp time on the first run) 12:54
lizmat I don't need to test: you will see even better results than with zprintf :-) 12:59
make it a PR :-) 13:00
timo barely better timing than zprintf 13:11
but doesn't need "use v6.e.PREVIEW" so i thought it was safer to put into zef
lizmat indeed 13:16
timo github.com/ugexe/zef/pull/575 13:19
Geth roast: 82fbddefb0 | (Elizabeth Mattijsen)++ | S12-methods/defer-next.t
Re-activate &?ROUTINE.dispatcher tests for #4157
13:31
rakudo/lizmat-Instant-DateTime: 27d72dde86 | (Elizabeth Mattijsen)++ | src/core.c/Instant.rakumod
Make Instant.DateTime coercer take timezone into account

As implicitely suggested in R#4169
No spectest fail, but still feels like it needs more scrutiny before being merged
13:56
linkable6 R#4169 [open]: github.com/rakudo/rakudo/issues/4169 Instant.DateTime doesn't respect timezone of the OS
Geth rakudo: lizmat++ created pull request #5660:
Make Instant.DateTime coercer take timezone into account
timo instant datetime, just add water 13:59
lizmat
.oO( and some sunshine )
afk for a few hours&
15:00 ab5tract joined 16:50 MasterDuke left 17:10 ab5tract left
Geth roast: cdc1b23c95 | (Elizabeth Mattijsen)++ | S32-temporal/DateTime.t
Add tests for #4175
17:17
rakudo/main: ea5a74d24d | (Elizabeth Mattijsen)++ | t/12-rakuast/xx-fixed-in-rakuast.rakutest
Add test for #4193
17:31
rakudo/main: b56ba4c581 | (Elizabeth Mattijsen)++ | t/12-rakuast/xx-fixed-in-rakuast.rakutest
Add test for #4198
17:45
bartolin I asked that the other day, but maybe it went unnoticed: is it a known problem that integration/advent2012-day21.t (from roast) hogs up all memory very fast? I see that on my machine (FreeBSD 14.1) 18:08
18:10 dogbert17 joined
patrickb At least I was unaware. Is that file run by default? 18:22
bartolin it's part of the make target "stresstest", I think 18:25
github.com/Raku/roast/blob/cdc1b23...data#L1392 18:26
it wasn't a problem in the past (when I ran stresstest regularly). I even bumped up the memory for my vm, but it became unresponsive soon after the tests from that file were started 18:29
patrickb Interface design bikeshedding round: I want to extend Proc::Async. 3 bits of info: pty = yes / no, rows = no of rows, cols = no of cols. Ideas: `:pty(:cols(80), :rows(24))`, `:pty(%(:cols(80), :rows(24)))`, `:pty, :pty-rows(24), :pty-cols(80)`` 18:54
timo and pty-rows and pty-cols will be rw? 18:55
patrickb Good question. If they are rw then the last version makes most sense, but it's kinda ugly. 18:56
Most (all?) attributes on Proc::Async are ro. So I guess that's a non issue. 18:57
Hm. Still unsymmetric if I have pty / pty-cols / pty-rows as attributes. 18:58
But having pty as a list of pairs as attributes it's pretty non-standard. 19:00
Oh, almost forgot, there will also be a `method resize-pty($cols, $rows)`. But that's for after the thing got started. (But doesn't hurt to allow it to modify the attributes before starting.) 19:02
Actually, I think I'll make the pty-rows and pty-cols private. I can't guarantee that the values will remain correct (as the size could be modified by outsiders). 19:04
So apart from being a bit strange, I like `:pty(:cols(80), :rows(24))` best. Any opposing opinions? 19:06
(Btw. My little terminal emulator is slowly coming together. Many missing pieces, but it was quite easy to get fancy stuff like vim and htop kinda work.) 19:07
timo neat! 19:24
i don't think i have good taste in terms of API design here 19:25
you can make pty-cols and pty-rows "properties", i.e. an "method ... is rw" that returns a Proxy.new with STORE and FETCH
on the other hand, i assume it will happen often enough that you change both rows and cols at the same time, and don't want to send sigwinch twice 19:26
perfect time to mis-use a Complex value :D
patrickb I'm not a big fan of Proxy here. That suggests to the user it's a simple assignment, while it actually does fancy stuff like pinging a PTY which then usually causes the child to do a full relayout / draw dance. 19:32
Geth roast: usev6++ created pull request #864:
Disable test file that hogs up all memory
19:43
rakudo: usev6++ created pull request #5661:
[JVM] Unbreak module loading
19:54
timo you know, that's fair, yeah 20:02
Geth roast/add-log2-test-file: 55c808c89a | (Tom Browder)++ | 2 files
Add tests for log2
20:56
roast/add-log2-test-file: 4b32f4d6f3 | (Tom Browder)++ | S32-num/complex-logarithms.t
Add new test file for roast issue #862
roast: tbrowder++ created pull request #865:
Add log2 test file
21:41
23:24 ab5tract joined