ImperativeHaskell: A library for writing Imperative style haskell.

[ control, development, embedded, gpl, language, library ] [ Propose Tags ]
Dependencies base (>=4.0 && <5.0), mtl (>=2.0 && <3.0), template‑haskell (>=2.6 && <3.0) [details]
License GPL-3.0-only
Author Matthew Mirman
Maintainer Matthew Mirman <>
Category Control, Embedded, Development, Language
Home page
Source repo head: git clone git://
Uploaded by MatthewMirman at Thu Apr 26 15:34:38 UTC 2012
Distributions NixOS:
Downloads 4748 total (36 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 8 reports]
Hackage Matrix CI

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]


  • 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-

[back to package description]
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.