ImperativeHaskell: A library for writing Imperative style haskell.

[ control, development, embedded, gpl, language, library ] [ Propose Tags ]

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]
Versions [RSS] [faq],,,,,,,,,,
Dependencies base (>=4.0 && <5.0), mtl (>2.0 && <3.0) [details]
License GPL-3.0-only
Author Matthew Mirman
Maintainer Matthew Mirman <>
Category Control
Home page
Source repo head: git clone git://
Uploaded by MatthewMirman at 2012-04-23T20:05:06Z
Distributions NixOS:
Downloads 8861 total (40 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
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.ImperativeMonad
        • Control.Monad.Imperative.ImperativeOperators


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.