[00:04] *** lucasb left [00:24] *** AlexDaniel left [00:25] *** AlexDaniel joined [00:25] *** AlexDaniel left [00:25] *** AlexDaniel joined [01:55] *** mst left [03:36] 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:41] Not really, since the action methods are called during the parse itself. [03:41] Unless I misunderstand what you're trying to do? [03:43] I wanted to delay the action part [03:43] (just to see if I could, really) [03:44] Well I guess you could instantiate the action class and call its methods on some Match objects you happen to have around. [03:45] Not sure how useful that would be though. [03:46] 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:56] tyil: https://gist.github.com/lucs/b36066f1ade144767d9050af6bd97e36 [04:02] oh, maybe it didn't work for me because TOP is using .made from other methods [04:07] I think the made part is associated to the match instance, so not sure how what you said could happen. [04:31] tyil: Did you figure it out? [04:32] 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:33] :) [05:37] *** evalable6 left [05:37] *** linkable6 left [05:39] *** evalable6 joined [05:39] *** linkable6 joined [05:58] 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... :) [06:15] 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 [06:16] (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 [07:40] 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. [08:34] *** sena_kun joined [08:35] *** finsternis left [09:24] *** Kaiepi left [09:25] *** leont joined [09:25] *** Kaiepi joined [09:35] *** Altai-man_ joined [09:38] *** sena_kun left [10:28] Files=1306, Tests=111378, 213 wallclock secs (28.87 usr 8.23 sys + 2999.83 cusr 267.48 csys = 3304.41 CPU) [11:36] ¦ rakudo: 98dec90df8 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6 [11:36] ¦ rakudo: Modernize R:It.NextNValues [11:36] ¦ rakudo: [11:36] ¦ rakudo: - use fewer nqp ops [11:36] ¦ rakudo: - one less scalar allocation per instance [11:36] ¦ rakudo: - apply contract that it should not be called again after an IterationEnd [11:36] ¦ rakudo: - add push-all for those cases where a .STORE is done, e.g. @a = Seq.head(5) [11:36] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/98dec90df8 [11:36] *** sena_kun joined [11:38] *** Altai-man_ left [11:57] *** ShimmerFairy joined [12:33] *** travis-ci joined [12:33] Rakudo build failed. Elizabeth Mattijsen 'Modernize R:It.NextNValues [12:33] https://travis-ci.org/rakudo/rakudo/builds/695642828 https://github.com/rakudo/rakudo/compare/a9796fe5a437...98dec90df8b6 [12:33] *** travis-ci left [12:35] Ah, cache invalidation, my old friend. [12:36] 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:37] 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:42] ++nine++ :-) [12:51] whoa. [13:35] *** Altai-man_ joined [13:38] *** sena_kun left [14:55] ¦ nqp/master: 6 commits pushed by (Stefan Seifert)++ [14:55] ¦ nqp/master: 91997deebf | Make HLL::Compiler.execute_stage easier to call from Raku [14:55] ¦ nqp/master: 5b027d585a | Remove debugging aid from MoarVM::Callsites blocking re-use of frames [14:55] ¦ nqp/master: bce7763221 | Give NQPClassHOW a submethod_table method for better compatibility [14:55] ¦ nqp/master: dfa39de4b2 | Remove unused argument $value from cuid [14:55] ¦ nqp/master: 369005b698 | Dump a QAST::Block's name, too for easier debugging [14:55] ¦ nqp/master: cc3224321b | MoarVM: Allow for explicitly marking the mainline_frame in the bytecode [14:55] ¦ nqp/master: review: https://github.com/Raku/nqp/compare/3d7a9860469c...cc3224321bca [14:55] ¦ rakudo: 792a0f0072 | (Stefan Seifert)++ | lib/NativeCall.rakumod [14:55] ¦ rakudo: Simplify NativeCall's !compile-function-body [14:55] ¦ rakudo: [14:55] ¦ rakudo: When I wrote it I didn't realize that compile has a :from argument. [14:55] ¦ rakudo: Simplify by using $compiler.compile(:from) which makes it a better [14:55] ¦ rakudo: example to cargo cult a lower level compiler call. [14:55] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/792a0f0072 [15:19] *** lucasb joined [15:28] ¦ nqp: be58f8095c | (Stefan Seifert)++ | 2 files [15:28] ¦ nqp: Add a nested compiler's load_dependency_tasks to the outer compiler's [15:28] ¦ nqp: [15:28] ¦ nqp: If a nested compilation creates code objects that should make it into the [15:28] ¦ nqp: precompilation file, we also need to add its load_dependency_tasks, as those [15:28] ¦ nqp: are responsible for establishing the outer lexical scope (e.g. the setting). [15:28] ¦ nqp: Otherwise we will end up with errors like trying to call a VMNull. [15:28] ¦ nqp: review: https://github.com/Raku/nqp/commit/be58f8095c [15:28] ¦ nqp: f18e017903 | (Stefan Seifert)++ | 4 files [15:28] ¦ nqp: Add frames created by a nested compiler to the outer comp unit [15:28] ¦ nqp: [15:28] ¦ nqp: This makes subs and other code objects compiled in a nested compiler available [15:28] ¦ nqp: to the outer compiler, so they can e.g. be written to a precomp file. Fixes [15:28] ¦ nqp: e.g. calling a sub that was created by a BEGIN time EVAL. [15:28] ¦ nqp: review: https://github.com/Raku/nqp/commit/f18e017903 [15:29] ¦ rakudo: 537f887703 | (Stefan Seifert)++ | 5 files [15:29] ¦ rakudo: Fix code objects created BEGIN time EVAL getting lost in precompilation [15:29] ¦ rakudo: [15:29] ¦ rakudo: This is a follow up to the actual fixes in NQP to add frames created by a [15:29] ¦ rakudo: nested compiler (e.g. BEGIN time EVAL, traits or role bodies) to the outer [15:29] ¦ rakudo: compilation unit, so they make it into a precomp file. [15:29] ¦ rakudo: [15:29] ¦ rakudo: This also replaces the need for backend specific mast_frames argument with [15:29] ¦ rakudo: more generic handling by the backend itself. [15:29] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/537f887703 [15:29] ¦ rakudo: 169f63d90f | (Stefan Seifert)++ | src/Perl6/World.nqp [15:29] ¦ rakudo: Make $_ available to BEGIN time compiled frames [15:29] ¦ rakudo: [15:29] ¦ rakudo: This is just a band aid for the workaround to our architectural issues. [15:29] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/169f63d90f [15:36] *** sena_kun joined [15:38] *** Altai-man_ left [15:45] *** travis-ci joined [15:45] NQP build failed. Stefan Seifert 'Add frames created by a nested compiler to the outer comp unit [15:45] https://travis-ci.com/Raku/nqp/builds/170156280 https://github.com/Raku/nqp/compare/cc3224321bca...f18e017903f8 [15:45] *** travis-ci left [15:46] <[Coke]> MoarVM panic: Internal error: invalid thread ID 26232528 in GC work pass [15:47] <[Coke]> (on that build failure) [15:54] *** travis-ci joined [15:54] Rakudo build failed. Stefan Seifert 'Simplify NativeCall's !compile-function-body [15:54] https://travis-ci.org/rakudo/rakudo/builds/695694115 https://github.com/rakudo/rakudo/compare/98dec90df8b6...792a0f0072e4 [15:54] *** travis-ci left [15:55] [Coke]: that's most likely because of my moarvm pr merged yesterday. been trying to debug it [16:43] *** travis-ci joined [16:43] Rakudo build failed. Stefan Seifert 'Make $_ available to BEGIN time compiled frames [16:43] https://travis-ci.org/rakudo/rakudo/builds/695702610 https://github.com/rakudo/rakudo/compare/792a0f0072e4...169f63d90fd9 [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 [19:16] ¦ rakudo: 0a84aa7f60 | (Elizabeth Mattijsen)++ | src/core.c/Match.pm6 [19:16] ¦ rakudo: Rework some Match internal methods [19:16] ¦ rakudo: [19:16] ¦ rakudo: - remove all !MATCH- methods except !MATCH-CAPTURES [19:16] ¦ rakudo: - move all of the important conditions into MATCH [19:17] ¦ rakudo: - prevent re-calculation of the internal captures object [19:17] ¦ rakudo: - makes a typical .comb(Regex) about 20% faster [19:17] ¦ rakudo: - probably has positive effects in lots of other places [19:17] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/0a84aa7f60 [19:18] afk& [19:19] *** mst joined [19:21] *** lichtkind joined [19:36] *** sena_kun joined [19:38] *** Altai-man_ left [20:07] *** Kaiepi left [20:07] *** Kaiepi joined [20:16] *** leont_ joined [20:19] *** lichtkind_ joined [20:21] *** leont left [20:21] *** lichtkind left [21:14] 20% faster <3 [21:17] *** lucasb left [21:35] *** Altai-man_ joined [21:38] *** sena_kun left [21:53] *** cognominal left [21:53] *** rypervenche left [21:54] *** cognominal joined [21:54] *** rypervenche joined [21:54] *** MasterDuke left [21:54] *** rypervenche left [21:54] *** MasterDuke joined [21:55] *** vrurg left [21:55] *** [Coke] left [21:55] *** vrurg joined [21:55] *** [Coke] joined [21:55] *** AlexDaniel` left [21:56] *** AlexDaniel` joined [21:56] *** rypervenche joined [21:57] *** [Tux] left [21:57] *** [TuxCM] left [21:57] *** tailgate left [21:58] *** [Tux] joined [21:58] *** [TuxCM] joined [21:58] *** tailgate joined [21:58] *** nebuchadnezzar left [21:58] *** TimToady left [21:58] *** b2gills left [21:58] *** nine left [21:58] *** jdv79 left [21:59] *** nebuchadnezzar joined [21:59] *** TimToady joined [21:59] *** b2gills joined [21:59] *** nine joined [21:59] *** jdv79 joined [21:59] *** unclechu left [22:00] *** AlexDaniel` left [22:05] ¦ rakudo/rakuast: 558885283c | (Jonathan Worthington)++ | src/Raku/Grammar.nqp [22:05] ¦ rakudo/rakuast: Add infixstopper to RakuAST grammar [22:05] ¦ rakudo/rakuast: review: https://github.com/rakudo/rakudo/commit/558885283c [22:10] *** AlexDaniel left [22:13] *** AlexDaniel` joined [22:28] *** AlexDaniel joined [22:28] *** AlexDaniel left [22:28] *** AlexDaniel joined [22:35] *** unclechu joined [23:10] *** lichtkind_ left [23:35] *** leont_ left [23:36] *** sena_kun joined [23:37] *** Altai-man_ left