# Hat download page

The latest stable release of Hat is 2.06, available in various distribution formats (listed below). Important patches for the stable version are also provided (at the bottom of the page). The development tree is at version 2.07 and is mainly available via darcs.

Bugfixes and important changes to the system are described in the release notes for each version.

Don't forget to read the system requirements, first, and then the installation instructions.

### Distribution packages

package | machine | version | date | size
--- | --- | --- | --- | ---
Sources (.tar.gz) | any | 2.06 | 2008-10-2 | 1.6Mb
Sources (.tar.gz) | any | 2.05 | 2006-10-23 | 1.6Mb
Sources (.tar.gz) | any | 2.04 | 2005-05-17 | 1.6Mb
Sources (.tar.gz) | any | 2.02 | 2003-03-26 | 1.4Mb
Sources (.tar.gz) | any | 2.00 | 2002-06-14 | 1.5Mb

Alternative locations:
Tarfiles and RPMs:
`ftp://ftp.cs.york.ac.uk/pub/haskell/hat/`
`http://www.cs.york.ac.uk/fp/hat/hat-2.06.tar.gz`
RPMs for RedHat:
`http://www.dtek.chalmers.se/~d95mback/nhc98/`
`http://haskell.org/~petersen/rpms/i386/`
`http://haskell.org/~petersen/srpms/`
FreeBSD port:
`http://freshports.org/devel/hs-hat/`
Darwin port:
`http://darwinports.opendarwin.org//`
Debian packages:
`ftp://ftp.debian.org/debian/pool/main/h/hat/`

Known to work with the following compiler versions upwards:

nhc98 | 1.18
ghc | 5.04.2
ghc | 6.0.1

All the documents available on the web are included in the source package. (* Please note that options/instructions for out-of-date packages may differ slightly from the ones on the web. Always follow the instructions from the package itself.)

The installation instructions should be comprehensive, but if you have any problems, please mail `hat@haskell.org`. (You do not need to be a member of the list to post to it.)

### Patches

patch name | patch to | date | fixes what problem?
--- | --- | --- | ---
config | hat v2.04 | 2006-05-25 | Several small configuration fixes for building Hat with ghc-6.4 and/or gcc-4.x compilers.
-Idirs | hat v2.04 | 2005-07-04 | This patch fixes the directory and file names generated by hat-trans when the original source code is referenced by an upward relative path such as `../../code`. This can particularly occur if you use a `-Idir` or `-idir` option to hmake.
cabal file | hat v2.04 | 2005-07-04 | A replacement for the file `src/hatlib/hat.cabal`, exposing more of internal modules of Hat. This is needed if you encounter an error like "Could not find module `Hat.PreludeBuiltin'"
patbind | hat v2.04 | 2005-06-29 | A patch to fix the translation of pattern-bindings at the toplevel.
cumulative | hat v2.02 | 2003-04-30 | This patch is a cumulative patch that includes the two listed below (redefine and typesyn), and in addition fixes the following problem: In the transformation of a module that defines instances of an imported class whose methods are only in scope qualified, any generated uses of the method names must be qualified too.
redefine | hat v2.02 | 2003-04-24 | A Prelude entity redefined in a user module led to some overlapping auxiliary functions in the hat-transformed module. This patch ensures that a Prelude function is not imported if there is a local redefinition.
typesyn | hat v2.02 | 2003-04-24 | Some complex type synonyms (renaming arrow (function) types) led to incorrect types in the hat-transformed code.
hmake3.06 | hat v2.00 | 2002-10-14 | Enable hat-trans to build with the latest version of hmake (3.06).
pretty-printer | hat v2.00 | 2002-08-28 | Fix a pretty-printing bug in hat-trans, e.g. the transformed version of `f = \ ~(a,b) -> 1` was printed wrongly.
ntohl | hat v2.00 | 2002-07-12 | On some machines (e.g. Solaris), an extra #include is needed to get hold of the ntohl() macro.
script/echo.c | hat v2.00 | 2002-06-19 | This file is missing from the distribution tarfile. You will only need it on platforms where the builtin `echo' command does not understand the `-n' option.

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: 2nd Oct 2008
York Functional Programming Group