[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