BSD-3-Clause licensed by Josef Svenningsson
Maintained by, Andreas Abel
This version can be pinned in stack with:STMonadTrans-0.4.7@sha256:1a04743b9a92a6da5f63674cac008270ad4e7fa973d4b9aab59ae63cf134d81a,2166

Module documentation for 0.4.7

Used by 2 packages in nightly-2023-06-08(full list with versions):


Hackage STMonadTrans on Stackage Nightly Stackage Build Status

A monad transformer version of the ST monad.

Warning! This monad transformer should not be used with monads that can contain multiple answers, like the list monad. The reason is that the state token will be duplicated across the different answers and this causes Bad Things to happen (such as loss of referential transparency). Safe monads include the monads State, Reader, Writer, Maybe and combinations of their corresponding monad transformers.



  • Added MonadIO for SST (issue #29).
  • Make transformers dependency explicit.
  • Bump cabal-version of STMonadTrans.cabal to 1.18.
  • Tested with GHC 7.6.3 - 9.6.1.


  • Warning-free for all supported GHC versions (7.6 – 9.2).
  • Drop splitBase cabal flag (base >= 4 is already assumed).
  • Include in distributed tarball.
  • Added maintainer Andreas Abel.


  • Don’t use default class methods in any MArray (STUArray s) instance. Thanks to Henri Jones.
  • Allow tasty up to and including 1.4.


  • Fix compilation for GHC 8.8.1. Thanks to Andrés Sicard-Ramírez.
  • Fix some tests and their dependencies. Thanks to Kirill Zaborsky.


  • Fix compilation for GHC 7.6.3. Thanks to Andrés Sicard-Ramírez.
  • Export unsafe array operations.


  • Deprecate runST and unsafeSTToIO in favor of runSTT and unsafeSTTToIO.
  • Added INLINE pragmas.


  • Add Applicative constraints to be compatible with GHC 7.8.4.
  • Add changelog.


  • New library structure, based on liftST. It reuses more code and types from the standard ST monad. Thanks to @wyager for liftST.
  • Instances for MArray.