You can search for identifiers within the package.
in-package search v0.2.0
rocq-runtime.clib
Monad.Make
Expands the monadic definition to extra combinators.
module M : Def
include Def with type +'a t = 'a M.t
type +'a t = 'a M.t
val return : 'a -> 'a t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val (>>) : unit t -> 'a t -> 'a t
val map : ('a -> 'b) -> 'a t -> 'b t
The monadic laws must hold:
(x>>=f)>>=g
x>>=fun x' -> (f x'>>=g)
return a >>= f
f a
x>>=return
x
As well as the following identities:
x >> y
x >>= fun () -> y
map f x
x >>= fun x' -> f x'
module List : ListS with type 'a t := 'a t