package bap-std

  1. Overview
  2. Docs
module type S = sig ... end
include S with type 'a result = 'a and type ('a, 'e) t = ('a, 'e) Monads.Std.Monad.State.t
type ('a, 'e) t = ('a, 'e) Monads.Std.Monad.State.t
type 'a result = 'a
include Core_kernel.Monad.S2 with type ('a, 's) t := ('a, 's) t
val (>>=) : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t
val (>>|) : ('a, 'e) t -> ('a -> 'b) -> ('b, 'e) t
module Let_syntax : sig ... end
module Monad_infix : sig ... end
val bind : ('a, 'e) t -> f:('a -> ('b, 'e) t) -> ('b, 'e) t
val return : 'a -> ('a, _) t
val map : ('a, 'e) t -> f:('a -> 'b) -> ('b, 'e) t
val join : (('a, 'e) t, 'e) t -> ('a, 'e) t
val ignore_m : (_, 'e) t -> (unit, 'e) t
val all : ('a, 'e) t list -> ('a list, 'e) t
val all_unit : (unit, 'e) t list -> (unit, 'e) t
val all_ignore : (unit, 'e) t list -> (unit, 'e) t
  • deprecated [since 2018-02] Use [all_unit]
val put : 's -> (unit, 's) t
val get : unit -> ('s, 's) t
val gets : ('s -> 'r) -> ('r, 's) t
val update : ('s -> 's) -> (unit, 's) t
val modify : ('a, 's) t -> ('s -> 's) -> ('a, 's) t
val run : ('a, 's) t -> 's -> ('a * 's) result
val eval : ('a, 's) t -> 's -> 'a result
val exec : ('a, 's) t -> 's -> 's result
OCaml

Innovation. Community. Security.