packages feed

StateVar 1.1.0.4 → 1.1.1.0

raw patch · 5 files changed

+27/−9 lines, 5 filesdep ~stmPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: stm

API changes (from Hackage documentation)

+ Data.StateVar: infixr 2 $=!
- Data.StateVar: ($~!) :: (HasUpdate t a b, MonadIO m) => t -> (a -> b) -> m ()
+ Data.StateVar: ($~!) :: (HasUpdate t a b, MonadIO m, a ~ b, HasGetter t a) => t -> (a -> b) -> m ()
- Data.StateVar: ($~) :: (HasUpdate t a b, MonadIO m) => t -> (a -> b) -> m ()
+ Data.StateVar: ($~) :: (HasUpdate t a b, MonadIO m, a ~ b, HasGetter t a) => t -> (a -> b) -> m ()
- Data.StateVar: class HasSetter t b => HasUpdate t a b | t -> a b where ($~) = defaultUpdate ($~!) = defaultUpdateStrict
+ Data.StateVar: class HasSetter t b => HasUpdate t a b | t -> a b

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+1.1.1.0+-------+* Track recent move of `Contravariant` to `base`.+ 1.1.0.4 ------- * Corrected HasUpdate's superclass constraint.
LICENSE view
@@ -1,5 +1,5 @@ Copyright (c) 2014-2015, Edward Kmett-Copyright (c) 2009-2016, Sven Panne+Copyright (c) 2009-2018, Sven Panne All rights reserved.  Redistribution and use in source and binary forms, with or without
README.md view
@@ -1,1 +1,4 @@-[![Hackage](https://img.shields.io/hackage/v/StateVar.svg)](https://hackage.haskell.org/package/StateVar) [![Build Status](https://travis-ci.org/haskell-opengl/StateVar.png)](https://travis-ci.org/haskell-opengl/StateVar)+[![Hackage](https://img.shields.io/hackage/v/StateVar.svg)](https://hackage.haskell.org/package/StateVar)+[![Stackage LTS](https://www.stackage.org/package/StateVar/badge/lts)](https://www.stackage.org/lts/package/StateVar)+[![Stackage nightly](https://www.stackage.org/package/StateVar/badge/nightly)](https://www.stackage.org/nightly/package/StateVar)+[![Build Status](https://img.shields.io/travis/haskell-opengl/StateVar/master.svg)](https://travis-ci.org/haskell-opengl/StateVar)
StateVar.cabal view
@@ -1,12 +1,12 @@ name: StateVar-version: 1.1.0.4+version: 1.1.1.0 synopsis: State variables description:   This package contains state variables, which are references in the IO monad,   like IORefs or parts of the OpenGL state. homepage: https://github.com/haskell-opengl/StateVar bug-reports: https://github.com/haskell-opengl/StateVar/issues-copyright: Copyright (C) 2014-2015 Edward A. Kmett, 2009-2016 Sven Panne+copyright: Copyright (C) 2014-2015 Edward A. Kmett, 2009-2018 Sven Panne license: BSD3 license-file: LICENSE author: Sven Panne and Edward Kmett@@ -20,8 +20,10 @@   GHC == 7.6.3   GHC == 7.8.4   GHC == 7.10.3-  GHC == 8.0.1-  GHC == 8.1+  GHC == 8.0.2+  GHC == 8.2.2+  GHC == 8.4.1+  GHC == 8.5.* cabal-version: >= 1.10 extra-source-files:   README.md@@ -33,7 +35,7 @@    build-depends:     base         >= 4   && < 5,-    stm          >= 2.0 && < 2.5,+    stm          >= 2.2.0.1 && < 2.5,     transformers >= 0.2 && < 0.6    default-language: Haskell2010
src/Data/StateVar.hs view
@@ -10,7 +10,7 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Data.StateVar--- Copyright   :  (c) Edward Kmett 2014-2015, Sven Panne 2009-2016+-- Copyright   :  (c) Edward Kmett 2014-2015, Sven Panne 2009-2018 -- License     :  BSD3 --  -- Maintainer  :  Sven Panne <svenpanne@gmail.com>@@ -83,6 +83,9 @@ import Data.Typeable import Foreign.Ptr import Foreign.Storable+#if MIN_VERSION_base(4,12,0)+import Data.Functor.Contravariant+#endif  -------------------------------------------------------------------- -- * StateVar@@ -114,6 +117,12 @@ -- permit a very limited range of value assignments, and do not report failure. data StateVar a = StateVar (IO a) (a -> IO ()) deriving Typeable +#if MIN_VERSION_base(4,12,0)+instance Contravariant SettableStateVar where+  contramap f (SettableStateVar k) = SettableStateVar (k . f)+  {-# INLINE contramap #-}+#endif+ -- | Construct a 'StateVar' from two IO actions, one for reading and one for --- writing. makeStateVar@@ -227,7 +236,7 @@  instance HasUpdate (IORef a) a a where   r $~ f  = liftIO $ atomicModifyIORef r $ \a -> (f a,())-#if __GLASGOW_HASKELL__ >= 706+#if MIN_VERSION_base(4,6,0)   r $~! f = liftIO $ atomicModifyIORef' r $ \a -> (f a,()) #else   r $~! f = liftIO $ do