Mercurial > urweb
view tests/modules.lac @ 32:0ff8c2728634
Matching values in signatures
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 12 Jun 2008 17:35:51 -0400 |
parents | 1c91c5e6840f |
children | 535c324f0b35 |
line wrap: on
line source
signature A = sig end structure A = struct end structure Ao : A = A structure B = struct type t = int end structure Bo0 : sig end = B structure BoA : A = B signature B1 = sig type t end structure Bo1 : B1 = B (*structure AoB1 : B1 = A*) signature B2 = sig type t = int end structure Bo2 : B2 = B structure C = struct type t = float end structure CoB1 : B1 = C (*structure CoB2 : B2 = C*) signature NAT = sig type t val zero : t end structure Nat : NAT = struct type t = int val zero = 0 end (*structure NotNat : NAT = struct type t = int val zero = 0.0 end*) (*structure NotNat : NAT = struct val zero = 0 end*) signature WOBBLE = sig type t type s end structure Wobble1 = struct type t = int type s = float end structure Wobble2 = struct type s = int type t = float end