generic-deepseq
Version 2.0.1.1 revision 1 uploaded by AdamBergmark.
Package meta
- Synopsis
- Generic deep evaluation of data structures
- Description
This package provides a deepseq function analogous to seq, except that it traverses the entire data structure, evaluating it fully, and not just up to head normal form.
Using lists as an example:
> [1,2,undefined] `seq` 3 3
Whereas with deepseq:
> [1,2,undefined] `deepseq` 3 *** Exception: Prelude.undefined
Unlike the
deepseq
package, this implementation is based on the GHC.Generics framework as found in GHC >= 7.2, so that it can generate instances automatically for any datatype that has a Generic instance, without further code.data MyType = MyType String Int (Maybe Double) deriving Generic instance DeepSeq MyType
Changes in version 2.0.0.0:
Vastly improved performance. As a consequence of these changes, the member function of the DeepSeq class is now rnf, instead of deepseq.
New instances for functions, Ratio and Complex types.
Changes in version 2.0.1.0:
Fix the U1 and V1 instances.
Changes in version 2.0.1.1:
No functional changes, updated to correct the URLs of the repository and the issue tracker.
- Author
- Maxime Henrion
- Bug reports
- http://bitbucket.org/mux/generic-deepseq/issues/
- Category
- Control, Generics
- Copyright
- 2012, Maxime Henrion
- Homepage
- n/a
- Maintainer
- Maxime Henrion <mhenrion@gmail.com>
- Package URL
- n/a
- Stability
- n/a