# Hat system requirements

### You will need...

To build and use Hat, you will need

- a Haskell'98 compiler that supports the standard FFI (i.e. nhc98 or ghc)
- the hmake compilation manager
- GNU make
- a C compiler (usually gcc)
- at least 128Mb of memory (256Mb with ghc -O)
- disk space: 30Mb (nhc98), 50Mb (ghc)

Here are the minimum versions of software that we recommend: anything earlier than these is unlikely to interoperate correctly with Hat-2.04.

software | minimum version
--- | ---
ghc | 5.04.2
nhc98 | 1.18
hmake | 3.07
gcc | 2.8.1

You only need one Haskell compiler - the Hat installation procedure will detect what you already have and use it. However, it is absolutely essential that you have hmake. Not only is it needed to build the various Hat tools, but you will also need it when you want to build tracing versions of your own programs.

You must also have a Unix-like operating system environment with X windows, in particular the resize command, and the xterm terminal emulator supporting ANSI colour codes. This is used when you start one browsing tool from within another, to bring up a new text window. If you are using the Windows operating system, then Cygwin is the appropriate environment to use - it includes the eXceed X-server. For MacOS X, you should install the Apple XFree86 server, or an equivalent.

If you do not have gcc as your C compiler, you will need to ensure that your CC environment variable is set to the name of your C compiler at the configuration stage. For instance,

        CC=cc   ./configure --buildwith=...

The browsing tools may use the glib C library, which is related to the larger gtk+ set of libraries. If it is available, the automatic configuration of Hat will detect and use it. (If it is not available, our own replacement code will be used, but it is slightly slower.) If glib is available, it is important that you have version glib-1.2.x (although you may also have another version glib-2.0.x installed simultaneously). The latest version in the 1.2.x series is glib-1.2.10, and it is available from ftp.gtk.org.

### GHC requirements

If you have ghc, then a package is built, containing various Hat libraries. The installation procedure attempts to install the new `hat' package in the system directories that belong to ghc. You must have the appropriate permissions to write into those directories, and sufficient permissions to update the system-wide ghc package configuration. (The installation and configuration is performed automatically.)

### nhc98 requirements

If you have nhc98, then a package is built, containing various Hat libraries. The installation procedure attempts to install the new `hat' package in the system directories that belong to nhc98. You must have the appropriate permissions to write into those directories. (The installation is performed automatically.)

The latest updates to these pages are available on the WWW from `http://www.haskell.org/hat/`
`http://www.cs.york.ac.uk/fp/hat/`

This page last modified: 12th October 2004
York Functional Programming Group