🦋 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:00
reportable6 left
00:01
reportable6 joined
00:16
discord-raku-bot left
00:17
discord-raku-bot joined
01:16
discord-raku-bot left
01:17
discord-raku-bot joined
02:17
discord-raku-bot left,
discord-raku-bot joined
02:23
epony joined
03:17
discord-raku-bot left,
discord-raku-bot joined
04:18
Xliff left
05:18
linkable6 left,
evalable6 left
05:19
evalable6 joined
05:20
linkable6 joined
06:00
reportable6 left
06:01
reportable6 joined
06:21
heartburn left
06:22
heartburn joined
07:07
samcv_ joined,
Voldenet_ joined
07:14
JRaspass left,
samcv left,
|Tux| left,
Voldenet left,
elcaro left,
Voldenet_ is now known as Voldenet
07:17
elcaro joined
07:21
|Tux| joined
07:22
JRaspass joined
07:39
epony left
08:17
discord-raku-bot left,
discord-raku-bot joined
08:44
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: a8edae2c21 | (Stefan Seifert)++ | src/Raku/ast/package.rakumod RakuAST: make $?CLASS and ::?CLASS available to role bodies at compile time While runtime lookup of these type captures already worked, the compiler itself wasn't aware of their existence. |
09:43 | |||||||||||||||||||||||||||||||||||||
rakudo/main: 79075ad208 | (Stefan Seifert)++ | 2 files RakuAST: fix applying roles defined in the same comp unit Role bodies are run when a role is applied, i.e. at the target's BEGIN time. Thus the mainpulations of the body's block QAST done in IMPL-EXPR-QAST were simply too late. They had not happened yet and the role body had the wrong return value. Instead, mainpulate the role body's AST so when we compile it dynamically (as a BEGIN effect) we will generate the QAST we need. |
|||||||||||||||||||||||||||||||||||||||
rakudo/main: c1c6ef26e4 | (Stefan Seifert)++ | src/Raku/ast/signature.rakumod RakuAST: fix inconsistent bind results with generics in signatures While the routine's meta data was already set up correctly, the generated parameter type checks did not support generics and instead tried to match types directly. This would fail which caused an inconsistent bind result (binder thought the signature will match, but runtime checks failed). Instead of checking against the generic's type object itself, we need to generate a runtime lookup of the generic's name, to get the type it was specialized to. |
|||||||||||||||||||||||||||||||||||||||
09:55
evalable6 left
09:57
evalable6 joined
10:15
Xliff joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | P6-GLib suite timing statistics for Raku 2022.12.1024.g.9998.d.1338 | 10:16 | |||||||||||||||||||||||||||||||||||||
Total number of projects: 33 (502749 loc) | |||||||||||||||||||||||||||||||||||||||
Total non-parallel compile times: 8758.230 (265.401 avg) | |||||||||||||||||||||||||||||||||||||||
Total parallel compile times: 2098.439 (63.589 avg) 4.174x speedup | |||||||||||||||||||||||||||||||||||||||
Notes: MAJOR regression on parallel timings by almost 500 seconds! | |||||||||||||||||||||||||||||||||||||||
10:17
Xliff left
10:35
epony joined
11:49
discord-raku-bot left,
discord-raku-bot joined
11:52
Xliff joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | Hi! Is there a writeup of the available RakuAST nodes, yet? | 11:53 | |||||||||||||||||||||||||||||||||||||
11:57
discord-raku-bot left
11:58
discord-raku-bot joined
12:00
reportable6 left
12:03
reportable6 joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Xliff: no, sadly, high on my list | 12:39 | |||||||||||||||||||||||||||||||||||||
closest thing: t/12-rakuast test files | 12:40 | ||||||||||||||||||||||||||||||||||||||
Xliff | lizmat: One sec. | 12:47 | |||||||||||||||||||||||||||||||||||||
lizmat | Xliff: re regression, any idea since what commit / release ? | 12:49 | |||||||||||||||||||||||||||||||||||||
Xliff | gist.github.com/Xliff/b4741a42ab83...f3e9b79528 | 12:50 | |||||||||||||||||||||||||||||||||||||
lizmat | going to be afk for a few hours& | ||||||||||||||||||||||||||||||||||||||
Xliff | lizmat: Let me check. | ||||||||||||||||||||||||||||||||||||||
lizmat | afk& | ||||||||||||||||||||||||||||||||||||||
Xliff | lizmat: Since Raku 2022.12.985.g.05.cfed.1.b.0 on MoarVM 2022.12.14.gebefe.2618 | 12:51 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: a99da6c162 | (Stefan Seifert)++ | src/Raku/ast/resolver.rakumod RakuAST: fix multi-part-name package installation with existing prefix In role A::B { }; role A::B::C { } we overwrote the A::B role with a package stub, because when looking for the longest existing prefix of A::B::C we were looking for another A in A. Additionally even with that fixed, with role A::B {}; role A::B::C::D {} we actually only created A::B::D since we didn't put the C we failed to find back into the list of unresolved package name parts. |
13:10 | |||||||||||||||||||||||||||||||||||||
rakudo/main: 75b4f5b2cd | (Stefan Seifert)++ | 4 files RakuAST: implement support for INIT phasers Instead of an !INIT_VALUES hash in the comp unit like the old compiler frontend, the RakuAST frontend simply creates a Scalar container for each init value and uses this for storing and accessing the value. |
|||||||||||||||||||||||||||||||||||||||
rakudo/main: a564ff379b | (Stefan Seifert)++ | 2 files RakuAST: fix replacing package stub with multi-part name In class A::B { ... }; class A::B { }; we need to replace the last symbol in the package chain. This means that partially-resolve-name-constant will actually resolve the full name and the list of remaining unresolved parts is empty. |
|||||||||||||||||||||||||||||||||||||||
13:53
dogbert11 left
13:57
dogbert11 joined
14:17
discord-raku-bot left
14:18
discord-raku-bot joined
14:30
dogbert11 left
14:50
dogbert11 joined
15:06
discord-raku-bot left,
discord-raku-bot joined
15:16
NemokoschKiwi joined
15:44
guifa_ joined
15:46
guifa left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: ee983161d1 | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod RakuAST: Support hypering of array indexing |
16:00 | |||||||||||||||||||||||||||||||||||||
rakudo/main: 84fe050327 | (Stefan Seifert)++ | 3 files RakuAST: fix placeholder param decls clashing with explicit *%_ and *@_ A %_ in a code block without signature automatically declares a placeholder parameter. However if the block has a signature and %_ is already declared, we should just reference that. Otherwise we end up declaring the same symbol twice. Same for @_. |
|||||||||||||||||||||||||||||||||||||||
16:02
dogbert17 joined
16:04
dogbert11 left
|
|||||||||||||||||||||||||||||||||||||||
nine | > RAKUDO_RAKUAST=1 ./rakudo-m -Ilib -e 'INIT if True { }' | 16:08 | |||||||||||||||||||||||||||||||||||||
When invoking 1 '', provided outer frame 0x3846be0 (2 '<unit>') does not match expected static frame 0x3846ce0 (3 '') | |||||||||||||||||||||||||||||||||||||||
Oh boy.... | |||||||||||||||||||||||||||||||||||||||
lizmat | is the -Ilib needed ? | 16:32 | |||||||||||||||||||||||||||||||||||||
16:40
discord-raku-bot left,
discord-raku-bot joined
|
|||||||||||||||||||||||||||||||||||||||
nine | no | 16:44 | |||||||||||||||||||||||||||||||||||||
[Tux] |
|
16:51 | |||||||||||||||||||||||||||||||||||||
Xliff | What's the proper parameter target when the parameter is a literal value? | 16:55 | |||||||||||||||||||||||||||||||||||||
Rather, the proper RakuAST Node | |||||||||||||||||||||||||||||||||||||||
So, I'm trying to create the RakuAST for: method a("me") { ... } | 16:56 | ||||||||||||||||||||||||||||||||||||||
nine | Ah, I see the problem. We add the QAST for that if statement twice. Once as declaration and once as immediate block. I should actually call the declared block instead. | ||||||||||||||||||||||||||||||||||||||
joelle | I screwed up - I was trying to clone the rakudo repo and I think I accidentally cloned it into the raku-community-modules org. 😦 I'm not a github expert, so I don't want to risk deleting the wrong thing, but I could probably use help to clean up my mess! | 17:10 | |||||||||||||||||||||||||||||||||||||
lizmat | did you push? | 17:11 | |||||||||||||||||||||||||||||||||||||
joelle | I cloned it in the github interface | 17:12 | |||||||||||||||||||||||||||||||||||||
I.E. github.com/raku-community-modules/rakudo | 17:13 | ||||||||||||||||||||||||||||||||||||||
And by clone, I meant fork. :/ | 17:15 | ||||||||||||||||||||||||||||||||||||||
17:17
discord-raku-bot left,
discord-raku-bot joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | then we just remove the fork ? | 17:20 | |||||||||||||||||||||||||||||||||||||
fork removed | 17:21 | ||||||||||||||||||||||||||||||||||||||
joelle | Thanks! | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: a67c859846 | (Stefan Seifert)++ | src/Raku/ast/statementprefixes.rakumod RakuAST: fix INIT phasers as statement prefix INIT phasers must not be thunky. Otherwise we end up creating a declaration block, but copying the statement QAST to the bind op instead of generating a call. Fixes "When invoking 1 '', provided outer frame 0x3846be0 (2 '<unit>') does not match expected static frame 0x3846ce0 (3 '')" when trying: INIT if True { } |
17:26 | |||||||||||||||||||||||||||||||||||||
nine | And with this the Telemetry module compiles! | ||||||||||||||||||||||||||||||||||||||
lizmat | Xliff: that commit only added RakuAST tests ? | 17:29 | |||||||||||||||||||||||||||||||||||||
Xliff | lizmat: The version hash I listed earlier is the earliest hash for the regression. Not the commit itself. | 17:30 | |||||||||||||||||||||||||||||||||||||
lizmat | so the regression is *before* that is what you're saying | 17:32 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: jmaslak++ created pull request #5163: Trivial filename correction in comment |
17:33 | |||||||||||||||||||||||||||||||||||||
lizmat | perhaps 0baf2c0e4e453ca2c5e75cb5c7b22d4b6a72b298 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 169eb58c61 | (Joelle Maslak)++ (committed using GitHub Web editor) | src/Perl6/Optimizer.nqp Trivial filename correction in comment (#5163) |
||||||||||||||||||||||||||||||||||||||
lizmat | Xliff: or ffc9fc74094778a6e0b115d84c8d8078276cf57d | 17:35 | |||||||||||||||||||||||||||||||||||||
17:35
linkable6 left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Xliff: could you try reverting that locally and see if it makes a difference? | 17:35 | |||||||||||||||||||||||||||||||||||||
assuming you're using race/hyper in your parallel compilation ? | |||||||||||||||||||||||||||||||||||||||
17:38
linkable6 joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | nine++ 627 / 1355 passing ! | 17:38 | |||||||||||||||||||||||||||||||||||||
Xliff | lizmat: No. Regression is *after* the listed version | 17:39 | |||||||||||||||||||||||||||||||||||||
RakuAST Node Directory = gist.github.com/Xliff/b4741a42ab83...f3e9b79528 | 17:41 | ||||||||||||||||||||||||||||||||||||||
lizmat | Xliff: weird, I only see RakuAST work *after* that commit :-( | 17:45 | |||||||||||||||||||||||||||||||||||||
Xliff | lizmat: OK. I'll chalk it up to environment. I'll try and run it again, tonight and see if I can replicate. | 17:53 | |||||||||||||||||||||||||||||||||||||
Thanks. | |||||||||||||||||||||||||||||||||||||||
lizmat | Xliff: those suggestions where *before* the commit you mentioned, so don't bother (I think) | 17:54 | |||||||||||||||||||||||||||||||||||||
18:00
reportable6 left
18:02
raku-discord joined,
reportable6 joined,
raku-discord left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: say Q| sub foo (42) { } |.AST.DEPARSE # looks like there is some additional constraint somewhere | 18:10 | |||||||||||||||||||||||||||||||||||||
camelia | sub foo (Int) { } |
||||||||||||||||||||||||||||||||||||||
18:11
squashable6 left
18:12
squashable6 joined
18:16
codesections joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | lizmat: Maybe a type object with a default value? | 18:26 | |||||||||||||||||||||||||||||||||||||
18:33
NemokoschKiwi left
|
|||||||||||||||||||||||||||||||||||||||
Xliff | m: use experimental :rakuast; RakuAST::Parameter.new( value => 42 ).DEPARSE.say | 18:39 | |||||||||||||||||||||||||||||||||||||
camelia | |||||||||||||||||||||||||||||||||||||||
Xliff | Hmmm... Shouldn't that just return 42? | ||||||||||||||||||||||||||||||||||||||
Nemokosch | not sure but still doesn't look right | 18:40 | |||||||||||||||||||||||||||||||||||||
Xliff | That's the only way I can see to do a Parameter literal in RakuAST | 18:42 | |||||||||||||||||||||||||||||||||||||
Maybe missing a node? | |||||||||||||||||||||||||||||||||||||||
m: use experimental :rakuast; my $m = RakuAST::Parameter.lolokup('^DEPARSE'); $m.file.say; $m.line.say | 18:43 | ||||||||||||||||||||||||||||||||||||||
camelia | No such method 'lolokup' for invocant of type 'RakuAST::Parameter' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Xliff | m: use experimental :rakuast; my $m = RakuAST::Parameter.lookup('^DEPARSE'); $m.file.say; $m.line.say | ||||||||||||||||||||||||||||||||||||||
camelia | No such method 'lookup' for invocant of type 'RakuAST::Parameter' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Xliff | m: use experimental :rakuast; my $m = RakuAST::Parameter.^lookup('^DEPARSE'); $m.file.say; $m.line.say | ||||||||||||||||||||||||||||||||||||||
camelia | No such method 'file' for invocant of type 'Mu' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Xliff | m: use experimental :rakuast; my $m = RakuAST::Parameter.^lookup('DEPARSE'); $m.file.say; $m.line.say | ||||||||||||||||||||||||||||||||||||||
camelia | src/Raku/ast/base.rakumod 293 |
||||||||||||||||||||||||||||||||||||||
Xliff | m: use experimental :rakuast; my $m = RakuAST::Parameter.^lookup('deparse'); $m.file.say; $m.line.say | 18:44 | |||||||||||||||||||||||||||||||||||||
camelia | No such method 'file' for invocant of type 'Mu' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Nemokosch | woah, I never knew the position in the source is exposed this simply | ||||||||||||||||||||||||||||||||||||||
Xliff | Yup | ||||||||||||||||||||||||||||||||||||||
lizmat | Xliff: won't have time to look at RakuAST::Parameter, but it looks like there's a *lot* missing in the deparsing | 19:39 | |||||||||||||||||||||||||||||||||||||
hope I will have time before tomorrow, otherwise it'll be after tomorrow's weekly | |||||||||||||||||||||||||||||||||||||||
19:47
discord-raku-bot left
|
|||||||||||||||||||||||||||||||||||||||
Xliff | lizmat: Fair enough | 19:52 | |||||||||||||||||||||||||||||||||||||
I would try and make RakuAST::Parameter work with just the $!value, but I can't find our how it deparses. | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: usev6++ created pull request #5164: [JVM] Add support for $?UNICODE-VERSION |
19:53 | |||||||||||||||||||||||||||||||||||||
19:53
raku-discord joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | How DO RakuAST Nodes know how to deparse? | 19:55 | |||||||||||||||||||||||||||||||||||||
raku-discord | <5Nemokosch> by liz telling them to well moment | 20:08 | |||||||||||||||||||||||||||||||||||||
<5Nemokosch> github.com/rakudo/rakudo/blob/main...eparse.pm6 | 20:09 | ||||||||||||||||||||||||||||||||||||||
<5Nemokosch> there is this file, for one | |||||||||||||||||||||||||||||||||||||||
20:13
raku-discord left,
discord-raku-bot joined
20:21
squashable6 left
20:22
squashable6 joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | Nemokosch: OK, so it looks like what I need is here... | 20:28 | |||||||||||||||||||||||||||||||||||||
tellable6 | Xliff, I'll pass your message to Nemokosch | ||||||||||||||||||||||||||||||||||||||
Xliff | github.com/rakudo/rakudo/blob/main...e.pm6#L574 | ||||||||||||||||||||||||||||||||||||||
Nemokosch | nice 👀 | 20:29 | |||||||||||||||||||||||||||||||||||||
Xliff | And unfortunately, I see no emission of a where clause, or a default spec, or RakuAST::Parameter!value | ||||||||||||||||||||||||||||||||||||||
Nemokosch | could be NYI | 20:31 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 2e20149ab6 | (Stefan Seifert)++ | 2 files RakuAST: fix ::{$foo} indirect lookups ::<whatever> is also just a PseudoStash accessor, so we treat it as that and not try to resolve an empty name. |
20:33 | |||||||||||||||||||||||||||||||||||||
rakudo/main: 49facdc03c | (Christian Bartolomäus)++ | src/vm/jvm/runtime/org/raku/rakudo/Binder.java [JVM] Fix defaults for typed optional @/% params This intends to port 7148da1c61 to the JVM backend. Please note the workaround for handling @deprecation during compilation of settings. I'm not really sure why this is needed, but I think that the problem arises from "sub DYNAMIC" having @deprecation as an optional parameter in src/core.c/stubs.pm6. For some reasons the check for gcx.Positional fails in that situation. My wild and vague guess would be that the check happens too early and some important pieces are still missing. |
20:36 | ||||||||||||||||||||||||||||||||||||||
20:58
sena_kun left
21:07
Geth left,
Geth joined,
Geth left
21:08
Geth joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 882d6a48b9 | (Stefan Seifert)++ | src/Raku/ast/code.rakumod RakuAST: Actually run FIRST phasers |
21:41 | |||||||||||||||||||||||||||||||||||||
nine | lizmat: ^^^ | ||||||||||||||||||||||||||||||||||||||
Was rather easy after implementing INIT phasers today :) | 21:42 | ||||||||||||||||||||||||||||||||||||||
22:07
Geth left
22:08
Geth joined
22:12
Geth left,
Geth joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | infra/list-cloudflare-admins: 47cb6483a1 | (Coleman McFarland)++ | tools/list-cloudflare-users Add script to list users and roles in Cloudflare |
22:19 | |||||||||||||||||||||||||||||||||||||
infra: dontlaugh++ created pull request #18: Add script to list users and roles in Cloudflare |
22:20 | ||||||||||||||||||||||||||||||||||||||
22:20
Xliff left
|
|||||||||||||||||||||||||||||||||||||||
Nemokosch | this is still traced apparently | 22:20 | |||||||||||||||||||||||||||||||||||||
Geth | ¦ Color: 2colours self-assigned clamping on colors should be done when the values are asked github.com/raku-community-modules/...r/issues/9 | 22:37 | |||||||||||||||||||||||||||||||||||||
23:30
epony left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: ac282b4fb1 | (Elizabeth Mattijsen)++ | t/12-rakuast/statement-phaser.rakutest Untodo now passing tests, nine++ |
23:51 |