data-accessor-transformers 0.2.1 → 0.2.1.1
raw patch · 4 files changed
+46/−6 lines, 4 filesdep ~basedep ~data-accessordep ~transformersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, data-accessor, transformers
API changes (from Hackage documentation)
Files
- data-accessor-transformers.cabal +7/−2
- src/Data/Accessor/Monad/Trans/Example.hs +35/−0
- src/Data/Accessor/Monad/Trans/RWS.hs +2/−2
- src/Data/Accessor/Monad/Trans/State.hs +2/−2
data-accessor-transformers.cabal view
@@ -1,5 +1,5 @@ Name: data-accessor-transformers-Version: 0.2.1+Version: 0.2.1.1 License: BSD3 License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de>@@ -9,7 +9,10 @@ Category: Data -- Portability: Haskell98 Build-Type: Simple-Build-Depends: base>=1.0, data-accessor >=0.2 && <0.3, transformers >=0.0.1 && <0.2+Build-Depends:+ data-accessor >=0.2 && <0.4,+ transformers >=0.2 && <0.3,+ base >=1.0 && <6 Synopsis: Use Accessor to access state in transformers State monad Description: Use Accessor to access state in transformers State monad GHC-Options: -Wall@@ -18,3 +21,5 @@ Exposed-Modules: Data.Accessor.Monad.Trans.RWS Data.Accessor.Monad.Trans.State+Other-Modules:+ Data.Accessor.Monad.Trans.Example
+ src/Data/Accessor/Monad/Trans/Example.hs view
@@ -0,0 +1,35 @@+module Data.Accessor.Monad.Trans.Example where++import Data.Accessor.Basic ((.>), )+import Data.Accessor.Tuple (first, second, )++import qualified Data.Accessor.Basic as Accessor++import Data.Accessor.Monad.Trans.State ((%=), (%:), )+import qualified Data.Accessor.Monad.Trans.State as AState+import Control.Monad.Trans.State (State)++import Prelude hiding (init)+++state :: State (Char,Int) Int+state =+ do AState.set first 'a'+ AState.modify second succ+ AState.get second++stateInfix :: State ((Char, Int), String) Int+stateInfix =+ do str <- AState.get second+ first.>first %= 'a'+ first.>second %: succ+ first.>first %= 'b'+ second %= '!' : str+ AState.get (first.>second)++stateLift :: State (Int, (Bool, Char)) ()+stateLift = do+ first %= 42+ AState.lift second $ do+ first %: not+ second %= 'q'
src/Data/Accessor/Monad/Trans/RWS.hs view
@@ -3,9 +3,9 @@ import qualified Data.Accessor.Basic as Accessor import qualified Control.Monad.Trans.RWS as RWS-import qualified Control.Monad.Trans as Trans+import qualified Control.Monad.Trans.Class as Trans import Control.Monad.Trans.RWS (RWS, runRWS, RWST(runRWST), )-import Control.Monad.Trans (MonadTrans)+import Control.Monad.Trans.Class (MonadTrans, ) import Data.Monoid (Monoid)
src/Data/Accessor/Monad/Trans/State.hs view
@@ -3,9 +3,9 @@ import qualified Data.Accessor.Basic as Accessor import qualified Control.Monad.Trans.State as State-import qualified Control.Monad.Trans as Trans+import qualified Control.Monad.Trans.Class as Trans import Control.Monad.Trans.State (State, runState, StateT(runStateT), )-import Control.Monad.Trans (MonadTrans)+import Control.Monad.Trans.Class (MonadTrans, ) -- * accessors in the form of actions in the state monad