Control-Monad-ST2: A variation on the ST monad with two type parameters.

[ bsd3, control, library ] [ Propose Tags ]

The ST2 monad is like the ST monad, but with finer-grained control over access to mutable state. The phantom type parameters r and w are used to track the read and write dependencies of the computation. If a computation of type ST2 r w a is polymorphic in w then it does not write any external state. If it is also polymorphic in r then it does not read any external state.


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.1
Dependencies array, base (>=4.5 && <5), QuickCheck, SafeSemaphore [details]
License BSD-3-Clause
Copyright Kevin Backhouse, 2013
Author Kevin Backhouse
Maintainer Kevin.Backhouse@gmail.com
Category Control
Home page https://github.com/kevinbackhouse/Control-Monad-ST2
Source repo this: git clone https://github.com/kevinbackhouse/Control-Monad-ST2.git(tag Version-0.1.0.1)
Uploaded by KevinBackhouse at 2013-06-11T01:52:44Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 1501 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for Control-Monad-ST2-0.1.0.1

[back to package description]
Control.Monad.ST2
=================

The Control.Monad.ST2 monad is like the Control.Monad.ST monad, but
with finer-grained control over access to mutable state. The phantom
type parameters r and w are used to track the read and write
dependencies of the computation. If a computation of type ST2 r w a is
polymorphic in w then it does not write any external state. If it is
also polymorphic in r then it does not read any external state.

Change log
----------

0.1.0.0 - First version