@hackage stateref0.3
Abstraction for things that work like IORef.
Categories
License
LicenseRef-PublicDomain
Maintainer
James Cook <mokus@deepbondi.net>
Links
- Homepage
- Documentation
- No source repository
- Security
Versions
Installation
Tested Compilers
Dependencies (3)
Dependents (6)
@hackage/acme-everything, @hackage/random-fu, @hackage/priority-queue, @hackage/event-monad, @hackage/Network-NineP, @hackage/random-source
Package Flags
usestm
(on by default)
Include instances for STM types
usetmvar
(on by default)
Include instances for TMVar (TMVar is not available in hugs' STM implementation). I have been unable to make this flag's value depend on whether or not you're running hugs, so if you are, you'll just have to change it manually. It'd sure be nice if there were either an explicit backtrack command in cabal or if 'buildable:false' would trigger a backtrack. Or if I could say "default: not(impl(hugs))" for this flag. Note that this is irrelevant at the moment because I broke Hugs+STM support by adding MonadIO m => ... instances. If anyone really wants me to fix it, speak up - but those instances are pretty darn convenient.
A collection of type-classes generalizing the
read/write/modify operations for stateful variables
provided by things like IORef, TVar, &c.
Note that The interface has changed a bit from the
0.2.* version. "*Ref" functions are now called
"*Reference" and new "*Ref" function exist with
simpler signatures.
The new Ref existential type provides a convenient
monad-indexed reference type, and the HasRef class
indicates monads for which there is a default
reference type for every referent.