This is set of general-purpose library functions intended to build on Keith Waclena’s Prelude, which is a third-party standard library for OCaml. If any of them end up being actually useful, who knows? Maybe one or two will even get incorporated into Prelude some day.
The main thing I’m doing currently is setting up module types and
module functors in such a way that boilerplate definitions of monad,
functor, and applicative operations can be automatically generated
from minimal definitions of pure
and bind
.
This code is highly in progress, so for the moment there are no
comments or docstrings. However, as the code matures I intend to
flesh out this README, add an .mli
interface file, add odig
documentation, and also write some property-based tests.
This code requires Prelude to be exposed to your compiler/toplevel.