readme.md

May 1, 2026 ยท View on GitHub

charged monads

Read the API Documentation

Charged Monads provides parameterized monads, which are capable of complex operations that regular monads do not support.

Charged Monads currently includes:

  • ContT - Delimited continuations that are capable of having separate continuation and result types. (Includes a base monad and a monad transformer version.)
  • State - A state monad that is capable of changing its state type during the calculation.
  • StateT - A state monad transformer that is capable of changing its state type during the calculation.

See src/examples.lisp for usage examples. Running them requires coalton-io.

Status

Charged Monads is in alpha status. The API will change as more things are added and the ergonomics cleaned up.