🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||
00:15
librasteve_ left
|
|||
lizmat | nine: now that I'm done with .assuming for now, I could take the chainsaw and remove all AT-POSses ? | 00:34 | |
I seem to recall I was the one who put them in in the first place ? | |||
japhb | What's the reason for removing them? | 00:42 | |
lizmat | AT-POS doesn't exist that early in the bootstrap, I think | 00:48 | |
sleep& | 00:49 | ||
02:01
lizmat left
|
|||
nine | Oh, that "expected Rakudo::Iterator::Empty but got Rakudo::Iterator::Empty" seems to be some confusion between constant Empty which is declared very early and my class Empty in Rakudo::Iterator. | 08:33 | |
Renaming the latter to EmptyIteratorType also makes us move forward | |||
09:12
finanalyst joined
09:16
Geth joined
|
|||
nine | lizmat_: thanks, but I'm almost through with it anyway | 09:52 | |
10:07
lizmat_ left,
lizmat joined
10:17
sena_kun joined
|
|||
timo | how do we feel about an exception class for reporting an istype that failed with some additional smarts in the message method like "if the things have the same name, figure out why they are actually different" | 10:50 | |
or is there already an exception for that which we should be using in `multi method are` in Any-Iterable-methods.rakumod? | 10:51 | ||
i guess we do have X::TypeCheck | 10:52 | ||
lizmat | yup, that's the one | 10:56 | |
timo | not sure it has anything to handle "they have the same name, so wtf" situations | 10:57 | |
lizmat | it's got $!expected and $!got attributes, that are the types that were checked, afaik | 10:58 | |
so I think it could ? | 10:59 | ||
timo | it could, yeah | ||
11:00
^Dan joined
|
|||
Geth | nqp/main: 990e179bd1 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION Bump MoarVM to get big slurpies fix, timo++ |
11:05 | |
11:10
^Dan left
|
|||
Geth | rakudo/main: 9233a89f91 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION Bump NQP to get big slurpies fix, timo++ |
11:23 | |
rakudo/main: d02733a40b | (Elizabeth Mattijsen)++ | lib/Telemetry.rakumod Fix snapper's memory reporting on MacOS Earlier versions of libuv didn't correct for MacOS's memory usage reporting, but newer versions do. And MoarVM uses that newer version, so we can remove the special handling in the snapper. Spotted by Timo++ |
11:30 | ||
rakudo/main: f7023342ca | (Elizabeth Mattijsen)++ | lib/Telemetry.rakumod Show initial memory values with _ between thousands Timo++ for the suggestion |
11:37 | ||
rakudo/main: 3bbb521ae7 | (Elizabeth Mattijsen)++ | src/core.c/core_epilogue.rakumod Make sure that sub-signatures with returns work ok The "make-simple-type" sub takes names of types, not types |
13:27 | ||
roast: e98f54674a | (Elizabeth Mattijsen)++ | 4 files Remove all TODOs from tests that now pass Since github.com/rakudo/rakudo/commit/4ee9503bdc |
13:31 | ||
15:07
CIAvash joined
15:46
finanalyst left
|
|||
nine | Huh...another super obscure problem: in BEGIN blocks any calls to methods on e.g. an argument Capture object fail. First by dispatching to Any's candidates instead of Capture's and then by leading to a VMNull called there. Here's the twist: they do succeed if I first manually ^find_method them _and_ call that result. | 15:51 | |
19:00
librasteve_ joined
|
|||
Geth | rakudo/main: c9c2ca453d | (Elizabeth Mattijsen)++ | src/core.c/core_epilogue.rakumod Add support for type-smileys in .assuming Found missing while working on RakuAST::Utils |
19:22 | |
nine | lizmat: can't motivate you to look at spectests? | 19:27 | |
lizmat | you mean because of this latest commit ? | 19:31 | |
nine | yes :) | ||
Also the notable absence of any spec test fixing commits :) | 19:32 | ||
lizmat | spectest is clean for me? | 19:35 | |
apart from the two tests that you todoed because they only pass if optimization is on ? | 19:36 | ||
nine | I mean with RAKUDO_RAKUAST=1 | 19:37 | |
19:38
CIAvash left
|
|||
lizmat | running one now | 19:43 | |
well, at least we won t/spec/S06-currying/positional.t ? | 19:47 | ||
seems like this is caused by: | 19:51 | ||
m: ay Q|:(:$a = True)|.AST.DEPARSE | |||
camelia | ===SORRY!=== Error while compiling <tmp> Undeclared routine: ay used at line 1 |
||
lizmat | m: say Q|:(:$a = True)|.AST.DEPARSE | ||
camelia | :(:$a = True) |
||
lizmat | m: say Q|:(:$a = True)|.AST.EVAL | ||
camelia | (:$a = Code.new) | ||
lizmat | what I think is the issue, is that RakuAST just checks for Parameter.default, which *always* returns a Callable | 19:52 | |
nine: ^^ | 19:53 | ||
nine | What is caused by that? | ||
lizmat | that the .EVAL returns a Code.new as the default for the named parameter | 19:54 | |
rather than True | |||
is what triggers the test failing | |||
nine | Incidentally I just made a local change that made it recognize True/False as compile time constants and thus set them as default_value instead of default closures | 19:55 | |
lizmat | then that should fix a lot of those tests | 19:56 | |
pretty sure that would fix all in t/spec/S06-currying/named.t | 19:57 | ||
will look at the others after the meeting | |||
. | 20:00 | ||
t/spec/S06-currying/slurpy.rakudo.moar will also be fixed if you handle True/False as default_value | 20:21 | ||
so we should be good after that | |||
nine | good in what way? | 20:28 | |
lizmat | the files should pass again in entirety ? | ||
with RAKUDO_RAKUAST=1 ? | 20:29 | ||
nine | Oh, I didn't realize there were assuming related regressions | ||
lizmat | yup :-) gotten very familiar with those tests in the past 2 weeks | 20:34 | |
m: sub a(::T $a, Array[T] $b) { dd :$a:$b }; a 42, my Int @ = 666 # something is leaking out | 20:36 | ||
camelia | Use of RakuAST is experimental; please 'use experimental :rakuast' Actually thrown at: in sub a at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
lizmat | bisectable6: old=2025.02 sub a(::T $a, Array[T] $b) { dd :$a:$b }; a 42, my Int @ = 666 | 20:38 | |
bisectable6 | lizmat, On both starting points (old=2025.02 new=c9c2ca4) the exit code is 1 and the output is identical as well | ||
lizmat, Output on both points: «Use of RakuAST is experimental; please 'use experimental :rakuast'Actually thrown at: in sub a at /tmp/xcfeQZp9aZ line 1 in block <unit> at /tmp/xcfeQZp9aZ line 1» | |||
lizmat | ah? | ||
bisectable6: old=2024.02 sub a(::T $a, Array[T] $b) { dd :$a:$b }; a 42, my Int @ = 666 | |||
bisectable6 | lizmat, On both starting points (old=2024.02 new=c9c2ca4) the exit code is 1 and the output is identical as well | ||
lizmat, Output on both points: «Use of RakuAST is experimental; please 'use experimental :rakuast'Actually thrown at: in sub a at /tmp/4l9J0qmfGb line 1 in block <unit> at /tmp/4l9J0qmfGb line 1» | |||
lizmat | heh | ||
bisectable6: old=2025.02 sub a(::T $a, T @b) { dd :$a:@b }; a 42, my Int @ = 666 | 20:39 | ||
bisectable6 | lizmat, Bisecting by exit code (old=2025.02 new=c9c2ca4). Old exit code: 1 | ||
lizmat, bisect log: gist.github.com/8de69d7f53e41e4377...087884c805 | |||
lizmat, (2025-03-07) github.com/rakudo/rakudo/commit/0b...9c112414f0 | |||
nine | I actually meant fixing any of the remaining spectests | 20:44 | |
But of course the regressed ones would be a good start | |||
lizmat | "[20:55:25] <nine> Incidentally I just made a local change that made it recognize True/False as compile time constants and thus set them as default_value instead of default closures" | 20:45 | |
that should fix those two recently broken by my .assuming work | 20:46 | ||
I'm about to break one again: | 20:48 | ||
m: sub foo(::T $a, T @b) { "$a:@b[]" }; say foo(42, my Int @ = 666,137) | |||
camelia | 42:666 137 | ||
lizmat | breaks under RAKUDO_RAKUAST=1 | ||
Geth | rakudo/main: 19fe378097 | (Stefan Seifert)++ | src/Raku/ast/signature.rakumod RakuAST: recognize True/Default as compile time known for default values |
20:49 | |
nine | Well, it doesn't look like they do | ||
lizmat | ok, /me pulls anc checks | ||
t/spec/S06-currying/named.rakudo.moar and t/spec/S06-currying/slurpy.t now pass for me with RAKUDO_RAKUAST=1 ? | 20:58 | ||
nine | Ah, was missing commits from upstream main | 21:01 | |
lizmat | nine: I'm seeing 146 occurrences of AT-POS in src/Raku/ast | 21:03 | |
want me to fix those to postcircumfixes ? | |||
nine | No, I have fixed them locally already | 21:04 | |
lizmat | okido | ||
I'll take that as a cue to end my hacking for today :-) | 21:05 | ||
m: sub foo(::T $a, T @b) { "$a:@b[]" }; say foo(42, my Int @ = 666,137) | 21:10 | ||
camelia | 42:666 137 | ||
lizmat | nine: re ^^, looks like Raku actions need the equivalent of github.com/rakudo/rakudo/pull/5804/files | ||
but I haven't been able to trace that down yet | |||
afk& | |||
nine | Are you saying that this fix went in with no regard for RakuAST despite the standing RSC decision that everything going into main is to be accompanied by an appropriate RakuAST version? | 21:15 | |
Color me surprised | |||
23:46
librasteve_ left
|