Source

generic-deepseq / generic-deepseq.cabal

Full commit
Name:		generic-deepseq
Version:	2.0.1.1
License-File:	LICENSE
License:	BSD3
Author:		Maxime Henrion
Copyright:	2012, Maxime Henrion
Maintainer:	Maxime Henrion <mhenrion@gmail.com>
Bug-Reports:	http://bitbucket.org/mux/generic-deepseq/issues/
Category:	Control, Generics
Synopsis:	Generic deep evaluation of data structures
Build-Type:	Simple
Cabal-Version:	>= 1.6
Tested-with:	GHC ==7.4.1
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.

Source-Repository head
  Type:			mercurial
  Location:		http://bitbucket.org/mux/generic-deepseq/

Library
  Build-Depends:	base >= 3 && < 5, ghc-prim >= 0.2
  Hs-Source-Dirs:	src
  Exposed-Modules:	Control.DeepSeq
  Extensions:		FlexibleContexts, TypeOperators
  GHC-Options:		-Wall -O2