ST monad with efficient explicit errors

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.

BSD2 licensed by Carter Tazio Schonwald
Maintained by carter at wellposed dot com

Build Status

STE Monad

an ST monad sibling with efficient typed aborting exceptions that can only be handled at the runSTE/handleSTE toplevel runner.


Revision history for monad-ste -- 2016-05-03

  • First hackage release

  • Added support for GHC 7.4 through 7.8 along with preexisting support for 7.10 and 8.0

  • Added MonadFix instance

  • Moved the definitions and unsafe code to .STE.Internal and marked the .STE module which only provides safe exports as Trustworthy

  • Added a number of unsafe helper functions such as unsafeInterleaveSTE to the Internal module, as well as exposing


  • Thanks to Duncan Coutts for design feedback that using the raw raiseIO# and catch# primitives would simplify the core code

  • Thanks to Brian Schroeder and Joel Burget for helping debug and improve the code.

  • Originally a module in the Hopper project.

Depends on 4 packages:
Used by 1 package:
comments powered byDisqus