Module WithMonadAndResult.WithMonad
type t('r, 'a)
= WithMonad(M).t('r, 'a)
=
;|
ContT(('a => M.t('r)) => M.t('r))
The type of a continuation.
'a
is the intermediate result type, and'r
is the final result type.
let make: (('a => M.t('r)) => M.t('r)) => t('r, 'a);
let runContT: ('a => M.t('r)) => t('r, 'a) => M.t('r);
let mapContT: (M.t('r) => M.t('r)) => t('r, 'a) => t('r, 'a);
let withContT: (('b => M.t('r)) => 'a => M.t('r)) => t('r, 'a) => t('r, 'b);
let map: ('a => 'b) => t('r, 'a) => t('r, 'b);
let apply: t('r, 'a => 'b) => t('r, 'a) => t('r, 'b);
let pure: 'a => t('r, 'a);
let bind: t('r, 'a) => ('a => t('r, 'b)) => t('r, 'b);
module WithResult: (R: BsBastet.Interface.TYPE) => { ... };