comparison lib/ur/basis.urs @ 1544:a99b743a3087

Basis.mkMonad
author Adam Chlipala <adam@chlipala.net>
date Fri, 19 Aug 2011 15:23:01 -0400
parents 27b8c0a460cf
children d5c961c709f9
comparison
equal deleted inserted replaced
1543:6f046b4bad24 1544:a99b743a3087
123 -> t -> m t 123 -> t -> m t
124 val bind : m ::: (Type -> Type) -> t1 ::: Type -> t2 ::: Type 124 val bind : m ::: (Type -> Type) -> t1 ::: Type -> t2 ::: Type
125 -> monad m 125 -> monad m
126 -> m t1 -> (t1 -> m t2) 126 -> m t1 -> (t1 -> m t2)
127 -> m t2 127 -> m t2
128
129 val mkMonad : m ::: (Type -> Type)
130 -> {Return : t ::: Type -> t -> m t,
131 Bind : t1 ::: Type -> t2 ::: Type -> m t1 -> (t1 -> m t2) -> m t2}
132 -> monad m
128 133
129 con transaction :: Type -> Type 134 con transaction :: Type -> Type
130 val transaction_monad : monad transaction 135 val transaction_monad : monad transaction
131 136
132 con source :: Type -> Type 137 con source :: Type -> Type