TrieMap 4.0.1 → 4.1.0
raw patch · 7 files changed
+21/−43 lines, 7 filesdep ~template-haskell
Dependency ranges changed: template-haskell
Files
- Data/TrieMap/OrdMap.hs +2/−2
- Data/TrieMap/RadixTrie/Edge.hs +0/−0
- Data/TrieMap/Representation/Instances.hs +0/−1
- Data/TrieMap/Representation/Instances/Foreign.hs +0/−27
- Data/TrieMap/Representation/TH/ReprMonad.hs +15/−8
- Data/TrieMap/WordMap.hs +2/−2
- TrieMap.cabal +2/−3
Data/TrieMap/OrdMap.hs view
@@ -38,9 +38,9 @@ deriving instance ImmoralCast a (Elem a) instance Sized a => Sized (Node k a) where- getSize# m = unbox $ case m of+ getSize# m = unbox (case m of Tip -> 0- Bin _ a l r -> getSize a + getSize l + getSize r+ Bin _ a l r -> getSize a + getSize l + getSize r) instance Sized (SNode k a) where getSize# SNode{sz} = unbox sz
Data/TrieMap/RadixTrie/Edge.hs view
Data/TrieMap/Representation/Instances.hs view
@@ -18,7 +18,6 @@ import Data.TrieMap.Representation.Instances.Basic () import Data.TrieMap.Representation.Instances.ByteString () import Data.TrieMap.Representation.Instances.Vectors ()-import Data.TrieMap.Representation.Instances.Foreign () import Data.TrieMap.Representation.TH #define DefList(ty) \
− Data/TrieMap/Representation/Instances/Foreign.hs
@@ -1,27 +0,0 @@-{-# LANGUAGE TemplateHaskell, TypeFamilies, UndecidableInstances #-}-module Data.TrieMap.Representation.Instances.Foreign () where--import Foreign.C.Types-import Data.TrieMap.Representation.Instances.Prim ()-import Data.TrieMap.Representation.Instances.Basic ()-import Data.TrieMap.Representation.TH--genRepr ''CChar-genRepr ''CSChar-genRepr ''CUChar-genRepr ''CShort-genRepr ''CUShort-genRepr ''CInt-genRepr ''CUInt-genRepr ''CLong-genRepr ''CULong-genRepr ''CPtrdiff-genRepr ''CSize-genRepr ''CWchar-genRepr ''CSigAtomic-genRepr ''CLLong-genRepr ''CULLong-genRepr ''CClock-genRepr ''CTime-genRepr ''CFloat-genRepr ''CDouble
Data/TrieMap/Representation/TH/ReprMonad.hs view
@@ -11,6 +11,7 @@ import Data.TrieMap.Representation.Class import Data.TrieMap.Representation.TH.Utils +import Control.Applicative import Control.Monad import Language.Haskell.TH.Syntax import Language.Haskell.TH.ExpandSyns@@ -34,19 +35,25 @@ instance Functor ReprMonad where fmap = liftM +instance Applicative ReprMonad where+ pure = return+ (<*>) = ap+ liftQuasi :: Q a -> ReprMonad a liftQuasi q = ReprMonad $ \ knowns _ -> do a <- q return ([], knowns, a) instance Quasi ReprMonad where- qNewName = liftQuasi . qNewName- qReport b str = liftQuasi (qReport b str)- qRecover m k = ReprMonad $ \ knowns breaks -> qRecover (runReprMonad m knowns breaks) (runReprMonad k knowns breaks)- qReify = liftQuasi . qReify- qClassInstances name typs = liftQuasi (qClassInstances name typs)- qLocation = liftQuasi qLocation- qRunIO = liftQuasi . qRunIO+ qNewName = liftQuasi . qNewName+ qReport b str = liftQuasi (qReport b str)+ qRecover m k = ReprMonad $ \ knowns breaks -> qRecover (runReprMonad m knowns breaks) (runReprMonad k knowns breaks)+ qLookupName b str = liftQuasi (qLookupName b str)+ qReify = liftQuasi . qReify+ qReifyInstances name typs = liftQuasi (qReifyInstances name typs)+ qLocation = liftQuasi qLocation+ qRunIO = liftQuasi . qRunIO+ qAddDependentFile = liftQuasi . qAddDependentFile insNub :: Eq a => a -> [a] -> [a] insNub x ys0@(y:ys)@@ -77,6 +84,6 @@ execReprMonad m = do ClassI _ instances <- reify ''Repr let instanceHeads = [(tyConName, (tyArgs, ConT ''Rep `AppT` compose tyConName tyArgs))- | ClassInstance{ci_tys = [decompose' -> Just (tyConName, tyArgs)]} <- instances]+ | (InstanceD _ (decompose' -> Just (tyConName, tyArgs)) _) <- instances] (decs, _, _) <- runReprMonad m instanceHeads [] return decs
Data/TrieMap/WordMap.hs view
@@ -41,10 +41,10 @@ getSize# SNode{sz} = unbox sz instance Sized a => Sized (Node a) where- getSize# t = unbox $ case t of+ getSize# t = unbox (case t of Nil -> 0 Tip _ a -> getSize a- Bin _ _ l r -> getSize l + getSize r+ Bin _ _ l r -> getSize l + getSize r) {-# INLINE sNode #-} sNode :: Sized a => Node a -> SNode a
TrieMap.cabal view
@@ -1,5 +1,5 @@ name: TrieMap-version: 4.0.1+version: 4.1.0 cabal-version: >= 1.6 tested-with: GHC category: Algorithms@@ -29,7 +29,7 @@ } Library{-build-Depends: base < 5.0.0.0, containers, template-haskell >= 2.5.0.0, bytestring >= 0.9.1.0, th-expand-syns,+build-Depends: base < 5.0.0.0, containers, template-haskell >= 2.7.0.0, bytestring >= 0.9.1.0, th-expand-syns, vector >= 0.6, primitive >= 0.3, unpack-funcs >= 0.1.2, transformers >= 0.2.0.0 ghc-options: -Wall -fno-warn-name-shadowing -fno-warn-orphans -fno-spec-constr-count -fno-spec-constr-threshold@@ -63,7 +63,6 @@ Data.TrieMap.Representation.Instances, Data.TrieMap.Representation.Instances.Basic, Data.TrieMap.Representation.Instances.Prim,- Data.TrieMap.Representation.Instances.Foreign, Data.TrieMap.Representation.Instances.Vectors, Data.TrieMap.Representation.Instances.ByteString Data.TrieMap.WordMap,