-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Fully evaluate data structures -- -- This package provides a "deep" version of seq, for fully evluating -- data structures. @package deepseq @version 1.1.0.1 -- | Provides an overloaded function deepseq for fully evaluating -- data structures. module Control.DeepSeq -- | Fully evaluates its argument. The name deepseq is used to -- illustrate the relationship to seq: where seq is shallow -- in the sense that it only evaluates the top level of its argument, -- deepseq traverses the entire data structure evaluating it -- completely. -- -- deepseq can be useful for forcing pending exceptions, -- eradicating space leaks, or forcing lazy I/O to happen. It is also -- useful in conjunction with parallel Strategies (see the -- parallel package). -- -- There is no guarantee about the ordering of evaluation. The -- implementation may evaluate the components of the structure in any -- order or in parallel. To impose an actual order on evaluation, use -- pseq from Control.Parallel in the parallel -- package. deepseq :: (NFData a) => a -> b -> b class NFData a rnf :: (NFData a) => a -> () instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8, NFData a9) => NFData (a1, a2, a3, a4, a5, a6, a7, a8, a9) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8) => NFData (a1, a2, a3, a4, a5, a6, a7, a8) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7) => NFData (a1, a2, a3, a4, a5, a6, a7) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6) => NFData (a1, a2, a3, a4, a5, a6) instance (NFData a1, NFData a2, NFData a3, NFData a4, NFData a5) => NFData (a1, a2, a3, a4, a5) instance (NFData a, NFData b, NFData c, NFData d) => NFData (a, b, c, d) instance (NFData a, NFData b, NFData c) => NFData (a, b, c) instance (NFData a, NFData b) => NFData (a, b) instance (Ix a, NFData a, NFData b) => NFData (Array a b) instance (NFData a) => NFData [a] instance NFData IntSet instance (NFData a) => NFData (IntMap a) instance (NFData a) => NFData (Tree a) instance (NFData a) => NFData (Set a) instance (NFData k, NFData a) => NFData (Map k a) instance (NFData a, NFData b) => NFData (Either a b) instance (NFData a) => NFData (Maybe a) instance (RealFloat a, NFData a) => NFData (Complex a) instance (Integral a, NFData a) => NFData (Ratio a) instance NFData Word64 instance NFData Word32 instance NFData Word16 instance NFData Word8 instance NFData Int64 instance NFData Int32 instance NFData Int16 instance NFData Int8 instance NFData () instance NFData Bool instance NFData Char instance NFData Double instance NFData Float instance NFData Integer instance NFData Word instance NFData Int