🦋 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: c08ebbee27 | (Elizabeth Mattijsen)++ | src/Raku/ast/operator-properties.rakumod
Make sure "sub-precedence" is produced in legacy %prec
08:36
rakudo/main: 960a40ddc2 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: Raku version of NQP expression parser

Since the NQP expression parser in HLL::Grammar is using the %prec hashes, and we want to get rid of that for performance and maintainability reasons, the Raku grammar will need to have its own.
This is the first step: apart from kebabcasing and some readability fixes, nothing was changed in the actual expresision parser yet. But we're one step closer to not inheriting from HLL::Grammar now.
rakudo/main: abc13a3cac | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: change reducecheck to specific ternary handling

Not sure exactly how I'm going to handle ternaries in the OperatorProperties case yet, but this is a first step towards being more clear about this rather than burying it in some obscure general feature that only appears to be used in one situation in the Raku grammar.
09:12
Geth rakudo/main: f723f72c20 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: create some raku interface methods for cursors

Instead of directly referring to NQP's private methods. The idea is that this will allow for easier debugging, documentation and maybe open up possibilities for refinement / optimization.
More to come, but pushing for better bisectability now, as this is very central to the Raku Programming Language and mistakes are easily made.
10:38
Geth rakudo/main: d86cc550dc | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: remove premature optimization

To improve readability. Also leave non-functioning code in there until it's figured out why that doesn't work.
11:38
rakudo/main: 6574c0e4cd | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: remove dead code

The ":actions" named argument is ignored by NQP's !cursor_init, so there's no point passing it. This also allows fetching the actions later, only when it is really needed.
Geth rakudo/main: cc19095ebb | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: move cursor helper methods to Raku::Common

  - because we need them in regex grammars as well
  - add .lang-cursor(-at) methods to create cursor in given language
   from the current origin / pos / shared settings to improve DRyness
   and have less "magic" incantations in the grammar.
12:24
rakudo/main: 1c47bb2681 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: introduce helper method set-pos and typed-sorry-at

To aid in readabilty
12:51
rakudo/main: 056bf03fd0 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: streamline whitespace handling

The NQP !fresh_highexpect method would reset the @!highexpect attribute, but would *also* return the previous state. However, in the Raku case, nothing was being done with the previous state.
So introduce a 'reset-expectations' method that would just reset the @!highexpect attribute. And use that.
13:28
rakudo/main: 3ed02c34e6 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: reuse expectations list

instead of creating a new one every time. Should help a bit in memory churn.
13:45
japhb Go lizmat go! 13:47
ab5tract lizmat++ 16:38
okay, this is driving me crazy. currently I can't get the implicit invocant in mixed in role signatures to match the class they are mixing into 16:40
ab5tract lizmat: do you know where roles get applied to packages these days? there used to be traits passed to the constructor, but that doesn't seem to be the case any more 18:11
lizmat ab5tract: sorry, no, not off the top of my head 18:12
vrurg might know
Geth rakudo/main: 1a33df1757 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: add .pass-at-current

Optimised version of original !cursor_pass call.
19:07
Geth rakudo/main: 646d548e56 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: turn !locprepost into proper .preprost method

To make it more generally useful
19:44
rakudo/main: a0936a7e3a | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: streamline check-variable a bit

  - better variable names
  - no unnecessary checks
Still wonder whether the handling for meta ops here shouldn't really be part of the actions.
20:08
lizmat and that concludes my hacking for today&
Geth rakudo: ab5tract++ created pull request #5371:
RakuAST: Set yada on low-level Method object
23:40