Mercurial > urweb
diff lib/ur/top.urs @ 898:d1d0b18afd3d
Working on Grid; have gone from one dynamic table bizareness to another
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 19 Jul 2009 17:45:02 -0400 |
parents | 87a7702d681d |
children | 7a4b026e45dd |
line wrap: on
line diff
--- a/lib/ur/top.urs Sat Jul 18 15:08:21 2009 -0400 +++ b/lib/ur/top.urs Sun Jul 19 17:45:02 2009 -0400 @@ -21,7 +21,7 @@ val not : bool -> bool -con idT = fn t :: Type => t +con id = K ==> fn t :: K => t con record = fn t :: {Type} => $t con fst = K1 ==> K2 ==> fn t :: (K1 * K2) => t.1 con snd = K1 ==> K2 ==> fn t :: (K1 * K2) => t.2 @@ -45,6 +45,13 @@ val txt : t ::: Type -> ctx ::: {Unit} -> use ::: {Type} -> show t -> t -> xml ctx use [] +val mp : K --> tf1 :: (K -> Type) -> tf2 :: (K -> Type) + -> (t ::: K -> tf1 t -> tf2 t) + -> r :: {K} -> folder r -> $(map tf1 r) -> $(map tf2 r) +val map2 : K1 --> K2 --> tf1 :: (K1 -> Type) -> tf2 :: (K2 -> Type) -> tf :: (K1 -> K2) + -> (t ::: K1 -> tf1 t -> tf2 (tf t)) + -> r :: {K1} -> folder r -> $(map tf1 r) -> $(map tf2 (map tf r)) + val foldUR : tf :: Type -> tr :: ({Unit} -> Type) -> (nm :: Name -> rest :: {Unit} -> [[nm] ~ rest] =>