IDoc - A No Frills Haskell Interface Documentation System entry

IDoc extracts interface documentation and declarations from Haskell modules based on standard Haskell layout rules and a small number of clues that the programmer embeds in interface comments. These clues have been designed to be visually non-imposing when displaying the source in a text editor. Interface documentation is rendered in standard markup languages (currently, only HTML is supported). IDoc has been designed to be simple to use and install.

You may want to have a look at a (somewhat silly) example of an IDoc-generated interface document. It was generated from Foo.hs.

The latest news:

IDoc is written in plain Haskell 98, and thus, should work with any standards conforming Haskell system.

Current Status

All features that were planned during initial system design are implemented. The system has, however, only been tested lightly so far.


idoc-0.2.6 [ tar.gz | i386.rpm | src.rpm | i386.deb | i386-unknown-linux.tar.gz ]
Bug fix release for nhc98.
idoc-0.2.5 [ tar.gz | i386.rpm | src.rpm | i386.deb | i386-unknown-linux.tar.gz ]
This is the first release. It is a source release only and also available by anonymous CVS. NB: To use this release with nhc98, you need version 1.12 upwards of nhc98 (which is going to be release soon).

1These binaries are for glibc2.2-based Linux systems (they were built on a Red Hat 7.2 system).


If you have any comments, suggestions, or a bug report, please let me know. Code contributions are of course also welcome.


The code is released under the GNU General Public Licence (GPL). This means that you can basically do with it what you want as long as you contribute improvements to the tool itself back to the community. Any documentation that you generate with the tool is, however, free from any license restrictions from my side. The situation is the same as with, say, the GNU C Compiler (gcc).

This page is part of Manuel Chakravarty's WWW-stuff.

Last modified: 24 August 2009