Mercurial > urweb
view tests/sig_impl.ur @ 1824:216e92b39fc1
Paranoid inlining prevention for FFI types at the Core level; less paranoid inlining promotion for passive values at the Mono level
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 19 Sep 2012 18:01:22 -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