[clean-list] Re: relationship between uniqueness types
and single-threaded lambda calculus?
lethevert
acatofearlgrey at ybb.ne.jp
Tue Jun 5 02:02:49 MEST 2007
Hello,
The relationship between uniqueness and #! is explained at the section 9.4
'Uniqueness and Sharing' in the Language Report. To be honest, I don't
understand the rules fully because those are very complicated.
Within my understanding, the following cases cannot capture a reference:
the expression is either
- a basic type
- type 'a' while the unique type is 'T (... a ...)'
In this case, the unique type must be allowed coercing to non-uniqueness.
The issue is explained at the subsection 9.4.2 'Uniqueness Type Coercions.'
It is said that there is a contravariance rule for a function type and
it implies that a unique abstract type is not allowed non-uniqueness coercion.
--
lethevert
lethevert at users.sourceforge.net
More information about the clean-list
mailing list