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
Maybe and combinations of their corresponding monad transformers.
- Warning-free for all supported GHC versions (7.6 – 9.2).
splitBasecabal flag (
base >= 4is already assumed).
README.mdin distributed tarball.
- Added maintainer Andreas Abel.
- Don’t use default class methods in any
MArray (STUArray s)instance. Thanks to Henri Jones.
tastyup 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.
unsafeSTToIOin favor of
Applicativeconstraints 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
STmonad. Thanks to @wyager for
- Instances for