On Tue, 2005-02-15 at 23:45 -0500, Swaroop Sridhar wrote:

> There is some kind of term rotation:
> box, the type constructor --> ref
> box, the value constructor --> dup
> ref --> stack-ref
> unbox without copy --> dref

I initially came up with a similar list, but it isn't just term
rotation.

First, unbox should never have had copy. unbox == dref.

Second, dup() only accepts unboxed things. This restriction does not
apply to box()

Yes, ref() is now stack-ref. This is because I am trying to distinguish
cleanly between reference types, and we realized today that ref could
induce closure conversion. This leads me to the conclusion that ref is
the underlying mechanism of *all* closure capture, and the more
specialized form of stack reference should be the one that gets the more
specialized name.

The key change, I think, is the type restrictions on REF and UNREF.

shap

_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to