hat-trans reference guide
hat-trans is a stand-alone program that performs a
source-to-source transformation on a single Haskell module, such
that the functions in the transformed module deposit traces in a
.hat file in addition to computing their original results.
The transformed module is written to a file of the same name as the
original, but in a directory called Hat. If the directory
does not exist, hat-trans creates it. If the module is part of the
hierarchical namespace, then a single Hat directory is created
at the root of the tree, and it is populated with new directories
corresponding to the remainder of the hierarchy. For instance, a
module called A.B.C, in a file named A/B/C.hs,
is transformed by hat-trans into a module called Hat.A.B.C,
stored in a file named Hat/A/B/C.hs.