module WithMonad:
Monadic operations on Enumerations containing monadic elements
This module will let you use sequence and fold_monad functions over enumerations.
type 'a
m = 'a Mon.m
Type of the monadic elements.
val sequence : 'a m BatEnum.t -> 'a BatEnum.t m
sequence e
evaluates each monadic elements (of type 'a m
contained in the enumeration e
to get a monadic enumeration of 'a
elements,
of type 'a m BatEnum.t
.
val fold_monad : ('a -> 'b -> 'a m) ->
'a -> 'b BatEnum.t -> 'a m
fold_monad f init e
does a folding of the enumeration e
applying step by step the function f
that gives back results in the Mon
monad,
with the init
initial element. The result is a value in the Mond
monad.