view tests/datatypeMod.ur @ 1886:b7cd3c7c7edd

Interpret 'table' signature items more flexibly, automatically adding (Ur) constraints to support a kind of subtyping over (SQL) constraint sets
author Adam Chlipala <adam@chlipala.net>
date Mon, 04 Nov 2013 15:14:23 -0500
parents 71bafe66dbe1
children
line wrap: on
line source
structure M : sig datatype t = A | B end = struct
        datatype t = A | B
end

val ac = M.A

datatype u = datatype M.t

val ac : M.t = A
val a2 : u = ac

structure M2 = M
structure M3 : sig datatype t = datatype M.t end = M2
structure M4 : sig datatype t = datatype M.t end = M

val bc : M3.t = M4.B

structure Ma : sig type t end = M

structure Magain : sig datatype t = A | B end = M

val page : M.t -> page = fn x => <html><body>
        Hi.
</body></html>

val main : unit -> page = fn () => <html><body>
        <a link={page a2}>Link</a>
</body></html>