Dependencies for leaky-0.3.0.2

leaky

Flags

Manual Flags

NameDescriptionDefault
hello_hackage_visitor
Note to those reading on Hackage:
Please ignore these flags, which would be better presented in a collapsed state. The flags are mostly for development purposes.
Disabled
turn_on_seqaid_plugin

Only when True, provide the options to enable the seqaid preprocessor and GHC plugin.

Enabled
omnitypic

Blanket seqaid harness at subexpressions of all possible types. Shouldn't need a Cabal flag for this, but it's the same problem of casing over integer values for a macro (in a .cabal file). So this need not be orthogonal to FORCING_STRATEGY, but this way it is ... which is okay, actually. (Can then test interactions with other FS=0..6.)

Disabled
test_seqaidpp

Finally crumbed and availed myself of -F -pgmF, although only for things which are fairly safe via regex (injecting imports, top-level splices, "deriving instance" statements, LANGUAGE pragmas, etc.). (Later: You can't really do without this anymore, although with FORCING_STRATEGY=4 it is possible.)

Enabled
stats

Dump periodic stats lines, for FORCING_STRATEGY that need it.

Enabled
using_sandbox

I use them, but it's not default because it makes for much longer initial build, as all the dependencies (except base libs) need first to be installed into the sandbox.

Disabled
use_second_module

Temporary for testing... (Later: Sadly this is not so temporary. There is some kind of interference between SOP.TH and Seqaid.TH splices which is still unresolved. So, types needing NFDataP (etc.) instances will need to live in a module which is not being harnessed.)

Enabled
profile

Enable profiling

Disabled
use_growing_list

The problem with using a growing list is, it itself is a leak (as it were), so it's hard to see you've plugged anything. However, the slowdown of "force" relative to "forcep" will be noticed! Alternative to GROWING is FIXED (is at length 10000 at the moment). Fixed list is infinite if INFINITE set below. (INFINITE has no effect when GROWING set.)

Enabled
use_growing_list_reduction

XXX For some reason, memory is being retained when REDUCTION is enabled. (Later: Is this still the case? I see it's been set to True throughout development...).

Enabled
use_infinite_list

To show DeepSeq.force (FORCING_STRATEGY=1) at its worst.

Disabled
use_strict_blob

Put some weighty strict subtrees in the test data structure, so can showcase forcep's specificity relative to forcen.

Enabled
Automatic Flags
NameDescriptionDefault
use_cpphs

Non-manual flag to allow the build system to try cpphs first, and if that fails, then to try system-wide cpp (typically GNU). I've actually toggled the default, so the build system will try for a system-wide cpp first, and failing that, will try to use cpphs, installing it if necessary. I prefer cpp. I am not getting my most invaluable -Wundef option with cpphs using -optP-Wundef -optP--cpp in my ghc-options. Does cpphs implement it? Not sure...

Disabled
cowboy

Non-manual flag to try to respond to rogue build failure reports from misconfigured auto-build systems.

Disabled

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