Mercurial > urweb
diff lib/top.ur @ 345:b85e6ba56618
Merge CDisjoint and TDisjoint
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 04 Oct 2008 15:50:28 -0400 |
parents | 389399d65331 |
children | 383c72d11db8 |
line wrap: on
line diff
--- a/lib/top.ur Thu Sep 18 15:01:01 2008 -0400 +++ b/lib/top.ur Sat Oct 04 15:50:28 2008 -0400 @@ -22,7 +22,7 @@ fun foldTR (tf :: Type -> Type) (tr :: {Type} -> Type) (f : nm :: Name -> t :: Type -> rest :: {Type} -> [nm] ~ rest - -> tf t -> tr rest -> tr ([nm = t] ++ rest)) + => tf t -> tr rest -> tr ([nm = t] ++ rest)) (i : tr []) = fold [fn r :: {Type} => $(mapTT tf r) -> tr r] (fn (nm :: Name) (t :: Type) (rest :: {Type}) (acc : _ -> tr rest) => @@ -32,7 +32,7 @@ fun foldT2R (tf :: (Type * Type) -> Type) (tr :: {(Type * Type)} -> Type) (f : nm :: Name -> t :: (Type * Type) -> rest :: {(Type * Type)} -> [nm] ~ rest - -> tf t -> tr rest -> tr ([nm = t] ++ rest)) + => tf t -> tr rest -> tr ([nm = t] ++ rest)) (i : tr []) = fold [fn r :: {(Type * Type)} => $(mapT2T tf r) -> tr r] (fn (nm :: Name) (t :: (Type * Type)) (rest :: {(Type * Type)}) (acc : _ -> tr rest) => @@ -42,7 +42,7 @@ fun foldTR2 (tf1 :: Type -> Type) (tf2 :: Type -> Type) (tr :: {Type} -> Type) (f : nm :: Name -> t :: Type -> rest :: {Type} -> [nm] ~ rest - -> tf1 t -> tf2 t -> tr rest -> tr ([nm = t] ++ rest)) + => tf1 t -> tf2 t -> tr rest -> tr ([nm = t] ++ rest)) (i : tr []) = fold [fn r :: {Type} => $(mapTT tf1 r) -> $(mapTT tf2 r) -> tr r] (fn (nm :: Name) (t :: Type) (rest :: {Type}) (acc : _ -> _ -> tr rest) => @@ -52,7 +52,7 @@ fun foldT2R2 (tf1 :: (Type * Type) -> Type) (tf2 :: (Type * Type) -> Type) (tr :: {(Type * Type)} -> Type) (f : nm :: Name -> t :: (Type * Type) -> rest :: {(Type * Type)} -> [nm] ~ rest - -> tf1 t -> tf2 t -> tr rest -> tr ([nm = t] ++ rest)) + => tf1 t -> tf2 t -> tr rest -> tr ([nm = t] ++ rest)) (i : tr []) = fold [fn r :: {(Type * Type)} => $(mapT2T tf1 r) -> $(mapT2T tf2 r) -> tr r] (fn (nm :: Name) (t :: (Type * Type)) (rest :: {(Type * Type)}) (acc : _ -> _ -> tr rest) => @@ -62,7 +62,7 @@ fun foldTRX (tf :: Type -> Type) (ctx :: {Unit}) (f : nm :: Name -> t :: Type -> rest :: {Type} -> [nm] ~ rest - -> tf t -> xml ctx [] []) = + => tf t -> xml ctx [] []) = foldTR [tf] [fn _ => xml ctx [] []] (fn (nm :: Name) (t :: Type) (rest :: {Type}) => [[nm] ~ rest] => @@ -71,7 +71,7 @@ fun foldT2RX (tf :: (Type * Type) -> Type) (ctx :: {Unit}) (f : nm :: Name -> t :: (Type * Type) -> rest :: {(Type * Type)} -> [nm] ~ rest - -> tf t -> xml ctx [] []) = + => tf t -> xml ctx [] []) = foldT2R [tf] [fn _ => xml ctx [] []] (fn (nm :: Name) (t :: (Type * Type)) (rest :: {(Type * Type)}) => [[nm] ~ rest] => @@ -80,7 +80,7 @@ fun foldTRX2 (tf1 :: Type -> Type) (tf2 :: Type -> Type) (ctx :: {Unit}) (f : nm :: Name -> t :: Type -> rest :: {Type} -> [nm] ~ rest - -> tf1 t -> tf2 t -> xml ctx [] []) = + => tf1 t -> tf2 t -> xml ctx [] []) = foldTR2 [tf1] [tf2] [fn _ => xml ctx [] []] (fn (nm :: Name) (t :: Type) (rest :: {Type}) => [[nm] ~ rest] => @@ -89,7 +89,7 @@ fun foldT2RX2 (tf1 :: (Type * Type) -> Type) (tf2 :: (Type * Type) -> Type) (ctx :: {Unit}) (f : nm :: Name -> t :: (Type * Type) -> rest :: {(Type * Type)} -> [nm] ~ rest - -> tf1 t -> tf2 t -> xml ctx [] []) = + => tf1 t -> tf2 t -> xml ctx [] []) = foldT2R2 [tf1] [tf2] [fn _ => xml ctx [] []] (fn (nm :: Name) (t :: (Type * Type)) (rest :: {(Type * Type)}) => [[nm] ~ rest] =>