Program files for

Dynamic tabbing for automatic indentation with the layout rule

published in
Journal of Functional Programming, vol 8, no 5, sept 1998,p 493-502.
Guy Lapalme,
Département d'informatique et de recherche opérationnelle,
Université de Montréal, (Canada)

e-mail: lapalme@iro.umontreal.ca


Abstract

We show the design principles of an automatic indentation GNU Emacs mode for Haskell and Miranda(tm), functional languages using the ``layout rule'' instead of the usual parenthetic structures for indentifying dependent program parts.

Capsule Review

The importance of programming tools is often overlooked; we like to read and write about fancy type systems or clever implementation tricks, but when it comes down to actual programming we all rely on tools like editors and compilers. This article describes a Haskell (and Miranda(tm)) indentation mode for Emacs. While this may not sound so exciting it is more difficult than one would first suspect because of the layout rule. The indentation mode described here works incredibly well, and once you have used it there is no going back. Use and enjoy!

These principles are implemented within an Emacs Haskell indentation mode. It can be used either as stand-alone but it is better used as a module within a complete Emacs Haskell development environment.

I have also developped the following Emacs mode: