packages feed

leaky-0.1.7.0: rough-fs-twiddling-guide.txt

Dec 17 / Dec 21, 2014

This is (hopefully) instructions on how to exercise
the various FORCING_STRATEGY's.  I can't say I've
tested this very religiously.  Writing this document
helped me make a complicated procedure much simpler!
This document is hardly called for anymore.

Note that the same seqaid.config can be used in all cases.

Oops, need two seqaid.config's after all...

#if FORCING_STRATEGY == 0
  import Types_no_SOP
#else
#if FORCING_STRATEGY <= 3
  import Types_explicit_SOP
#else
  import Types_no_SOP
#endif
#endif

 - FS=0 (does no forcing)
    - cp seqaid.config_no_SOP seqaid.config
    - leaky.cabal TURN_ON_SEQAID_PLUGIN flag must be False
       - invoke cabal configure --flag=-TURN_ON_SEQAID_PLUGIN
       - or, just edit the default in leaky.cabal

 - FS=1 (rnf)
    - cp seqaid.config_explicit_SOP seqaid.config
    - no change needed from FS=0
    - this would perform immesurably worse if we turned on USE_INFINITE_LIST

 - FS=2 (rnfn)
    - no change needed from FS=0,1

 - FS=3 (rnfp)
    - no change needed from FS=0,1,2

 - FS=4 (manual seqaid)
    - cp seqaid.config_no_SOP seqaid.config
    - leaky.cabal TURN_ON_SEQAID_PLUGIN flag must be True

 - FS=5 (top-level RHS's)
    - no change needed from FS=4

 - FS=6 (seqaid.config type-directed harnessing)
    - no change needed from FS=4,5