ixset 1.0.5 → 1.0.6
raw patch · 3 files changed
+13/−9 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.IxSet: instance [overlap ok] (Data ctx a, Data ctx [a], Sat (ctx (IxSet a)), Sat (ctx [a]), Indexable a, Data a, Ord a) => Data ctx (IxSet a)
- Data.IxSet: instance [overlap ok] Typeable1 IxSet
- Data.IxSet.Ix: instance [overlap ok] (Data ctx a, Sat (ctx (Ix a))) => Data ctx (Ix a)
- Data.IxSet.Ix: instance [overlap ok] Typeable1 Ix
+ Data.IxSet: instance [overlap ok] (Data ctx a, Data ctx [a], Sat (ctx (IxSet a)), Sat (ctx [a]), Typeable1 IxSet, Indexable a, Data a, Ord a) => Data ctx (IxSet a)
+ Data.IxSet: instance [overlap ok] Typeable IxSet
+ Data.IxSet.Ix: instance [overlap ok] (Typeable1 Ix, Data ctx a, Sat (ctx (Ix a))) => Data ctx (Ix a)
+ Data.IxSet.Ix: instance [overlap ok] Typeable Ix
Files
- ixset.cabal +2/−2
- src/Data/IxSet.hs +10/−6
- src/Data/IxSet/Ix.hs +1/−1
ixset.cabal view
@@ -1,5 +1,5 @@ Name: ixset-Version: 1.0.5+Version: 1.0.6 Synopsis: Efficient relational queries on Haskell sets. Description: Create and query sets that are indexed by multiple indices.@@ -15,7 +15,7 @@ source-repository head type: darcs subdir: ixset- location: http://patch-tag.com/r/mae/happstack+ location: http://hub.darcs.net/stepcut/happstack flag base4
src/Data/IxSet.hs view
@@ -50,7 +50,7 @@ > > instance Indexable Entry where > empty = ixSet [ ...-> ixFun getWords+> , ixFun getWords > ] Now you can do this query to find entries with any of the words:@@ -74,7 +74,7 @@ > instance Indexable Entry where > ... > empty = ixSet [ ...-> ixFun getFirstAuthor+> , ixFun getFirstAuthor > ] > > entries @= (FirstAuthor "john@doe.com") -- guess what this does@@ -190,13 +190,16 @@ data IxSet a = IxSet [Ix a] deriving (Data, Typeable) --- | Create an 'IxSet' using a list of indexes. Useful in the 'Indexable'--- 'empty' method. Use 'ixFun' and 'ixGen' as list elements.+-- | Create an 'IxSet' using a list of indexes. Typically used to+-- create the 'empty' method for an 'Indexable' instance. --+-- The list elements are generally created by using the 'ixFun' and+-- 'ixGen' helper functions.+-- -- > instance Indexable Type where -- > empty = ixSet [ ...--- > ixFun getIndex1--- > ixGen (Proxy :: Proxy Index2Type)+-- > , ixFun getIndex1+-- > , ixGen (Proxy :: Proxy Index2Type) -- > ] -- -- Every value in the 'IxSet' must be reachable by the first index in this@@ -255,6 +258,7 @@ , SYBWC.Data ctx [a] , SYBWC.Sat (ctx (IxSet a)) , SYBWC.Sat (ctx [a])+ , SYBWC.Typeable1 IxSet , Indexable a , Data a , Ord a
src/Data/IxSet/Ix.hs view
@@ -52,7 +52,7 @@ ixDataType :: SYBWC.DataType ixDataType = SYBWC.mkDataType "Ix" [ixConstr] -instance (SYBWC.Data ctx a, SYBWC.Sat (ctx (Ix a)))+instance (SYBWC.Typeable1 Ix, SYBWC.Data ctx a, SYBWC.Sat (ctx (Ix a))) => SYBWC.Data ctx (Ix a) where gfoldl = error "gfoldl Ix" toConstr _ (Ix _ _) = ixConstr