00:04 lucasb left 00:24 AlexDaniel left 00:25 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 01:55 mst left
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
05:37 evalable6 left, linkable6 left 05:39 evalable6 joined, linkable6 joined
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
06:15 Kaiepi joined
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
08:34 sena_kun joined 08:35 finsternis left 09:24 Kaiepi left 09:25 leont joined, Kaiepi joined 09:35 Altai-man_ joined 09:38 sena_kun left
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 sena_kun joined 11:38 Altai-man_ left 11:57 ShimmerFairy joined 12:33 travis-ci joined
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
12:33 travis-ci left
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
13:35 Altai-man_ joined 13:38 sena_kun left
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.
15:19 lucasb joined
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.
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.
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.
15:36 sena_kun joined 15:38 Altai-man_ left 15:45 travis-ci joined
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
15:45 travis-ci left
[Coke] MoarVM panic: Internal error: invalid thread ID 26232528 in GC work pass 15:46
(on that build failure) 15:47
15:54 travis-ci joined
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
15:54 travis-ci left
MasterDuke [Coke]: that's most likely because of my moarvm pr merged yesterday. been trying to debug it 15:55
16:43 travis-ci joined
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
16:43 travis-ci left 16:54 mst joined 17:35 Altai-man_ joined 17:38 sena_kun left 17:41 finsternis joined 19:15 mst left
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
lizmat afk& 19:18
19:19 mst joined 19:21 lichtkind joined 19:36 sena_kun joined 19:38 Altai-man_ left 20:07 Kaiepi left, Kaiepi joined 20:16 leont_ joined 20:19 lichtkind_ joined 20:21 leont left, lichtkind left
timotimo 20% faster <3 21:14
21:17 lucasb left 21:35 Altai-man_ joined 21:38 sena_kun left 21:53 cognominal left, rypervenche left 21:54 cognominal joined, rypervenche joined, MasterDuke left, rypervenche left, MasterDuke joined 21:55 vrurg left, [Coke] left, vrurg joined, [Coke] joined, AlexDaniel` left 21:56 AlexDaniel` joined, rypervenche joined 21:57 [Tux] left, [TuxCM] left, tailgate left 21:58 [Tux] joined, [TuxCM] joined, tailgate joined, nebuchadnezzar left, TimToady left, b2gills left, nine left, jdv79 left 21:59 nebuchadnezzar joined, TimToady joined, b2gills joined, nine joined, jdv79 joined, unclechu left 22:00 AlexDaniel` left
Geth_ rakudo/rakuast: 558885283c | (Jonathan Worthington)++ | src/Raku/Grammar.nqp
Add infixstopper to RakuAST grammar
22:10 AlexDaniel left 22:13 AlexDaniel` joined 22:28 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 22:35 unclechu joined 23:10 lichtkind_ left 23:35 leont_ left 23:36 sena_kun joined 23:37 Altai-man_ left