diff lib/ur/monad.urs @ 1313:0bf73c3e4563

Monad.appR3
author Adam Chlipala <adam@chlipala.net>
date Tue, 19 Oct 2010 15:26:12 -0400
parents 726f0caeea3f
children a613cae954ca
line wrap: on
line diff
--- a/lib/ur/monad.urs	Tue Oct 19 11:51:53 2010 -0400
+++ b/lib/ur/monad.urs	Tue Oct 19 15:26:12 2010 -0400
@@ -70,3 +70,8 @@
              -> tf1 :: (K -> Type) -> tf2 :: (K -> Type)
              -> (nm :: Name -> t :: K -> tf1 t -> tf2 t -> m unit)
              -> r ::: {K} -> folder r -> $(map tf1 r) -> $(map tf2 r) -> m unit
+
+val appR3 : K --> m ::: (Type -> Type) -> monad m
+             -> tf1 :: (K -> Type) -> tf2 :: (K -> Type) -> tf3 :: (K -> Type)
+             -> (nm :: Name -> t :: K -> tf1 t -> tf2 t -> tf3 t -> m unit)
+             -> r ::: {K} -> folder r -> $(map tf1 r) -> $(map tf2 r) -> $(map tf3 r) -> m unit