{-# LANGUAGE CPP #-} -- | Only provides orphan instances. module Control.DeepSeq.Containers () where #if MIN_VERSION_deepseq(1,2,0) #if !MIN_VERSION_containers(0,4,2) import Control.DeepSeq (NFData (..)) import Data.Map import Data.Set import Data.IntMap import Data.IntSet import Data.Tree 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 #endif #endif