diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-02-26 16:16:54 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-02-26 16:16:54 -0500 |
commit | 5dc500861e6f121d392ffa842e4836077eba3f50 (patch) | |
tree | 986072376068c16f878d6702faa48b50dbd85f92 /lib/ur/top.urs | |
parent | 23aa77db7c855ac272614cbd3d527dd945b04cfa (diff) |
Kind-polymorphic [fst] and friends
Diffstat (limited to 'lib/ur/top.urs')
-rw-r--r-- | lib/ur/top.urs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/ur/top.urs b/lib/ur/top.urs index 65da4a07..583b025f 100644 --- a/lib/ur/top.urs +++ b/lib/ur/top.urs @@ -23,11 +23,11 @@ val not : bool -> bool con idT = fn t :: Type => t con record = fn t :: {Type} => $t -con fstTT = fn t :: (Type * Type) => t.1 -con sndTT = fn t :: (Type * Type) => t.2 -con fstTTT = fn t :: (Type * Type * Type) => t.1 -con sndTTT = fn t :: (Type * Type * Type) => t.2 -con thdTTT = fn t :: (Type * Type * Type) => t.3 +con fst = K1 ==> K2 ==> fn t :: (K1 * K2) => t.1 +con snd = K1 ==> K2 ==> fn t :: (K1 * K2) => t.2 +con fst3 = K1 ==> K2 ==> K3 ==> fn t :: (K1 * K2 * K3) => t.1 +con snd3 = K1 ==> K2 ==> K3 ==> fn t :: (K1 * K2 * K3) => t.2 +con thd3 = K1 ==> K2 ==> K3 ==> fn t :: (K1 * K2 * K3) => t.3 con mapUT = fn f :: Type => map (fn _ :: Unit => f) |