seqaid- Dynamic strictness control, including space leak repair

CopyrightAndrew G. Seniuk 2014-2015
LicenseBSD-style (see the file LICENSE)
MaintainerAndrew Seniuk <>
PortabilityGHC (portable, though not usefully)
Safe HaskellSafe-Inferred




There are a few user-level annotations here, but mostly seqaid is a non-invasive tool, so it uses a separate seqaid.config file instead.

See Seqaid.Config for details about the seqaid.config file.


User annotations

These are the Seqaid annotations a user can use in their source.

data SeqaidAnnExclude Source

With blanket top-level bind harnessing, this is a means to exclude select binds from harness. The String argument need not (but may) be fully qualified.


SeqaidAnnExclude String 

data SeqaidAnnManual Source

This was used for technical reasons, and is hopefully going to be deprecated very soon. At present, when you use seqaid (not a real function, so no link) to manually wrap an expression for harnessing, you must also give a SeqaidAnnManual annotation naming the bind you're editing.


SeqaidAnnManual String 

For internal use only

These annotations are for internal use. They communicate information between the TH and GHC plugin stages of seqaid.