🦋 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:02 reportable6 joined 00:49 MasterDuke left 00:59 djinni`_ left 01:10 jgaz joined 01:16 djinni` joined 02:16 linkable6 left, evalable6 left 02:18 evalable6 joined 02:19 linkable6 joined 03:14 Geth left, Geth joined 03:16 nebuchadnezzar left, nebuchadnezzar joined 04:55 [Coke] left 04:57 [Coke] joined 05:01 squashable6 left 05:02 squashable6 joined 06:00 reportable6 left 06:01 reportable6 joined 07:20 squashable6 left 07:22 squashable6 joined 08:13 sena_kun joined 08:26 squashable6 left 08:29 squashable6 joined
Geth rakudo/main: c08ebbee27 | (Elizabeth Mattijsen)++ | src/Raku/ast/operator-properties.rakumod
Make sure "sub-precedence" is produced in legacy %prec
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.
10:10 linkable6 left, evalable6 left 10:12 linkable6 joined, evalable6 joined
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.
11:12 evalable6 left, linkable6 left 11:13 linkable6 joined 11:14 evalable6 joined
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.
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.
12:00 reportable6 left 12:01 reportable6 joined
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.
rakudo/main: 1c47bb2681 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: introduce helper method set-pos and typed-sorry-at

To aid in readabilty
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.
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.
japhb Go lizmat go! 13:47
13:58 evalable6 left, linkable6 left, linkable6 joined 14:00 evalable6 joined
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
16:54 linkable6 left, evalable6 left 16:55 linkable6 joined 16:58 evalable6 joined 17:58 reportable6 left, linkable6 left, unicodable6 left, coverable6 left, notable6 left, committable6 left, greppable6 left, bloatable6 left, bisectable6 left, statisfiable6 left, sourceable6 left, tellable6 left, evalable6 left, nativecallable6 left, quotable6 left, squashable6 left, benchable6 left, shareable6 left, releasable6 left, committable6 joined, bloatable6 joined, notable6 joined 17:59 coverable6 joined, benchable6 joined, unicodable6 joined, bisectable6 joined, tellable6 joined, greppable6 joined, squashable6 joined 18:00 shareable6 joined, quotable6 joined, sourceable6 joined, nativecallable6 joined, releasable6 joined, evalable6 joined, linkable6 joined 18:01 statisfiable6 joined, reportable6 joined
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
19:01 linkable6 left, evalable6 left, linkable6 joined 19:02 evalable6 joined
Geth rakudo/main: 1a33df1757 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: add .pass-at-current

Optimised version of original !cursor_pass call.
19:18 discord-raku-bot joined 19:22 timo left 19:27 timo joined 19:30 discord-raku-bot left 19:31 discord-raku-bot joined
Geth rakudo/main: 646d548e56 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: turn !locprepost into proper .preprost method

To make it more generally useful
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.
lizmat and that concludes my hacking for today&
21:20 timo left 21:26 timo joined 22:40 tellable6 left, bloatable6 left, evalable6 left, coverable6 left, notable6 left, squashable6 left, benchable6 left, linkable6 left, statisfiable6 left, unicodable6 left, releasable6 left, reportable6 left, shareable6 left, nativecallable6 left, bisectable6 left, quotable6 left, committable6 left, greppable6 left, sourceable6 left 22:41 greppable6 joined, evalable6 joined, reportable6 joined, coverable6 joined, quotable6 joined, benchable6 joined, statisfiable6 joined, tellable6 joined 22:42 nativecallable6 joined, notable6 joined, unicodable6 joined, releasable6 joined, committable6 joined, bloatable6 joined, sourceable6 joined 22:43 squashable6 joined, shareable6 joined, bisectable6 joined, linkable6 joined 23:17 dogbert11 joined 23:20 dogbert17 left 23:23 sena_kun left
Geth rakudo: ab5tract++ created pull request #5371:
RakuAST: Set yada on low-level Method object