(defstruct (s 'a) ( field : (unboxed 'a) )) (define some-instance (mutable (unboxed (s 3:int))))

the 'some-instance' binding is not bound to an instance of a value type,
and is therefore assigned a dummy type. This type is immediately unified
with the type (s int), whereupon 'some-instance' is effectively made
monomorphic.


A small clarification: In ML terminology, I believe that the above paragraph should be read as:


the 'some-instance' binding is not bound to an instance of a value type,
and is therefore assigned a MONOMORPHIC type (ex: '_a of Ocaml). This type is immediately unified with the type (s int), whereupon 'some-instance' is effectively given a CONCRETE type (that CANNOT further be morphed).


I think everybody understands the idea, and I am only clarifying terminology here. In SML giving 'some-instance' a 'dummy' type means that it is given a useless CONCRETE type (rather than a monomorphic type) that CANNOT unify with any other type.

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

Reply via email to