transformers 0.5.0.1 → 0.5.0.2
raw patch · 3 files changed
+37/−1 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- changelog +3/−0
- legacy/pre709/Data/Functor/Identity.hs +33/−0
- transformers.cabal +1/−1
changelog view
@@ -1,5 +1,8 @@ -*-change-log-*- +0.5.0.2 Ross Paterson <R.Paterson@city.ac.uk> Jan 2016+ * Backported extra instances for Identity+ 0.5.0.1 Ross Paterson <R.Paterson@city.ac.uk> Jan 2016 * Tightened GHC bounds for PolyKinds and DeriveDataTypeable
legacy/pre709/Data/Functor/Identity.hs view
@@ -52,6 +52,8 @@ #if __GLASGOW_HASKELL__ >= 700 import Data.Data #endif+import Data.Ix (Ix(..))+import Foreign (Storable(..), castPtr) #if __GLASGOW_HASKELL__ >= 702 import GHC.Generics #endif@@ -70,6 +72,27 @@ #endif ) +instance (Bounded a) => Bounded (Identity a) where+ minBound = Identity minBound+ maxBound = Identity maxBound++instance (Enum a) => Enum (Identity a) where+ succ (Identity x) = Identity (succ x)+ pred (Identity x) = Identity (pred x)+ toEnum i = Identity (toEnum i)+ fromEnum (Identity x) = fromEnum x+ enumFrom (Identity x) = map Identity (enumFrom x)+ enumFromThen (Identity x) (Identity y) = map Identity (enumFromThen x y)+ enumFromTo (Identity x) (Identity y) = map Identity (enumFromTo x y)+ enumFromThenTo (Identity x) (Identity y) (Identity z) =+ map Identity (enumFromThenTo x y z)++instance (Ix a) => Ix (Identity a) where+ range (Identity x, Identity y) = map Identity (range (x, y))+ index (Identity x, Identity y) (Identity i) = index (x, y) i+ inRange (Identity x, Identity y) (Identity e) = inRange (x, y) e+ rangeSize (Identity x, Identity y) = rangeSize (x, y)+ instance (Monoid a) => Monoid (Identity a) where mempty = Identity mempty mappend (Identity x) (Identity y) = Identity (mappend x y)@@ -84,6 +107,16 @@ instance (Show a) => Show (Identity a) where showsPrec d (Identity x) = showParen (d > 10) $ showString "Identity " . showsPrec 11 x++instance (Storable a) => Storable (Identity a) where+ sizeOf (Identity x) = sizeOf x+ alignment (Identity x) = alignment x+ peekElemOff p i = fmap Identity (peekElemOff (castPtr p) i)+ pokeElemOff p i (Identity x) = pokeElemOff (castPtr p) i x+ peekByteOff p i = fmap Identity (peekByteOff p i)+ pokeByteOff p i (Identity x) = pokeByteOff p i x+ peek p = fmap runIdentity (peek (castPtr p))+ poke p (Identity x) = poke (castPtr p) x -- --------------------------------------------------------------------------- -- Identity instances for Functor and Monad
transformers.cabal view
@@ -1,5 +1,5 @@ name: transformers-version: 0.5.0.1+version: 0.5.0.2 license: BSD3 license-file: LICENSE author: Andy Gill, Ross Paterson