packages feed

StateVar 1.1.1.1 → 1.2

raw patch · 3 files changed

+22/−4 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Data.StateVar: instance Data.Functor.Contravariant.Contravariant Data.StateVar.SettableStateVar
+ Data.StateVar: instance Foreign.Storable.Storable a => Data.StateVar.HasGetter (GHC.ForeignPtr.ForeignPtr a) a
+ Data.StateVar: instance Foreign.Storable.Storable a => Data.StateVar.HasSetter (GHC.ForeignPtr.ForeignPtr a) a
+ Data.StateVar: instance Foreign.Storable.Storable a => Data.StateVar.HasUpdate (GHC.ForeignPtr.ForeignPtr a) a a
- Data.StateVar: StateVar :: (IO a) -> (a -> IO ()) -> StateVar a
+ Data.StateVar: StateVar :: IO a -> (a -> IO ()) -> StateVar a
- Data.StateVar: infixr 2 $=!
+ Data.StateVar: infixr 2 $~!

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+1.2+---+* Added instances for `ForeignPtr`.+ 1.1.1.1 ------- * Relaxed upper version bound for `stm`.
StateVar.cabal view
@@ -1,5 +1,5 @@ name: StateVar-version: 1.1.1.1+version: 1.2 synopsis: State variables description:   This package contains state variables, which are references in the IO monad,@@ -23,8 +23,8 @@   GHC == 8.0.2   GHC == 8.2.2   GHC == 8.4.3-  GHC == 8.6.1-  GHC == 8.7.*+  GHC == 8.6.5+  GHC == 8.8.1 cabal-version: >= 1.10 extra-source-files:   README.md
src/Data/StateVar.hs view
@@ -10,7 +10,7 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Data.StateVar--- Copyright   :  (c) Edward Kmett 2014-2015, Sven Panne 2009-2018+-- Copyright   :  (c) Edward Kmett 2014-2019, Sven Panne 2009-2018 -- License     :  BSD3 --  -- Maintainer  :  Sven Panne <svenpanne@gmail.com>@@ -81,6 +81,7 @@ import Control.Monad.IO.Class import Data.IORef import Data.Typeable+import Foreign.ForeignPtr import Foreign.Ptr import Foreign.Storable #if MIN_VERSION_base(4,12,0)@@ -195,6 +196,10 @@   p $= a = liftIO $ atomically $ writeTVar p a   {-# INLINE ($=) #-} +instance Storable a => HasSetter (ForeignPtr a) a where+  p $= a = liftIO $ withForeignPtr p ($= a)+  {-# INLINE ($=) #-}+ -------------------------------------------------------------------- -- * HasUpdate --------------------------------------------------------------------@@ -252,6 +257,10 @@     a <- readTVar r     writeTVar r $! f a +instance Storable a => HasUpdate (ForeignPtr a) a a where+  p $~ f = liftIO $ withForeignPtr p ($~ f)+  p $~! f = liftIO $ withForeignPtr p ($~! f)+ -------------------------------------------------------------------- -- * HasGetter --------------------------------------------------------------------@@ -283,3 +292,8 @@ instance HasGetter (IORef a) a where   get = liftIO . readIORef   {-# INLINE get #-}++instance Storable a => HasGetter (ForeignPtr a) a where+  get p = liftIO $ withForeignPtr p get+  {-# INLINE get #-}+