@hackage deepseq-bounded0.5.4

Bounded deepseq, including support for generic deriving

  • Deprecated

    @hackage/deepseq-bounded-0.8.0.0
  • Dependencies (8)

  • Dependents (3)

    @hackage/seqaid, @hackage/acme-everything, @hackage/leaky
  • Package Flags

      haskell98_fragment
       (off by default)

      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...)

      parallelism_experiment
       (on by default)

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

      just_alias_gseqable
       (on by default)

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

      use_ww_deepseq
       (on by default)

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

      warn_pattern_match_failure
       (off by default)

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

      use_sop
       (on by default)

      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!...).

      nfdata_instance_pattern
       (on by default)

      A flag to assist debugging, affecting a few modules.

For additional documentation, browse to ./HTML (or http://www.fremissant.net/deepseq-bounded).