view tests/sig_impl.ur @ 320:132416711463

Expand scope of base type conversion coalesce optimizations
author Adam Chlipala <adamc@hcoop.net>
date Thu, 11 Sep 2008 11:53:33 -0400
parents 71bafe66dbe1
children
line wrap: on
line source
signature S = sig
        type t
        val x : t
end

structure M : S = struct
        val x = 0
end

signature S = sig
        con r :: {Type}
        val x : $r
end

structure M : S = struct
        val x = {A = 0, B = "Hi"}
end

signature S = sig
        type t
        con r :: {Type}
        val x : t -> $r
end

structure M : S = struct
        val x = fn v : int => {A = 0, B = "Hi"}
end

signature S = sig
        con nm :: Name
        con t :: Type
        con r :: {Type}
        val x : $([nm = t] ++ r)
end

structure M : S = struct
        val x = {A = 0, B = "Hi"}
end

signature S = sig
        con nm :: Name
        con r :: {Type}
        val x : $([nm = int] ++ r)
end

structure M : S = struct
        val x = {A = 0, B = "Hi"}
end

signature S = sig
        con nm :: Name
        con r :: {Type}
        val x : $([nm = string] ++ r)
end

structure M : S = struct
        val x = {A = 0, B = "Hi"}
end