Uniqueness annotations

John van Groningen johnvg@cs.kun.nl
Tue, 2 Mar 1999 17:59:49 +0100


Rolf-Thomas Happe wrote:
>My non-authoritative understanding is that clm does the best it can
>for the stuff local to a module, but that you have to make the uniqueness
>attributes explicit in the dcl file in order to export this information,
>as in
>
>      next_random_list :: !(!RNG_State -> *(.b, RNG_State)
>                          ) !Int !RNG_State -> *(*[.b], RNG_State)

Uniqueness attributes are handled in the same way for local functions as for=
 exported functions. In both cases the uniqueness attributes have to be=
 written explicitly when a type is specified. If no type is specified, the=
 compiler will derive the necessary attributes.

John van Groningen