package jhupllib

  1. Overview
  2. Docs

This module contains a simple definition of an eager nondeterminism monad. This monad is eager in that it uses non-lazy structures (e.g. list) rather than lazy structures (e.g. lazy_list). While lazy structures are useful both to reduce memory copying and avoid unnecessary computation in the event that the results are not fully consumed, eager structures require less complex internal representations.

The creation of this module was originally inspired by the need to address a stack overflow generated by the lazy structures used in the Jhupllib_nondeterminism.Nondeterminism_monad, which only occurred under heavy load.

module type Nondeterminism_monad_sig = sig ... end