🦋 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.
ab5tract So today I was once again reminded of how awkward it is to declare subsets for non-required attributes and named arguments (which are supposed to be optional unless specified otherwise) 19:16
I don’t have a solid view of how to fix this, but I know it has frustrated more people than just myself
Geth rakudo/rakuast-phase-cleanup: 43 commits pushed by (Jonathan Worthington)++, (Stefan Seifert)++
review: github.com/rakudo/rakudo/compare/0...1fd270ca20
20:00
nine Only t/12-rakuast/origins.rakutest remaining to be fixed.
ab5tract Nice! 20:01
nine This rebase push ^^^ kinda hides one of the more interesting commits: github.com/rakudo/rakudo/commit/a1...70b3196c15
This gets rid of something that I have never liked since I introduced it: that role bodies got parsed and generated as Blocks which then got morphed into Subs. 20:02
lizmat interesting... 20:06
ah, a sub with benefits :-) 20:07
nine Apparently that origin test is just bogus. 20:16
In `say "line ", ($line = 2)` it tries to locate-node the node at the position of the $line = 2 expression. It expects to get a RakuAST::Statement::Expression which is indeed what's inside those parens. But the comment above the locate-node method says "Find the narrowest key origin node for an original position". While there is a statement there, an ApplyInfix expression is covering the whole statement. 20:18
Indeed, we do now get that ApplyInfix, making the test fail. But from my reading it's just a wrong expectation there.
vrurg_: can you confirm?
vrurg_ Unfortunately, I can't. It was too long ago, I don't remember the details. 20:20
nine Does my analysis at least make sense? 20:21
What is a "key origin node" even? 20:22
vrurg_ It's the one which is reported in messages. If an expressions spans across several lines then the key node origin will be reported.
nine Ha! The test is indeed wrong. The reason it fails now is my fix for origins of infix expressions: github.com/rakudo/rakudo/commit/20...e914ebeafd 20:30
Geth rakudo/rakuast-phase-cleanup: 10 commits pushed by (Stefan Seifert)++
review: github.com/rakudo/rakudo/compare/a...2788b331ba
20:33
nine With this rakuast-phase-cleanup is strictly better than main :) Will give it a last look-over tomorrow and then merge 20:34
lizmat whee! 20:46
ab5tract Exciting times :D 21:36