6macros: discussing the finer points of Perl 6 macros, Qtrees, and how to stay sane | irclog: irclog.perlgeek.de/6macros/today
Set by moderator on 28 July 2015.
01:27 FROGGS_ joined 01:48 ilbot3 joined 18:41 vendethiel- joined 21:15 raiph joined
raiph carl says: "don't run any side effects until you're sure you're in the right rule." 21:21
---> carl moves a `:my $*insub = True;` line
21:21 cognominal joined
raiph .oO( aha, so is that another reason why Larry chose `:my ...` syntax -- to be strangely consistent with `:` (NYI) cut operator? ) 21:22
masak raiph: it's the <.newpad> after it that's the side effect 21:23
as of e2dd3e66d0ac59d0af57e33ccc6d4a44aaf8d81b, it now comes *after* the '(', which in the case of method prop rules is the "signal" that we're in a method prop rule and not an identifier prop rule
raiph: the rule *used* to say "read an identifier, create a new pad, then read an opening paren" 21:24
raiph: it now says "read an identifier, read an opening paren, then create a new pad"
now factor backtracking into those sequences and you see why it matters :) 21:25
raiph the regex engine will backtrack for you but doesn't undo side effects
masak not this one, no
raiph does 007 have the equivalent of Rakudo's World? 21:26
masak no; and strangely that has never occurred to me 21:27
it only has static lexpads right now
raiph I know I ought read the docs. I've read the readme of course. :)
Larry could presumably rapid fire some rules of thumb for addressing "don't run any side effects until you're sure you're in the right rule." in P6 grammar/actions code 21:33