Due 1/18/05.
Due 1/27/05.
Due 2/10/05.
t = ref t1
in the proof of 13.5.3.\empty | \Sigma |- t : Ref T
in the proof of 13.5.7.Due 2/24/05.
Due 3/10/05.
M :> I
.
Standard ML also supports this opaque ascription (with the same
notation), but it also has transparent
ascription with the notation M : I
.
The difference is illustrated by the following example.
I = sig type t val x : t end M = struct type t = int val x : t = 0 end M1 = M : I M2 = M :> I M1.t == int M1.x : int M2.t is abstract M2.x : M2.tDescribe a procedure for type checking an ascription of the form
M : I
, and discuss how the procedure
differs from that for checking M :>
I
.
dictFun
(e.g. representing dictionaries as association
lists -- lists of key-value pairs).