tyil I know I can do MyGrammar.parse($str, :actions => MyActions), but can I do something like my $results = MyGrammar.parse($str), and call the actions class manually at a later point? 03:36
lucs Not really, since the action methods are called during the parse itself. 03:41
Unless I misunderstand what you're trying to do?
tyil I wanted to delay the action part 03:43
(just to see if I could, really)
lucs Well I guess you could instantiate the action class and call its methods on some Match objects you happen to have around. 03:44
Not sure how useful that would be though. 03:45
tyil I tried calling TOP with the full match object, but that didn't let me access .made since it doesn't return the match object 03:46
lucs tyil: gist.github.com/lucs/b36066f1ade14...af6bd97e36 03:56
tyil oh, maybe it didn't work for me because TOP is using .made from other methods 04:02
lucs I think the made part is associated to the match instance, so not sure how what you said could happen. 04:07
tyil: Did you figure it out? 04:31
tyil no, I've concluded for now that I can't delay it easily with this grammar, but perhaps I'll take a closer look when it's not 6:30 in the morning :p 04:32
lucs :) 04:33
vrurg tyil: feels to me as if you want to build AST with the action class and process it later. 05:58
it's 2am here and time to bed... :)
tyil vrurg: I have a module to do dice rolls, and I was looking for possible solutions to keep it from killing my irc bot when people asked for a couple billion dicerolls 06:15
one possible solution was to just count how many matches I got before trying to calculate them all
tyil (calculation is done in the actions class) 06:16
for now, I've just added a counter inside the action class, and have it throw an exception if it goes over some limit
nine tyil: if you wanted to call actions manually, you'd have to do it in the same order the grammar does: bottom up, i.e. traverse the match tree to the leafs, then call the action methods on your way up. 07:40
lizmat Files=1306, Tests=111378, 213 wallclock secs (28.87 usr 8.23 sys + 2999.83 cusr 267.48 csys = 3304.41 CPU) 10:28
Geth_ rakudo: 98dec90df8 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6
Modernize R:It.NextNValues

  - use fewer nqp ops
  - one less scalar allocation per instance
  - apply contract that it should not be called again after an IterationEnd
  - add push-all for those cases where a .STORE is done, e.g. @a = Seq.head(5)
11:36
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Modernize R:It.NextNValues 12:33
travis-ci.org/rakudo/rakudo/builds/695642828 github.com/rakudo/rakudo/compare/a...dec90df8b6
nine Ah, cache invalidation, my old friend. 12:35
MAST::Frames cache their index in the comp unit's frames array. That's why my attempts at getting rid of a workaround in compile_in_context where thwarted for so long. 12:36
But with that sorted out, the compiler's backend now takes care of its own nested compilation requirements without the user needing to know. Closing in on something that I actually want to push :) 12:37
lizmat ++nine++ :-) 12:42
timotimo whoa. 12:51
Geth_ nqp/master: 6 commits pushed by (Stefan Seifert)++ 14:55
rakudo: 792a0f0072 | (Stefan Seifert)++ | lib/NativeCall.rakumod
Simplify NativeCall's !compile-function-body

When I wrote it I didn't realize that compile has a :from argument. Simplify by using $compiler.compile(:from<optimize>) which makes it a better example to cargo cult a lower level compiler call.
Geth_ nqp: be58f8095c | (Stefan Seifert)++ | 2 files
Add a nested compiler's load_dependency_tasks to the outer compiler's

If a nested compilation creates code objects that should make it into the precompilation file, we also need to add its load_dependency_tasks, as those are responsible for establishing the outer lexical scope (e.g. the setting). Otherwise we will end up with errors like trying to call a VMNull.
15:28
nqp: f18e017903 | (Stefan Seifert)++ | 4 files
Add frames created by a nested compiler to the outer comp unit

This makes subs and other code objects compiled in a nested compiler available to the outer compiler, so they can e.g. be written to a precomp file. Fixes e.g. calling a sub that was created by a BEGIN time EVAL.
rakudo: 537f887703 | (Stefan Seifert)++ | 5 files
Fix code objects created BEGIN time EVAL getting lost in precompilation

This is a follow up to the actual fixes in NQP to add frames created by a nested compiler (e.g. BEGIN time EVAL, traits or role bodies) to the outer compilation unit, so they make it into a precomp file.
This also replaces the need for backend specific mast_frames argument with more generic handling by the backend itself.
15:29
rakudo: 169f63d90f | (Stefan Seifert)++ | src/Perl6/World.nqp
Make $_ available to BEGIN time compiled frames

This is just a band aid for the workaround to our architectural issues.
travis-ci NQP build failed. Stefan Seifert 'Add frames created by a nested compiler to the outer comp unit 15:45
travis-ci.com/Raku/nqp/builds/170156280 github.com/Raku/nqp/compare/cc3224...8e017903f8
[Coke] MoarVM panic: Internal error: invalid thread ID 26232528 in GC work pass 15:46
(on that build failure) 15:47
travis-ci Rakudo build failed. Stefan Seifert 'Simplify NativeCall's !compile-function-body 15:54
travis-ci.org/rakudo/rakudo/builds/695694115 github.com/rakudo/rakudo/compare/9...2a0f0072e4
MasterDuke [Coke]: that's most likely because of my moarvm pr merged yesterday. been trying to debug it 15:55
travis-ci Rakudo build failed. Stefan Seifert 'Make $_ available to BEGIN time compiled frames 16:43
travis-ci.org/rakudo/rakudo/builds/695702610 github.com/rakudo/rakudo/compare/7...9f63d90fd9
Geth_ rakudo: 0a84aa7f60 | (Elizabeth Mattijsen)++ | src/core.c/Match.pm6
Rework some Match internal methods

  - remove all !MATCH- methods except !MATCH-CAPTURES
  - move all of the important conditions into MATCH
  - prevent re-calculation of the internal captures object
  - makes a typical .comb(Regex) about 20% faster
  - probably has positive effects in lots of other places
19:16
lizmat afk& 19:18
timotimo 20% faster <3 21:14
Geth_ rakudo/rakuast: 558885283c | (Jonathan Worthington)++ | src/Raku/Grammar.nqp
Add infixstopper to RakuAST grammar
22:05