adamc@78: signature S = sig adamc@78: type t adamc@78: val x : t adamc@78: end adamc@78: adamc@78: structure M : S = struct adamc@78: val x = 0 adamc@78: end adamc@78: adamc@78: signature S = sig adamc@78: con r :: {Type} adamc@78: val x : $r adamc@78: end adamc@78: adamc@78: structure M : S = struct adamc@78: val x = {A = 0, B = "Hi"} adamc@78: end adamc@78: adamc@78: signature S = sig adamc@78: type t adamc@78: con r :: {Type} adamc@78: val x : t -> $r adamc@78: end adamc@78: adamc@78: structure M : S = struct adamc@78: val x = fn v : int => {A = 0, B = "Hi"} adamc@78: end adamc@79: adamc@79: signature S = sig adamc@79: con nm :: Name adamc@79: con t :: Type adamc@79: con r :: {Type} adamc@79: val x : $([nm = t] ++ r) adamc@79: end adamc@79: adamc@79: structure M : S = struct adamc@79: val x = {A = 0, B = "Hi"} adamc@79: end adamc@79: adamc@79: signature S = sig adamc@79: con nm :: Name adamc@79: con r :: {Type} adamc@79: val x : $([nm = int] ++ r) adamc@79: end adamc@79: adamc@79: structure M : S = struct adamc@79: val x = {A = 0, B = "Hi"} adamc@79: end adamc@79: adamc@79: signature S = sig adamc@79: con nm :: Name adamc@79: con r :: {Type} adamc@79: val x : $([nm = string] ++ r) adamc@79: end adamc@79: adamc@79: structure M : S = struct adamc@79: val x = {A = 0, B = "Hi"} adamc@79: end