JhupllibSourceThis 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.
This module contains a non-determinism monad.
This module provides a means by which a registry of "witnesses" can be created. Here, a witness is a representative of another (typically more complex) value. A witness registry is a mutable structure which monotonically accumulates values, mapping distinct values to distinct witnesses. The primary use of such a registry is to accelerate comparison operations. For instance, using witnesses as keys in a tree-based dictionary may be faster than using the original values if the comparison between two values is an expensive operation.
This module contains utility functions for writing Yojson codec generators.