packages feed

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 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