view tests/datatypeMod.ur @ 904:6d9538ce94d8

Fix type class resolution infinite loop, discovered while meeting with Ezra
author Adam Chlipala <adamc@hcoop.net>
date Thu, 06 Aug 2009 15:23:04 -0400
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>