A library for writing Imperative style haskell.

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

GPL-3.0-only licensed by Matthew Mirman
Maintained by Matthew Mirman

A monad that uses GADTs and continuations to replicate what it is like to program in an imperative language like C, Java or Go with "return", "for", "break", "continue", and mutable references.

In Version 2:

  • Single return function: return'

  • A Go language style defer' primitive.

  • Proper compiler errors when break' and continue' are used incorrectly

  • Note: Version 2 has a very different internal structure from version 1, and thus there will likely be type signature conflicts.

For more information see: