The ImperativeHaskell package

[Tags:gpl, library]

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

[Skip to Readme]


Dependencies base (>=4.0 && <5.0), mtl (>=2.0 && <3.0), template-haskell (>=2.6 && <3.0) [details]
License GPL-3
Author Matthew Mirman
Maintainer Matthew Mirman <>
Stability Unknown
Category Control, Embedded, Development, Language
Home page
Source repository head: git clone git://
Uploaded Thu Apr 26 15:34:38 UTC 2012 by MatthewMirman
Distributions NixOS:
Downloads 2866 total (21 in the last 30 days)
1 []
Status Docs not available [build log]
All reported builds failed as of 2015-12-08 [all 6 reports]


  • Control
    • Monad
      • Control.Monad.Imperative
        • Control.Monad.Imperative.FunctionFactory
        • Control.Monad.Imperative.Internals
        • Control.Monad.Imperative.Operators


Maintainer's Corner

For package maintainers and hackage trustees

Readme for ImperativeHaskell

Readme for ImperativeHaskell-

Just proof that Haskell' can be truly imperative, and even look like C.

For some background, look in

For an example usage, look in Main.hs.