-- 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.0
-- | 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