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

Reply via email to