|
10:35
Ven`` joined
|
|||
| Ven`` | masak: Not sure how long til I've been here, but I have to say, this past month has been amazing with #474 going in | 10:36 | |
| being able to implement `ff`/`fff` as well as `swap`/`++`/`--` is as big a milestone as `is parsed` (or almost ;-).) | |||
| masak | yes, I'm very pleased | 10:38 | |
| still committed to blogging about it, but I'm very slow to do so | |||
| also -- want to point out -- it's only the first half of the lexicality stuff that's actually landed. the second half is slightly gnarlier, and I haven't worked on it enough yet. but the first half was enough to unblock all the above things. | |||
| now gearing up for PerlCon (as evidenced by #481 | 10:39 | ||
| and realizing, by that, that these two things stand out as wanting to work on Real Soon: (a) cheating, (b) regexes | |||
| also also -- `swap`/`++`/`--` are all still technically mis-implemented due to the Single Evaluation Rule thing. | 10:43 | ||
| (dunno if you saw, but I've snuck in documentation for that already, under "Evaluating expressions". it's not up on the site yet, because I'm holding off until I finish all of the Macrology chapter.) | 10:45 | ||
| fleshing out the Macrology chapter has been tough going, but also very useful to get a feel for what 007 is, or wants to be | |||
| SmokeMachine | masak: are you reading my conversation with jnthn on #perl6? have you any idea of how to implement that? | 10:54 | |
| masak: hi! | |||
| masak | SmokeMachine: hi! backlogging. | 10:56 | |
| Ven``: while you're here. do I understand your stance about `return` correctly that you'd be OK with `quasi` binding its own lexical `return`? | 12:22 | ||
| (reason I'm asking is I'm considering it. tempted, but not at all convinced.) | |||
| for example, the implementation in #464 could replace the `last` and the assignment above it with an early `return`, under that semantics. also, the last line could be `return result` instead of just `result` | 12:23 | ||
|
12:38
Ven``` joined
12:40
Ven`` left
|
|||
| Ven``` | masak: last I remember, I wanted `return` to behave dynamically | 12:45 | |
| I'm not sure it can be an early return though, but `if n > 1 { return lag(); }` would :-) | 12:46 | ||
| masak | I'm not sure there's an observable difference between my "`quasi` binding its own lexical `return`" and "`return` behaving dynamically" -- maybe you can point to an observable difference? | 12:48 | |
| Ven``` | Er, I don't actually remember what I argued, but the difference is `macro r { quasi { return; } }; sub f { r(); say 1; }; f();` printing 1 or not | 12:58 | |
| masak | right right | 13:14 | |
| interestingly, since we last spoke, a lot more things in quasis have become "late-bound" | |||
| notably, `BEGIN` statements, and macro calls | 13:15 | ||
| "late" as in "at macro application time" | |||
| we could certainly make `return` fall under that regime as well; that'd grant you your wish | |||
| of course, then we'd have to do the same for `next`/`last`/`redo` for consistency, but I don't see the hard with that | 13:16 | ||
| so, OK. we no longer have a disagreement. I will create an issue detailing this. | |||
| but that doesn't solve the problem of "there's no mechanism to return early (possibly with a value) from a quasi", which is what keeps nagging me all the time | 13:17 | ||
| a *lot* of macro implementations want to do that | |||
| hm, maybe there should be a modifier or something to `quasi` saying "this quasi should bind `return`" | 13:18 | ||
| `quasi func` or something | 13:19 | ||
| Ven``` | That's an interesting thing to think about | 13:59 | |
| I think the common lisp notion of return coul dbe interesting to us here | 14:01 | ||
| i.e. being able to explicitly call `(block ...)` and maybe name them: `(block a (block b (return-from a)))` | 14:02 | ||
.oO( I use clojure at work, but I still have to count my parenthesis manually... ) |
|||
| It pains me, but there's not a day I write Perl 6 where I don't get frustrated with $%@ / flattening / itemization and wish they weren't here :(. | 17:03 | ||
|
17:09
Ven```` joined
17:10
Ven``` left
|
|||
| Ven```` | The containers too. | 17:21 | |
|
17:37
lucasb joined
|
|||
| masak | you once compared Locations to containers. part of me is uneasy about Locations, but unlike containers, they're meant to be compiled away in most cases. | 18:38 | |
|
20:14
Ven````` joined
20:15
Ven```` left
23:19
Ven`````` joined
23:20
Ven````` left
|
|||