compiler-libs.common
Make2.X
Multi parameter monad. The second parameter gets unified across all the computation. This is used to encode monads working on a multi parameter data structure like (('a,'b) result).
('a,'b) result
compiler-libs.bytecomp
compiler-libs.optcomp
compiler-libs.toplevel
dynlink
eval
jit
runtime_events
stdlib
stdlib_alpha
stdlib_beta
stdlib_stable
stdlib_upstream_compatible
str
threads
unix
type ('a, 'e) t
val bind : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t
val return : 'a -> ('a, _) t
The following identities ought to hold (for some value of =):
return x >>= f = f x
t >>= fun x -> return x = t
(t >>= f) >>= g = t >>= fun x -> (f x >>= g)
Note: >>= is the infix notation for bind)
>>=
bind