deepseq-1.3.0.0: Deep evaluation of data structures

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.