|
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
02:24
ilbot3 joined
|
|||
| masak | Ven``: trying again. available. | 11:25 | |
| (in the weekends I typically have a window between 13-17 or so where the little one is sleeping and I can do 007 stuff) | 11:31 | ||
| Ven`` | masak: trying again as well, then - I was eating | 11:52 | |
| masak | here. :) | 12:57 | |
| I was doing the 007 refactor. | |||
| this refactor is fun -- feels like folding a sock into itself | |||
| I was teaching Python this Thursday/Friday. made me file github.com/masak/007/issues/244 just now | 12:58 | ||
| Ven`` | yes, I saw it go through | 13:06 | |
| masak attempts to asset-capture Val::Exception | 13:08 | ||
| Ven``: re `return` and its semantics in `quasi`: I actually don't have a horse in that race | |||
| Ven``: I just fear people are gonna try it, expecting it to have my proposed semantics | |||
| Ven``: I can see the use case behind your proposed semantics too, but I don't see why `return` should be unhygienic by default, when the prior art in Perl 6 is that it's hygienic | 13:09 | ||
| Ven``: oh! here's maybe a way to think about it. in Perl 6, `return $x` works as if it were a function `return($x)` secretly defined by the innermost surrounding Routine | 13:12 | ||
| Ven``: yadda yadda yadda, the lookup semantics of `return` reduces to that of lexical variables | |||
| Ven`` | Perl 6 takes a route explicitly different from most other languages where theres a peg to put leave and return on | 13:13 | |
| masak | I'm listening | 13:14 | |
| (speaking of pegs, I really should do something about github.com/masak/007/issues/173 ) | 13:17 | ||
| Ven`` | had to re-read it all. I forgot that mostly | 13:39 | |
| I mean having blocks being actual object, which you can return/leave/... from pretty much at any point | |||
| mh, I'm still unsure about how I feel for an "infix:<+>" parameter. But I guess there's no reason it shouldn't work? | 13:40 | ||
| basically #173 is about making these legit "first class" | 13:41 | ||
| wrt return: | |||
| I think the mean issue is that `return` leaves from a sub, not from a block. | |||
| "quasi { return; say 1; }" not printing anything would make sense if quasis always generated subs, or if return left blocks | 13:42 | ||
| if we get Perl6's leave, then it should definitely exit from the quasi block | 13:43 | ||
| return is very explicitly about subs. | |||
| masak | little one woke up; will backlong and reply properly later | 13:59 | |
| at this point, though: I do see your point about a quasi block being a block rather than a sub. point taken. | |||
|
18:23
Ven`` joined
|
|||
| masak | I guess some of the curent uncertainty (for me, at least) comes down to "are quasis/injections proper *blocks*, or are they *routines*?" | 20:01 | |
| (and I agree that in the absence of evidence to the contrary, they do appear to be just blocks) | 20:02 | ||
| masak sleeps | 20:16 | ||
| Ven`` | They really don't look like subs to me | 20:33 | |