package batteries

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Monadic operations on Enumerations containing monadic elements

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

Parameters

Signature

type 'a m = 'a Mon.m

Type of the monadic elements.

val sequence : 'a m t -> 'a 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 BatEnum.t m.

val fold_monad : ('a -> 'b -> 'a m) -> 'a -> 'b 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.