Mercurial > urweb
view tests/sig_impl.ur @ 2084:0d48cfb59b29
More aggressive inlining of 'let' with record literals, plus some changes to Monoization of queries, to make inlining more common
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 04 Dec 2014 02:47:24 -0500 |
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