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:52 ilbot3 joined 05:00 masak joined 14:19 Ven joined
Guest12884 masak: sorry! I'm still on holidays. Not much data to use 14:38
Ven`` I will say, however: I don't believe in "least surprise" or anything like that :)
I think there is something to be said about lexicality/sub-lexicality and hygiene 14:39
if you make the case for `return` returning out of the macro itself, you could *maybe* go on a slippery slope and make a case for exceptions 14:40
(they use the call stack, which is dynamic, but from the macro's invocant, which is not hygienic) 14:41
masak no need to apologize for being on holiday. ;) I'm sorry I'm not able to review your PR more promptly. 18:26
I confess to not knowing what "sub-lexical" means.
(but I was thinking about `is parsed` today and needing to serve two masters in terms of lexical OUTER. I think the boring-but-sane thing might be something like `is parsed(sub (G) { return / ... <G.ident> ... / })`, or, sugared, `is parsed(-> G / ... <G.ident> .../)` -- anything more clever would be playing with fire) 18:28
I *do* make the case for `return` returning out of the macro itself. that's the current default behavior. 18:29
but it's a fairly useless default, since we know from basic facts about timing that a `return` would never *constructively* exit the macro 18:30
I'm making the case for `return` to refer to the surrounding injection, which would still be lexical in a curiously sideways way 18:31
"injection-lexical" 18:32
19:33 cognominal joined 22:18 cognominal joined 23:56 masak joined