On Tue, Aug 16, 2016 at 5:11 PM, Zefram <zef...@fysh.org> wrote: > Brandon Allbery via RT wrote: > >I think .VAR can remain visible as long as the Scalar can't escape from > it. > > What would it yield if not the Scalar? That's the essence of .VAR > expressions. To prevent the Scalar escaping, you can't have that > available as an expression type.
If the proxy is itself an immutable type and makes itself visible instead of trying to hide itself like Scalar does, the result *should* be the kind of mutable container you were looking for in the first place. Which is the way mutable containers should be exposed --- not the implementation detail that breaks things. That said, we've been tossing this around in IRC, and the Proxy type (which is not the above hypothetical proxy, but a mechanism for read-write return values) actually introduces the same issues because it allows you to make something mutable that normally isn't. So there is still a general problem here. (ps lizmat: I'm geekosaur :) -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net