packages feed

syb-with-class 0.6 → 0.6.1

raw patch · 3 files changed

+15/−12 lines, 3 filesdep ~template-haskellPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: template-haskell

API changes (from Hackage documentation)

Files

Data/Generics/SYB/WithClass/Derive.hs view
@@ -23,7 +23,6 @@ import Language.Haskell.TH import Data.List import Control.Monad-import Data.Maybe import Data.Generics.SYB.WithClass.Basics  --@@ -181,10 +180,11 @@         myType = foldl AppT (ConT name) typeParams        dataCxt typ = conT ''Data `appT` varT (mkName "ctx") `appT` return typ-       satCxt typ = conT ''Sat `appT` (varT (mkName "ctx") `appT` return typ)+       dataCxt' typ = return $ ClassP ''Data [VarT (mkName "ctx"), typ]+       satCxt typ = return $ ClassP ''Sat [VarT (mkName "ctx") `AppT` typ]        dataCxtTypes = nub (typeParams ++ types)        satCxtTypes = nub (myType : types)-       context = cxt (map dataCxt dataCxtTypes ++ map satCxt satCxtTypes)+       context = cxt (map dataCxt' dataCxtTypes ++ map satCxt satCxtTypes) #endif  deriveMinimalData :: Name -> Int  -> Q [Dec]@@ -195,7 +195,7 @@     decs <- qOfDecs     params <- replicateM nParam (newName "a")     let typeQParams = map varT params-        context = cxt (map (\typ -> conT ''Data `appT` typ) typeQParams)+        context = cxt (map (\typ -> classP ''Data [typ]) typeQParams)         instanceType = foldl appT (conT name) typeQParams     inst <-instanceD context                      (conT ''Data `appT` instanceType)@@ -224,8 +224,8 @@                [Constructor])   -- The constructors typeInfo d  = case d of-   DataD    _ n ps cs _ -> return (n, ps, map conA cs)-   NewtypeD _ n ps c  _ -> return (n, ps, [conA c])+   DataD    _ n ps cs _ -> return (n, map varName ps, map conA cs)+   NewtypeD _ n ps c  _ -> return (n, map varName ps, [conA c])    _ -> error ("derive: not a data type declaration: " ++ show d)  where conA (NormalC c xs)   = (c, length xs, Nothing, map snd xs)        conA (InfixC x1 c x2) = conA (NormalC c [x1, x2])@@ -235,6 +235,8 @@                                    fields = map getField xs                                    types  = map getType xs                                in (c, length xs, Just fields, types)+       varName (PlainTV n) = n+       varName (KindedTV n _) = n  -- -- | Derives the Data and Typeable instances for a single given data type.
Data/Generics/SYB/WithClass/Instances.hs view
@@ -12,18 +12,19 @@ import Data.Array import Data.ByteString.Char8 (ByteString) import qualified Data.ByteString.Lazy as L (ByteString)-import Data.Typeable import Data.Int              -- So we can give Data instance for Int8, ... import Data.Word             -- So we can give Data instance for Word8, ... import GHC.Real( Ratio(..) ) -- So we can give Data instance for Ratio-import GHC.IOBase            -- So we can give Data instance for IO, Handle+import System.IO             -- So we can give Data instance for IO, Handle import GHC.Ptr               -- So we can give Data instance for Ptr import GHC.ForeignPtr        -- So we can give Data instance for ForeignPtr import GHC.Stable            -- So we can give Data instance for StablePtr import GHC.ST                -- So we can give Data instance for ST-import GHC.Conc              -- So we can give Data instance for MVar & Co.+import Data.IORef            -- So we can give Data instance for IORef+import Control.Concurrent.MVar   -- So we can give Data instance for MVar & Co. import qualified Data.Map as M import qualified Data.Set as S+ ------------------------------------------------------------------------------ -- -- Instances of the Data class for Prelude-like types.
syb-with-class.cabal view
@@ -1,5 +1,5 @@ Name:               syb-with-class-Version:            0.6+Version:            0.6.1 License:            BSD3 License-file:       LICENSE Copyright:          2004 - 2008 The University of Glasgow, CWI,@@ -16,7 +16,7 @@     Classes, and Template Haskell code to generate instances, for the     Scrap Your Boilerplate With Class system.     Category:           Data-Tested-With:        GHC==6.8.3, GHC==6.10.1+Tested-With:        GHC==6.12.1 Build-Type:         Simple Cabal-Version:      >= 1.6 @@ -25,7 +25,7 @@   location: http://patch-tag.com/r/Saizan/syb-with-class/pullrepo  Library -    Build-Depends:      base >= 3 && < 5, template-haskell < 2.4, bytestring, array, containers+    Build-Depends:      base >= 3 && < 5, template-haskell >= 2.4 && < 2.5, bytestring, array, containers     Exposed-modules:         Data.Generics.SYB.WithClass.Basics         Data.Generics.SYB.WithClass.Context