view tests/cancel.ur @ 1964:072656016dfa

Add another simple case for record unification between alpha-equivalent constructors
author Adam Chlipala <adam@chlipala.net>
date Wed, 29 Jan 2014 18:19:25 -0500
parents dfb38a333816
children
line wrap: on
line source
type t = {A : int, B : float, C : string}
type u = {A : int, C : string, D : bool}

fun f (x : t) = x
fun g (x : u) = f x

fun h [ts] [ts ~ [A]] (r : $([A = int] ++ ts)) : $([A = int, B = float] ++ ts) = r