🦋 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:48
librasteve_ left
02:10
JimmyZhuo joined
|
|||
JimmyZhuo | CORE.c.setting.moarvm 28.5MB VS 23.3MB(rakuast) | 02:20 | |
jdv | is back compat really a big issue? unless raku gets super popular i'd think prio'ing "improvements" over back compat makes more sense, no? | 02:30 | |
JimmyZhuo | rakudo-m -Ilib t\spec\S03-operators\set_equality.t | 05:20 | |
===SORRY!=== | |||
Cannot resolve caller MAKE_REGEX(Regex:D, Bool:D, Bool:D, Int:D, PseudoStash:D); none of these signatures matches: | |||
(Regex \arg, $, $, int \monkey, $) | |||
(Match::CachedCompiledRegex \arg, $, $, int \monkey, $) | |||
(\arg, \i, \m, int \monkey, \context)rakudo-m -Ilib t\spec\S03-operators\set_equality.t | |||
===SORRY!=== | |||
Cannot resolve caller MAKE_REGEX(Regex:D, Bool:D, Bool:D, Int:D, PseudoStash:D); none of these signatures matches: | |||
(Regex \arg, $, $, int \monkey, $) | |||
(Match::CachedCompiledRegex \arg, $, $, int \monkey, $) | |||
(\arg, \i, \m, int \monkey, \context) | |||
seems I can't run test in bootstrap-rakuast branch | |||
05:42
JimmyZhuo left
06:47
finanalyst joined
07:39
lizmat left
08:05
lizmat joined
09:53
sena_kun joined
10:51
librasteve_ joined
11:07
finanalyst left
11:19
JimmyZhuo joined
|
|||
JimmyZhuo | m: sub a() {my int $a = "ss";} | 11:35 | |
camelia | ( no output ) | ||
JimmyZhuo | m: my int $a = "ss"; | 11:36 | |
camelia | This type cannot unbox to a native integer: P6opaque, Str in block <unit> at <tmp> line 1 |
||
JimmyZhuo | m: sub a(int $a = 'ss') {} | ||
camelia | ( no output ) | ||
JimmyZhuo | m: sub foo(Int $x = "omg") { } | 11:37 | |
camelia | ===SORRY!=== Error while compiling <tmp> Default value 'omg' will never bind to a parameter of type Int at <tmp>:1 ------> sub foo(Int $x = "omg"<HERE>) { } expecting any of: constraint |
||
JimmyZhuo | m: sub a(int $a = 'ss') {}; a(); | ||
camelia | This type cannot unbox to a native integer: P6opaque, Str in sub a at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
JimmyZhuo | m: sub foo(Int $x = +"omg") { } | 11:39 | |
camelia | ( no output ) | ||
JimmyZhuo | these are inconsistency? | 11:41 | |
nine | Yes, there's not much of a visible system | 11:46 | |
11:56
JimmyZhuo left
11:57
JimmyZhuo joined
12:14
zostay left
12:15
zostay joined
|
|||
[Coke] | huh. logged into the azure box this morning and the blin run is done already?? | 12:21 | |
That's jdv speeds, not coke speeds. | |||
gist.github.com/coke/9d9afd2e8eb70...11d21d67a4 - that's the full output from this run, I don't have time to make a ticket | 12:23 | ||
looks like the .assuming broke some stuff | 12:24 | ||
SmokeMachine: Red – AlwaysFail | 12:30 | ||
It doesn't look like blin is saving output from alwaysfail, only the ones that switch | 12:32 | ||
added "overview" output to that gist which has the status of each individual module. | |||
SmokeMachine | That’s odd, the tests pass, at least locally… | 12:33 | |
And it seem that pass on GH too: github.com/FCO/Red/actions | 12:34 | ||
[Coke] | Yah, I thought I'd get lucky with the full run, but guess I have to run it by hand again - give me a day or two to get that sorted. | ||
SmokeMachine: I've only been doing the blin runs for a few months, and it took some effort to get it running, I've probably missed something in the setup on this azure box. | 12:35 | ||
SmokeMachine | It seems the modules depending on Red are also working: github.com/FCO/Red/actions/runs/13...2#step:6:1 | 12:39 | |
[Coke]: sure, I don’t mean to say that’s your fault nor something like that. I’m sorry if I passed that impression. | 12:40 | ||
JimmyZhuo | nine: just make spectest, my pr has no regressions, I think it's safe to merge | 12:41 | |
12:42
JimmyZhuo left
|
|||
nine | JimmyZhuo: with or without RAKUDO_RAKUAST=1? | 12:42 | |
tellable6 | nine, I'll pass your message to JimmyZhuo | ||
[Coke] | SmokeMachine: no worries. *I* was the one who was suggesting it. :) | 12:43 | |
Definitely want the blin runs to be reliable. | |||
12:44
JimmyZhuo joined
|
|||
SmokeMachine | I don’t know if that helps, but I’m sure blin have already run Red… it has even found releases problems while running it more than once… | 12:45 | |
[Coke] | Yes, that was with jdv running it on his box. | ||
afk - will try to get the red failure tracked in the next few days. | 12:47 | ||
I'm sure it's a setup issue on this box. | |||
cheers. | |||
SmokeMachine | Thanks! And I’ll add the missing dependencies on my META6.json as soon as possible | 12:48 | |
JimmyZhuo | nine: main branch with RAKUDO_RAKUAST=1 | 12:55 | |
tellable6 | 2025-03-13T12:42:32Z #raku-dev <nine> JimmyZhuo: with or without RAKUDO_RAKUAST=1? | ||
nine | JimmyZhuo: how did you check? I'm surprised because I'm pretty sure that when I tested it did regress | 12:56 | |
JimmyZhuo | nine: these colabti.org/ircloggy/raku-dev/2025-03-12#l92? | 12:58 | |
nine | probably, yes | 13:00 | |
My usual testing procedure is: make && TEST_JOBS=32 RAKUDO_RAKUAST=1 nice make spectest | grep '\. ok' | sort | tee $(git describe).pure.tests | wc -l | 13:01 | ||
I do that before my change. Then commit my change. Then run again and vimdiff the two resulting .pure.tests files | |||
I hear that you're running tests :D | 13:04 | ||
JimmyZhuo | haha | 13:05 | |
nine: I tried again, it's same 1274 | 13:07 | ||
nine | Ok, then everything is indeed fine :) | 13:08 | |
Geth | rakudo/main: 1d0829631e | (Jimmy Zhuo)++ | src/Raku/ast/scoping.rakumod add redeclaration exception of placeholder parameter |
13:09 | |
rakudo/main: 0ab88eec76 | niner++ (committed using GitHub Web editor) | src/Raku/ast/scoping.rakumod Merge pull request #5812 from zhuomingliang/placeholder add redeclaration exception of placeholder parameter |
|||
jdv | i run blin in the container so if there's an issue its likely in the image, not a local box | 13:18 | |
but iirc Red was never a real issue | |||
JimmyZhuo | RAKUDO_RAKUAST=1 ./rakudo-m -e 'sub foo(int $x = "omg") { }' | 13:40 | |
===SORRY!=== Error while compiling | |||
Default value 'omg' will never bind to a parameter of type int | |||
at line | |||
it's better with rakuast | |||
nine | I hope that there's no spectest requiring us to be worse :) | 13:59 | |
JimmyZhuo | just passed t/spec/S06-signature/optional.t | 14:00 | |
JimmyZhuo can't open github again because of GFW | 14:03 | ||
now it's 1275 | 14:04 | ||
nine | JimmyZhuo++ # yeah! | ||
JimmyZhuo | nine: it is github.com/zhuomingliang/rakudo TypeCheck branch, I can't create the pr, the GFW always blocks github web, which always ERR_CONNECTION_TIMED_OUT | 14:11 | |
Geth | rakudo: zhuomingliang++ created pull request #5814: add X::Parameter::Default::TypeCheck exception to parameters |
14:12 | |
JimmyZhuo | ok now, just open the web | ||
It's hard :) | |||
nine | my $type := $!type.PRODUCE-META-OBJECT; # That's wrong. Should be $!type.meta-object | ||
We really only want to produce that meta-object once. It's then cached. | 14:13 | ||
JimmyZhuo | nine: thanks , force pushed | 14:17 | |
and it's 1276? | |||
Geth | rakudo/main: 9713c41f85 | (Jimmy Zhuo)++ | src/Raku/ast/signature.rakumod add X::Parameter::Default::TypeCheck exception to parameters |
14:18 | |
rakudo/main: 2a6f1822e4 | niner++ (committed using GitHub Web editor) | src/Raku/ast/signature.rakumod Merge pull request #5814 from zhuomingliang/TypeCheck add X::Parameter::Default::TypeCheck exception to parameters |
|||
nine | That was a quick one :) | ||
14:21
JimmyZhuo left
|
|||
Geth | rakudo/main: 9bb1fc7d4e | (Elizabeth Mattijsen)++ | 4 files RakuAST: allow literal expression such as 2³⁺²ⁱ In response to #4465. Felt that the most sense it would make to allow val() based expression in so far the superscript characters allow that (since there is no superscript period or e, this disallows Rats and Nums). ... (7 more lines) |
16:30 | |
nine | Does this ^^^ work in a bootstrapped RakuAST compiler? | 16:34 | |
lizmat | is that merged ? | 16:41 | |
or do I just do: RAKUDO_RAKUAST=1 make install ? | 16:42 | ||
[Coke] | red: gist.githubusercontent.com/coke/9d.../data.json | 16:43 | |
Could not find JSON::Class:ver<0.0.20+> in:\n[Red] | 16:44 | ||
if I do a zef look on Red, I don't see JSON::Class anywhere in that distro. wtf. | 16:46 | ||
nine | Not merged yet. Just run RAKUDO_RAKUAST=1 make in the branch | 16:47 | |
[Coke] | guessing one of the deps uses it but doesn't declare? | 16:50 | |
lizmat | nine: that dies with: | ||
===SORRY!=== Error while compiling /Users/liz/Github/rakudo/tools/build/clean-target-files.raku | |||
A unit-scoped sub definition is not allowed in a subscope; | |||
Please use the block form. | |||
at /Users/liz/Github/rakudo/tools/build/clean-target-files.raku:3 | |||
ah, with make install | 16:51 | ||
didn't try with just "make" just yet | |||
[Coke] | hurm. I see in the dep chain JSON::Class:ver<0.0.20+> - so Red should be able to compile... | 16:52 | |
nine | I have never tried make install with RakuAST | 16:53 | |
[Coke] | JSON::Class – AlwaysFail | 16:55 | |
So not Red's fault, SmokeMachine. :) | 16:56 | ||
SmokeMachine | Oh! Thanks! That’s good to know! Can it be related to existing 2 different JSON::Class modules? | 16:57 | |
[Coke] | Might be nice to do dep analysis on all the AlwaysFails to see which ones are the most productive to fix. | ||
we're going to get whichever one 'zef info' on the dep reports. | 16:58 | ||
Geth | rakudo/main: cbc29eee7d | (Elizabeth Mattijsen)++ | src/core.c/Exception.rakumod Add a tip to MethodNotFound logic for !cursor_start In response to #3025. $ raku -e 'my regex foo {.}; foo "a"' No such method '!cursor_start' for string 'a'. Did you try to call a token / rule / regex directly? in regex foo at -e line 1 I think this case of basically DIHWIDT is covered sufficiently with this. |
16:59 | |
[Coke] | ah. JSON::Class deps on Test::Async which is a hard skip in blin. | 17:00 | |
afk | |||
ugexe | go.dev/blog/osroot would be nice to have | 17:08 | |
"The new os.Root type represents a directory somewhere in the local filesystem ... Root provides methods to operate on files within the root. These methods all accept filenames relative to the root, and disallow any operations that would escape from the root either using relative path components ("..") or symlinks." | 17:10 | ||
lizmat | IO::Root ? | 17:11 | |
and force all abspaths to be starting with the abspath of IO::Root ? | |||
resolved abspaths I mean? | 17:12 | ||
ugexe | not sure, cause it does seem specific to directory but we don't have IO::Dir for instance. really it seems like os.OpenRoot opens a handle to a folder, but that handle has methods for doing things that ensure they do not escape the root | 17:14 | |
lizmat | doesn't look like "openat" is used by libuv | 17:16 | |
linux.die.net/man/2/openat | 17:18 | ||
17:22
librasteve_ left
|
|||
ugexe | not yet at least github.com/libuv/libuv/pull/4434 | 17:26 | |
lizmat | so looks like we would need to look at using that once that'e merged > | 17:29 | |
? | |||
nine: branch builds with "make" for me | |||
[Coke] | Might need a new blin status for skipped-due-to-dependencies | 17:31 | |
nine | lizmat: does the thing you implemented also work? | 17:33 | |
[Coke] | (because I won't remember this in six months when it comes up again) also, removing the hard skip and trying a run for JSON::Class again. | ||
lizmat doublechecks | |||
nine: meanwhile, looks like the unit sub MAIN form is NYI | 17:37 | ||
m: say Q|unit sub MAIN(|);|.AST | |||
camelia | ===SORRY!=== Error while compiling <tmp> Unexpected closing bracket at <tmp>:1 ------> say Q|unit sub MAIN(|<HERE>);|.AST |
||
lizmat | m: say Q/unit sub MAIN(|);/.AST | ||
camelia | ===SORRY!=== Error while compiling /home/camelia/EVAL_0 A unit-scoped sub definition is not allowed in a subscope; Please use the block form. at /home/camelia/EVAL_0:1 ------> unit sub MAIN(|);<HERE><EOL> |
||
17:37
finanalyst joined
|
|||
nine | It is. Skipped that spectest because I was sure this wouldn't get me closer to compiling the setting | 17:37 | |
Also that's probably easy for someone else to implement | 17:38 | ||
lizmat | ok, so I'll work around it for now in that script that "make install" uses ? | ||
nine | Why not just implement that support? | 17:39 | |
lizmat | fair enough :-) | ||
I'll give it a stab, even though RakuAST is not in my current mindset :-) | |||
18:08
finanalyst left
|
|||
lizmat | nine: so I got a StatementList for the unit sub MAIN case, but that somehow needs to be turned into a Block to get it to work | 19:09 | |
do we have an official way to do that? I guess we could thunk the StatementLIst ? | 19:10 | ||
ok. just wrap it in a RakuAST::Blockoid :-) | 19:15 | ||
nine | Probably just the same as with unit scoped packages? | 19:17 | |
lizmat | I think I only need to find out why the unless $*R.outer-scope =:= $*UNIT condition fires | 19:18 | |
I just commented out that bit while getting the rest to work | 19:19 | ||
looks like $*UNIT isn't set ? | 19:23 | ||
which isn't strange, as that doesn't appear to get set anywhere ? | 19:25 | ||
$*OUTER-RESOLVER =:= $*R doesn't cut it | 19:31 | ||
nine | That's a totally different thing | 19:33 | |
lizmat | so what is the RakuAST equivalent of | 19:34 | |
nine | Why don't you check whether outer-scope is a CompUnit? | ||
lizmat | unless $*R.outer-scope =:= $*UNIT { ? | ||
ok, will try that | |||
nine: like this? | 19:38 | ||
unless $*R.outer-scope.HOW.name($*R.outer-scope) eq 'RakuAST::C | |||
ompUnit' { | |||
nine | Didn't we agree that class names never have a use besides printing? | 19:39 | |
lizmat | well, yeah, but how can I get at the RakuAST::CompUnit class in the Grammar ? | ||
nine | self.actions.r('CompUnit') | 19:40 | |
lizmat | aaah... yes, ok, it's coming back to me now :-) | ||
that's what I meant it's not in my current mindset :-) | 19:41 | ||
running spectest now | 19:45 | ||
Geth | rakudo/main: 490a23b0cd | (Elizabeth Mattijsen)++ | 2 files RakuAST: add support for "unit sub MAIN" |
19:51 | |
lizmat | that appears to give us t/spec/S06-other/main-semicolon.t | ||
but indeed, S32num/power.t is failing now, fixing that now | 19:52 | ||
m: dd ⁰⁺¹² # huh? | 19:56 | ||
camelia | 0 | ||
lizmat | what crazy value is that ? | ||
why do we even allow that ? | 19:57 | ||
Geth | roast: 12b4bb8fa3 | (Elizabeth Mattijsen)++ | S32-num/power.t Skip failing test on RakuAST I believe this whole set of tests is bogus, and *all* of the tested sequences should be compilation errors |
20:26 | |
lizmat | 1276 for me, which should mean 1278 for nine | 20:35 | |
afk& | |||
[Coke] | so removing "Test::Async" from the havok set of modules didn't work, presumably because we're missing test-depends when doing the tests. | 20:55 | |
SmokeMachine: I wonder if red used to get tested because JSON::Class didn't always depend on Test::Async | 20:57 | ||
(nope that doesn't seem to be it) | 21:00 | ||
jdv | does red work outside of blin? | ||
21:01
finanalyst joined
|
|||
[Coke] | yup | 21:02 | |
in my blin, it can't find JSON::Class, which in turn can't find Test::Async | 21:03 | ||
I'm trying to at least get JSON::Class working. (and found bin/blin's code that is pulling in test-depends) | |||
ugexe: use Zef::Distribution; my $a = Zef::Distribution.new(name => "JSON::Class"); seems to have an empty test-depends-spec. | 21:08 | ||
ugexe | sure, it doesnt contain any data | 21:11 | |
Zef::Dsitribution.new(name => "JSON::Class") doesnt do anything like query for the module and fill out the meta data | |||
[Coke] | ah | ||
missed a step in bin/blin then, checking... | 21:12 | ||
... weird. on this azure box, I vi output/data.json (blin output), type /JSON::Class and at the C... it hangs. I connected again, it hung in the same place. | 21:35 | ||
22:21
finanalyst left
|
|||
SmokeMachine | Red does not directly depends on JSON::Class… | 22:33 | |
Red test-depends on Test::META and Test::META depends on META6 that depends on JSON::Class… I would expect more modules to depend on that… | 22:42 | ||
[Coke]: ^^ | 22:44 | ||
23:21
kjp left
23:22
kjp joined
23:23
kjp left
23:24
kjp joined
23:39
sena_kun left
|