🦋 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.
Geth__ rakudo/main: 458c0fc30e | (Stefan Seifert)++ | 2 files
RakuAST: fix role groups not knowing their full name
06:28
Geth__ rakudo/main: 03db26142c | (Stefan Seifert)++ | src/Raku/ast/type.rakumod
RakuAST: make subset's stashes now their full name, too
06:49
Geth__ rakudo/main: ed7aca5f9b | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod
RakuAST: enable currying of postfix expressions
10:41
lizmat nine: I just noticed that rule package_def does have a enter/leave-package-scope, but only a leave-block-scope and no enter-block-scope 13:04
that feels... odd ?
ah, maybe enter-block-scope is misnamed and it should be called enter-callable-block-scope 13:06
still, that looks like package_def *is* doing a $*R.leave-scope(); but not a $*R.enter-scope(); 13:07
nine It's just well hidden. I think I came across the same a week or two ago 13:08
lizmat hmmm.. not in the Actions, and not in the Grammar afaics 13:10
and not in /ast either 13:11
whee.... just noticed: 750! 13:40
anyways, package_def not calling enter-block-scope explained to me why the declarator doc on packages didn't work yet :-) 13:42
nine lizmat: if we do more leave-scopes than enter-scopes, why doesn't it break? After all scopes are a stack stored in a VMArray and leave-scope pops from that array and calls a method on the returned value 13:47
lizmat indeed... 13:48
it's just that it isn't clear from the code, and I prefer it to be clear from the code :-)
nine lizmat: see src/Raku/ast/package.rakumod:226 13:50
lizmat ack, thanks *phew* 13:52
hmmm... looks like the default type of a Parameter is codegenned as a lexical Any, rather than as a SETTING::<Any> 14:27
vrurg lizmat: it's a common issue in the legacy grammar. I even had plans of reviewing the lookups. 14:52
lizmat m: my constant Any = Int; sub a($) { dd }; a "foo" # indeed 14:54
camelia ===SORRY!=== Error while compiling <tmp>
Calling a(Str) will never work with declared signature (Int)
at <tmp>:1
------> my constant Any = Int; sub a($) { dd }; ⏏a "foo" # indeed
nine It's quite hard to say where it is on purpose that basic types can be overridden lexically and where it is incidental. 15:10
lizmat m: my constant Any = Int; sub a(Any $) { dd }; a "foo" # this should refer to the lexical Any 15:11
camelia ===SORRY!=== Error while compiling <tmp>
Calling a(Str) will never work with declared signature (Int)
at <tmp>:1
------> onstant Any = Int; sub a(Any $) { dd }; ⏏a "foo" # this should refer to the le
lizmat so the error is correct 15:12
m: my constant Any = Int; sub a($) { dd }; a "foo" # without an explicit mention, it should be the SETTING::<Any> I think
camelia ===SORRY!=== Error while compiling <tmp>
Calling a(Str) will never work with declared signature (Int)
at <tmp>:1
------> my constant Any = Int; sub a($) { dd }; ⏏a "foo" # without an explicit mention
Geth rakudo/main: ae5c20fa40 | (Stefan Seifert)++ | 2 files
RakuAST: fix WhateverCode currying of postfixes on parenthesised expressions

Fixes e.g. (*²)² where the curried expression is contained in parentheses.
18:38
rakudo/main: fd8d76e3aa | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod
RakuAST: support currying of prefix operations
19:36
nine LOL... you spend days and tons of brane on getting a single test file just a little closer to passing. And then there's a literal no brainer copy and paste job like ^^^ which gains us 11 (!) more passing files. 19:37
lizmat 761 confirmed! 20:38
MasterDuke lizmat: did you catch my last privmsg? 22:23