Hat Logo

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