Functor BatEnum.WithMonad

module WithMonad: 
functor (Mon : BatInterfaces.Monad-> sig .. end

Monadic operations on Enumerations containing monadic elements

This module will let you use sequence and fold_monad functions over enumerations.

Parameters:
Mon : BatInterfaces.Monad

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 'BatEnum.t m.

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 Mon monad.