package bap-knowledge

  1. Overview
  2. Docs
include Monads.Std.Monad.Syntax.S with type 'a t := 'a t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t

m >>= f is bind m f

val (>>|) : 'a t -> ('a -> 'b) -> 'b t

m >>= f is map m ~f

val (>=>) : ('a -> 'b t) -> ('b -> 'c t) -> 'a -> 'c t

f >=> g is fun x -> f x >>= g

val (!!) : 'a -> 'a t

!!x is return x

val (!$) : ('a -> 'b) -> 'a t -> 'b t

!$f is Lift.unary f

val (!$$) : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t

!$$f is Lift.binary f

val (!$$$) : ('a -> 'b -> 'c -> 'd) -> 'a t -> 'b t -> 'c t -> 'd t

!$$$f is Lift.ternary f

val (!$$$$) : ('a -> 'b -> 'c -> 'd -> 'e) -> 'a t -> 'b t -> 'c t -> 'd t -> 'e t

!$$$$f is Lift.quaternary f

val (!$$$$$) : ('a -> 'b -> 'c -> 'd -> 'e -> 'f) -> 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> 'f t

!$$$$$f is Lift.quinary f

val (-->) : 'a obj -> ('a, 'p) slot -> 'p t

x-->p is collect p x

val (<--) : ('a, 'p) slot -> ('a obj -> 'p t) -> unit

p <-- f is promise p f

val (//) : ('a, _) cls -> string -> 'a obj t

c // s is Object.read c s

val (>>=?) : 'a option t -> ('a -> 'b option t) -> 'b option t

x >>=? f evaluates to f y if x evaluates to Some y.

val (>>|?) : 'a option t -> ('a -> 'b option) -> 'b option t

x >>|? f evaluates to f y if x evaluates to Some y.

OCaml

Innovation. Community. Security.