fgl 5.5.2.0 → 5.5.2.1
raw patch · 6 files changed
+42/−8 lines, 6 filesdep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: containers
API changes (from Hackage documentation)
Files
- ChangeLog +5/−0
- Data/Graph/Inductive/Internal/Heap.hs +8/−1
- Data/Graph/Inductive/NodeMap.hs +8/−1
- Data/Graph/Inductive/PatriciaTree.hs +8/−2
- Data/Graph/Inductive/Tree.hs +8/−2
- fgl.cabal +5/−2
ChangeLog view
@@ -1,3 +1,8 @@+5.5.2.1+-------++* Only create `NFData` instances for GHC >= 7.4.1.+ 5.5.2.0 -------
Data/Graph/Inductive/Internal/Heap.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE CPP #-}+ -- | Pairing heap implementation of dictionary module Data.Graph.Inductive.Internal.Heap( -- * Type@@ -10,15 +12,20 @@ build, toList, heapsort ) where +import Text.Show (showListWith)++#if __GLASGOW_HASKELL__ >= 704 import Control.DeepSeq (NFData (..))-import Text.Show (showListWith)+#endif data Heap a b = Empty | Node a b [Heap a b] deriving (Eq, Show, Read) +#if __GLASGOW_HASKELL__ >= 704 instance (NFData a, NFData b) => NFData (Heap a b) where rnf Empty = () rnf (Node a b hs) = rnf a `seq` rnf b `seq` rnf hs+#endif prettyHeap :: (Show a, Show b) => Heap a b -> String prettyHeap = (`showsHeap` "")
Data/Graph/Inductive/NodeMap.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE CPP #-}+ -- | Utility methods to automatically generate and keep track of a mapping -- between node labels and 'Node's. module Data.Graph.Inductive.NodeMap(@@ -24,7 +26,6 @@ insMapEdgesM, delMapNodesM, delMapEdgesM ) where -import Control.DeepSeq (NFData (..)) import Control.Monad.Trans.State import Data.Graph.Inductive.Graph import Prelude hiding (map)@@ -33,13 +34,19 @@ import Data.Map (Map) import qualified Data.Map as M +#if __GLASGOW_HASKELL__ >= 704+import Control.DeepSeq (NFData (..))+#endif+ data NodeMap a = NodeMap { map :: Map a Node, key :: Int } deriving (Eq, Show, Read) +#if __GLASGOW_HASKELL__ >= 704 instance (NFData a) => NFData (NodeMap a) where rnf (NodeMap mp k) = rnf mp `seq` rnf k+#endif -- | Create a new, empty mapping. new :: NodeMap a
Data/Graph/Inductive/PatriciaTree.hs view
@@ -29,13 +29,17 @@ import Control.Applicative (liftA2) import Control.Arrow (second)-import Control.DeepSeq (NFData (..)) import Data.IntMap (IntMap) import qualified Data.IntMap as IM import Data.List (sort) import Data.Maybe (fromMaybe)++#if __GLASGOW_HASKELL__ >= 704+import Control.DeepSeq (NFData (..))+#endif+ #if __GLASGOW_HASKELL__ >= 702-import GHC.Generics (Generic)+import GHC.Generics (Generic) #endif ----------------------------------------------------------------------@@ -111,8 +115,10 @@ !g3 = addPred g2 v s in Gr g3 +#if __GLASGOW_HASKELL__ >= 704 instance (NFData a, NFData b) => NFData (Gr a b) where rnf (Gr g) = rnf g+#endif matchGr :: Node -> Gr a b -> Decomp Gr a b matchGr node (Gr g)
Data/Graph/Inductive/Tree.hs view
@@ -15,13 +15,17 @@ import Control.Applicative (liftA2) import Control.Arrow (first, second)-import Control.DeepSeq (NFData (..)) import Data.List (foldl', sort) import Data.Map (Map) import qualified Data.Map as M import Data.Maybe (fromMaybe)++#if __GLASGOW_HASKELL__ >= 704+import Control.DeepSeq (NFData (..))+#endif+ #if __GLASGOW_HASKELL__ >= 702-import GHC.Generics (Generic)+import GHC.Generics (Generic) #endif ----------------------------------------------------------------------@@ -121,8 +125,10 @@ (const (error ("Node Exception, Node: "++show v))) cntxt' = (p,l,s) +#if __GLASGOW_HASKELL__ >= 704 instance (NFData a, NFData b) => NFData (Gr a b) where rnf (Gr g) = rnf g+#endif ---------------------------------------------------------------------- -- UTILITIES
fgl.cabal view
@@ -1,5 +1,5 @@ name: fgl-version: 5.5.2.0+version: 5.5.2.1 license: BSD3 license-file: LICENSE author: Martin Erwig, Ivan Lazar Miljenovic@@ -60,7 +60,10 @@ , transformers , containers , array- , deepseq >= 1.1.0.0 && < 1.5.0.0++ if impl(ghc >= 7.4)+ build-depends:+ deepseq >= 1.1.0.0 && < 1.5.0.0 if impl(ghc >= 7.2) && impl(ghc < 7.6) build-depends: