13 lines
625 B
Plaintext
13 lines
625 B
Plaintext
This package provides methods for fully evaluating data structures
|
|
("deep evaluation"). Deep evaluation is often used for adding
|
|
strictness to a program, e.g. in order to force pending exceptions,
|
|
remove space leaks, or force lazy I/O to happen. It is also useful
|
|
in parallel programs, to ensure pending work does not migrate to
|
|
the wrong thread.
|
|
|
|
The primary use of this package is via the 'deepseq' function, a
|
|
"deep" version of 'seq'. It is implemented on top of an 'NFData'
|
|
typeclass ("Normal Form Data", data structures with no unevaluated
|
|
components) which defines strategies for fully evaluating different
|
|
data types.
|