# Haskell Mode for Emacs

The Haskell mode itself is very basic, but provides a base on which to build modules. The currently supported modules are:

- Font Locking: Colours keywords, comments, strings, etc.
- Declaration Scanning: Scans declarations and places them in a menu. Seems to hang on some files.
- Documentation: Echoes types of functions or syntax of keywords when the cursor is idle. Not up-to-date for Haskell-98.
- Indentation: Provides semi-automatic intelligent indentation.
- Simple Indentation: Provides simple indentation.
- Interaction with an inferior Haskell interpreter. This module supersedes the previous two modules:
  - Hugs Interaction: Allows interaction with the Hugs interpreter.
  - GHCi Interaction: Allows interaction with the GHCi interpreter.

Work on further modules is encouraged! Please mail if you have an idea, or a module we might hook into.

The latest versions of the basic mode and the above modules.

The basic mode was written by Graeme E Moss, Tommy Thorn and Simon Marlow. Modules with their own links above are maintained by their authors; the rest are looking for a maintainer (please volunteer!). These modules support Haskell 98, except where stated, and have been tested on GNU Emacs versions 19.34 and 20.7, and XEmacs versions 21.1.14 and 21.4.x. Please mail bugs and suggestions to the maintainer of the appropriate module. General comments can be mailed to Stefan Monnier. When mailing, quote the version of the module or mode you are using, the version of Emacs you are using, and a small example of the problem or suggestion. Please check the list of known problems (towards the start of each relevant file) before doing so.

A guide on how to install and customise the mode.

To test the mode:

- To test font locking, declaration scanning, and documentation modules, try them on the Haskell script used to illustrate these modules in action.
- To test indentation and simple indentation modules, try them on this Haskell script.