phantom-state 0.2.1.0 → 0.2.1.1
raw patch · 3 files changed
+7/−8 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- Control/Applicative/PhantomState.hs +1/−1
- bench/Main.hs +1/−2
- phantom-state.cabal +5/−5
Control/Applicative/PhantomState.hs view
@@ -90,7 +90,7 @@ instance Monad m => Applicative (PhantomStateT s m) where {-# INLINE pure #-}- pure _ = PhantomStateT pure+ pure _ = PhantomStateT return {-# INLINE (<*>) #-} PhantomStateT f <*> PhantomStateT g = PhantomStateT (\x -> f x >>= g) {-# INLINE (*>) #-}
bench/Main.hs view
@@ -32,8 +32,7 @@ createVector2 :: Int -> V.Vector Int createVector2 n = V.create $ do v <- MV.unsafeNew n- let step = useState (\i -> MV.write v i i)- *> changeState (+1)+ let loop = useAndChangeState $ \i -> MV.write v i i >> pure (i+1) runPhantomStateT (replicateA_ n step) 0 return v
phantom-state.cabal view
@@ -1,5 +1,5 @@ name: phantom-state-version: 0.2.1.0+version: 0.2.1.1 synopsis: Phantom State Transformer. Like State Monad, but without values. description: A monad transformer that mimics the State Monad Transformer from the <http://hackage.haskell.org/package/transformers transformers> package,@@ -20,10 +20,10 @@ location: git://github.com/Daniel-Diaz/phantom-state.git library- exposed-modules: Control.Applicative.PhantomState- build-depends: base == 4.*- , transformers >= 0.3 && < 0.6- default-language: Haskell2010+ exposed-modules: Control.Applicative.PhantomState+ build-depends: base >= 4.7 && < 5+ , transformers >= 0.3 && < 0.6+ default-language: Haskell2010 ghc-options: -O2 -Wall benchmark phantom-state-bench