package orsetto
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=6e6f59fc6a2c590b1b377e40f2120a548e6f09e61e7eb12ffa45cf2d517316b8
md5=533153cd4a9fe8093d3b98afc1073bc8
doc/orsetto.cf/Cf_monad/Trinary/Create/index.html
Module Trinary.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.Trinary.Profile with type ('p, 'q, 'r) t := ('p, 'q, 'r) B.t
val return : 'r -> ('p, 'q, 'r) B.tUse 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.Trinary.Affix with type ('p, 'q, 'r) t := ('p, 'q, 'r) B.tOpen 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 = AffixDeprecated module alias.
include Cf_seqmonad.Functor.Trinary
with type ('p, 'q, 'r) t := ('p, 'q, '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.