From 5517aa4fc7b26d3c497579f8882f3b43cf4db771 Mon Sep 17 00:00:00 2001
From: Herbert Valerio Riedel <hvr@gnu.org>
Date: Wed, 7 Sep 2011 09:40:51 +0200
Subject: [PATCH 1/2] Remove dependancy and instances for array and container package

See #5468 for more information about the rationale of this change.

Note: This also bumps the package version from `1.1.1.0` to `1.3.0.0`,
thus skipping the major version `1.2` on purpose in order to allow for
an interim release to implement changes such as adding additional
`NFData` instances for `base` (see #5465 for instance).
---
 Control/DeepSeq.hs |   24 ------------------------
 deepseq.cabal      |    6 ++----
 2 files changed, 2 insertions(+), 28 deletions(-)

diff --git a/Control/DeepSeq.hs b/Control/DeepSeq.hs
index f394752..b6e6d52 100644
--- a/Control/DeepSeq.hs
+++ b/Control/DeepSeq.hs
@@ -50,12 +50,6 @@ import Data.Int
 import Data.Word
 import Data.Ratio
 import Data.Complex
-import Data.Map
-import Data.Set
-import Data.IntMap
-import Data.IntSet
-import Data.Tree
-import Data.Array
 import Data.Fixed
 import Data.Version
 
@@ -154,21 +148,6 @@ instance (NFData a, NFData b) => NFData (Either a b) where
     rnf (Left x)  = rnf x
     rnf (Right y) = rnf y
 
-instance (NFData k, NFData a) => NFData (Data.Map.Map k a) where
-    rnf = rnf . Data.Map.toList
-
-instance NFData a => NFData (Data.Set.Set a) where
-    rnf = rnf . Data.Set.toList
-
-instance NFData a => NFData (Data.Tree.Tree a) where
-    rnf (Data.Tree.Node r f) = rnf r `seq` rnf f
-
-instance NFData a => NFData (Data.IntMap.IntMap a) where
-    rnf = rnf . Data.IntMap.toList
-
-instance NFData Data.IntSet.IntSet where
-    rnf = rnf . Data.IntSet.toList
-
 instance NFData Data.Version.Version where
     rnf (Data.Version.Version branch tags) = rnf branch `seq` rnf tags
 
@@ -176,9 +155,6 @@ instance NFData a => NFData [a] where
     rnf [] = ()
     rnf (x:xs) = rnf x `seq` rnf xs
 
-instance (Ix a, NFData a, NFData b) => NFData (Array a b) where
-    rnf x = rnf (bounds x, Data.Array.elems x)
-
 instance (NFData a, NFData b) => NFData (a,b) where
   rnf (x,y) = rnf x `seq` rnf y
 
diff --git a/deepseq.cabal b/deepseq.cabal
index 5db632e..34c5fc4 100644
--- a/deepseq.cabal
+++ b/deepseq.cabal
@@ -1,5 +1,5 @@
 name:		deepseq
-version:        1.1.1.0
+version:        1.3.0.0
 license:	BSD3
 license-file:	LICENSE
 maintainer:	libraries@haskell.org
@@ -28,8 +28,6 @@ source-repository head
 
 library {
   exposed-modules: Control.DeepSeq
-  build-depends: base       >= 3   && < 5, 
-                 containers >= 0.1 && < 0.5,
-                 array      >= 0.1 && < 0.4
+  build-depends: base       >= 3   && < 5
   ghc-options: -Wall
 }
-- 
1.7.4.1

