package why3find

  1. Overview
  2. Docs

Module Fibers.MonadSource

Monadic and Applicative operators.

You can use them locally with following syntax:

  let sum ta tb =
    let open Monad in
    let* x = ta in
    let* y = tb in
    return (x+y)

Conforms to OCaml language manual for let-bindings operators extension.

Sourceval (>>=) : 'a t -> ('a -> 'b t) -> 'b t

Monadic operator, same as bind.

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

Applicative map operator, same as apply.

Sourceval (let*) : 'a t -> ('a -> 'b t) -> 'b t

Monadic let-binder, same as bind.

Sourceval (let+) : 'a t -> ('a -> 'b) -> 'b t

Applicative map operator, same as apply.

Sourceval (and*) : 'a t -> 'b t -> ('a * 'b) t

Monoidal product operator, same as par.

Sourceval (@+) : ('a -> 'b) -> 'a t -> 'b t

Map operator, same as map.

Sourceval (@*) : 'a t -> 'b t -> ('a * 'b) t

Parallel product operator, same as par.