Dependencies for deepseq-bounded-0.5.4

library
  • array (>=0.5 && <0.6)
  • base (>=4 && <5)
  • deepseq (>=1.3 && <1.4)
  • random (==1.1)
  • if !flag(haskell98_fragment)
  • if flag(use_ww_deepseq)
  • if !flag(haskell98_fragment)
  • if flag(parallelism_experiment)

Flags

Automatic Flags
NameDescriptionDefault
haskell98_fragment

Sacrifice generic deriving, the NFDataPDyn module, and a couple functions from the PatAlg module, in exchange for true Haskell98 conformance (portability). You need to set PARALLELISM_EXPERIMENT, USE_WW_DEEPSEQ, USE_SOP, and NFDATA_INSTANCE_PATTERN to False if you set HASKELL98_FRAGMENT to True. (One thing it insists on is -XPatternGuards, although this could be relieved in the obvious way...)

Disabled
parallelism_experiment

We can selectively use par instead of seq, which is interesting.

Enabled
just_alias_gseqable

The SOP generic function is probably more performant, anyway! (This will be forced False if HASKELL98_FRAGMENT is True.)

Enabled
use_ww_deepseq

Depend on deepseq and deepseq-generics, to provide conditional deep forcing. This is optional.

Enabled
warn_pattern_match_failure

For NFDataP, if a pattern match fails a warning is output to stderr.

Disabled
use_sop

Use the generics-sop package instead of GHC.Generics (in GNFDataN) and instead of SYB (in NFDataPDyn). If USE_SOP is False, and NFDataPDyn, GNFDataP, and GSeqable modules will not be available. Also, if USE_SOP is False, then JUST_ALIAS_GSEQABLE must be False (this is not done for you; the language of Cabal flags makes it hard to write such logic, probably by design!...).

Enabled
nfdata_instance_pattern

A flag to assist debugging, affecting a few modules.

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info