view tests/eargs.ur @ 1968:2c075e875a47

Fix a subtle renaming problem in elaborating functor applications
author Adam Chlipala <adam@chlipala.net>
date Fri, 14 Feb 2014 15:11:22 -0500
parents 71bafe66dbe1
children
line wrap: on
line source
val id1 = fn n : int => n
val id2 = fn n => id1 n

val pair1 = fn (t1 ::: Type) (t2 ::: Type) (x1 : t1) (x2 : t2) => (x1, x2)
val pair2 = fn (t1 ::: Type) (t2 ::: Type) (x1 : t1) (x2 : t2) () => pair1 x1 x2

val id3 n = id2 n
val id4 n : int = id3 n
val id5 (n : int) = id4 n
val id6 (n : int) : int = id5 n

val id1 (t ::: Type) (x : t) = x
val id2 (t ::: Type) (x : t) : t = id1 x