name: monad-var version: 0.2.2.0 synopsis: Generic operations over variables description: The aim of this library is to provide a unified set of operations (@new@, @read@, @write@, @swap@, various strict @mutate*@ functions and their derivatives (like mutate-and-return-the-old-value) and a certain interface for @MVar@-like things) over all common variable types: @IORef@, @STRef s@, @MVar@, @TVar@, @TMVar@. When possible type classes are generalized to be over abstract containers rather than variables: e.g. it'd make sense to implement @MonadRead TChan@ and @MonadMutate_ Vector@ instances, but no such instances are provided right now. There are also some lenses to be described in an upcoming blog post. homepage: https://github.com/effectfully/monad-var#readme author: effectfully maintainer: effectfully@gmail.com license: BSD3 build-type: Simple extra-source-files: README.md cabal-version: >=1.10 library hs-source-dirs: src exposed-modules: MonadVar MonadVar.Classes MonadVar.Combinators MonadVar.Default MonadVar.Instances.IORef MonadVar.Instances.MVar MonadVar.Instances.STRef MonadVar.Instances.TMVar MonadVar.Instances.TVar MonadVar.Lens other-modules: MonadVar.Compat MonadVar.Prelude build-depends: base >= 4.7 && < 6, base-compat >= 0.9.0, stm >= 2.2 if impl(ghc < 8.0) build-depends: transformers >= 0.4 default-language: Haskell2010 default-extensions: MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, TypeFamilies, BangPatterns, NoImplicitPrelude ghc-options: -O2 -Wall -fno-warn-unused-do-bind -fno-warn-orphans source-repository head type: git location: https://github.com/effectfully/monad-var