The deepseq package

[ Tags: bsd3, control, library ] [ Propose Tags ]

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.

If you want to automatically derive NFData instances via the GHC.Generics facility, there is a companion package deepseq-generics which builds on top of this package.


Change log changelog
Dependencies array (>=0.3 && <0.6), base (>=4.3 && <4.8) [details]
License BSD3
Category Control
Bug tracker
Source repository head: git clone
this: git clone deepseq-
Uploaded Tue Nov 5 18:36:29 UTC 2013 by HerbertValerioRiedel
Updated Thu Oct 16 07:40:58 UTC 2014 by HerbertValerioRiedel to revision 1
Distributions Arch:, Fedora:, LTSHaskell:, NixOS:, Stackage:
Downloads 35320 total (1590 in the last 30 days)
Rating 2.0 (1 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees