Libraries in Hat
Currently, Hat fully supports the Standard Prelude and official
Haskell'98 libraries, defined in the
Haskell '98 Library Report:
No other extension libraries (such as those in the GHC hslibs
collection) are yet supported by default, in particular, neither
the commonly used IOExts nor Foreign.
If you wish to trace a program that uses some libraries, then at the
moment you need to copy the source for that library into the same
source tree as your program, and explicitly compile it for tracing
along with the program. Obviously this requires that the library
itself is implemented in pure Haskell'98. If you trust that the
library is correct and do not wish to trace its internal calls,
then you can give the flag -trusted to hat-trans
(for that library alone).
We have ideas for the future whereby a library can be used in its
original form without needing re-compilation for tracing, but for
the moment that remains a dream. However, we do plan to support
at least some of the hslibs library collection explicitly (by
transforming them) within the hierarchical module namespace that
will soon ship with both ghc and nhc98.
The latest updates to these pages are available on the WWW from
York Functional Programming Group