úÎ šŠ'(c) The University of Glasgow 2001-2009 BSD-style (see the file LICENSE)libraries@haskell.orgstableportableSafe-A class of types that can be fully evaluated.Since: 1.1.0.0rrnf should reduce its argument to normal form (that is, fully evaluate all sub-components), and then return '()'.The default implementation of  is rnf a = a `seq` ()owhich may be convenient when defining instances for data types with no unevaluated fields (e.g. enumerations).C: fully evaluates the first argument, before returning the second. The name + is used to illustrate the relationship to  : where P is shallow in the sense that it only evaluates the top level of its argument, ? traverses the entire data structure evaluating it completely.® 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.Since: 1.1.0.0the deep analogue of . In the expression f $!! x, x) is fully evaluated before the function f is applied to it.Since: 1.2.0.0 a variant of & that is useful in some circumstances: force x = x `deepseq` xforce x fully evaluates x#, and then returns it. Note that force x, only performs evaluation when the value of force xW itself is demanded, so essentially it turns shallow evaluation into deep evaluation.Since: 1.2.0.0Since: 1.3.0.06This instance is for convenience and consistency with <. This assumes that WHNF is equivalent to NF for functions.Since: 1.3.0.0 Since: 1.3.0.0&   !"#$%&'%   !"#$%&'(   !"#$%&'()*+,-.deepseq-1.3.0.2Control.DeepSeqNFDatarnfdeepseq$!!forceghc-primGHC.PrimseqbasePrelude$!$fNFDataVersion $fNFData(->) $fNFDataFixed$fNFData(,,,,,,,,)$fNFData(,,,,,,,)$fNFData(,,,,,,)$fNFData(,,,,,)$fNFData(,,,,) $fNFData(,,,) $fNFData(,,) $fNFData(,) $fNFDataArray $fNFData[]$fNFDataEither $fNFDataMaybe$fNFDataComplex $fNFDataRatio$fNFDataWord64$fNFDataWord32$fNFDataWord16 $fNFDataWord8 $fNFDataInt64 $fNFDataInt32 $fNFDataInt16 $fNFDataInt8 $fNFData() $fNFDataBool $fNFDataChar$fNFDataDouble $fNFDataFloat$fNFDataInteger $fNFDataWord $fNFDataInt