package orsetto
Install
Dune Dependency
Authors
Maintainers
Sources
sha512=e260412b2dd0f98cfe3dc7ed5c31a694eb31c93cd207c51fa12675b790234ee0ad3bf07d9be17a4dc266fedfe55b14c967cad7bc0c9414063eef8afd59f3d0d1
doc/orsetto.cf/Cf_monad/Binary/Create/index.html
Module Binary.Create
Use module M = Create(B)
to create a module that implements all the conventional interfaces of a monad.
Parameters
Signature
Module inclusions from Cf_monad_core
and Cf_seqmonad
.
include Core.Binary.Profile with type ('m, 'r) t := ('m, 'r) B.t
val return : 'r -> ('m, 'r) B.t
Use return a
to apply the binding to a
.
Use bind m f
to bind f
to the value returned by m
.
Use map m ~f
to return the result of applying f
to the value returned by m
.
Use product a b
to return the monoidal product of a
and b
.
module Affix : Cf_monad_core.Binary.Affix with type ('m, 'r) t := ('m, 'r) B.t
Open Affix
to include the affix monad operators.
Use disregard m
to ignore the value returned by m
and apply the unit value to the bound function.
module Infix = Affix
Deprecated module alias.
include Cf_seqmonad.Functor.Binary with type ('m, 'r) t := ('m, 'r) B.t
Use collect s
to bind in sequence every monad value in the finite sequence s
and collect all the returned values. Returns (n, s)
where n
is the number of values collected and s
is the list of values in reverse order, i.e. from last collected to first collected. Never returns and exhausts all memory if s
never terminates.