IDoc - A No Frills Haskell Interface Documentation System -*-text-*- --------------------------------------------------------- IDoc extracts interface documentation and declarations from Haskell modules based on standard Haskell layout rules and a small number of clues that the programmer may embed 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. Further information can be found at http://www.cse.unsw.edu.au/~chak/haskell/idoc/ Contents: COPYING -- GNU General Public License (GPL) ChangeLog -- Change history Makefile -- Root makefile README -- This file GetOpt.hs -- Sven Panne's Haskell version of GNU getopt IDoc.hs -- The source of the documentation system test/ -- Test data -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= INSTALLING =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Short Summary ~~~~~~~~~~~~~ Simply type `make' to compile IDoc. Type `make install' to install IDoc. NB: The make system requires GNU's make utility to work (see ). The Whole Story ~~~~~~~~~~~~~~~ The default installation location is `/usr/local' (ie, the executable will be installed into `/usr/local/bin'). To change the installation location invoke make as follows % make PREFIX= install where determines the installation directory (ie, if is `/home/chak', the executable will be copied to `/home/chak/bin'). IDoc has been coded in pure Haskell 98, so it should work with any standards conforming Haskell system. There are two make variables that affect the Haskell system that is used for compilation: HC -- determines the Haskell compiler to be used HCFLAGS -- determines the command line options passed to the Haskell compiler both variables can be set either in the `Makefile' or by invoking `make' thus: % make HC= HCFLAGS= with suitable values for and code (don't forget to put quotes around if the string contains white space or characters that have a special meaning on the shell command line). Hugs users can, instead of compiling the source code, simply execute it using `runhugs'. You need to make sure that both source files (`IDoc.hs' and `GetOpt.hs') are were Hugs can load them. Constraints ~~~~~~~~~~~ nhc98: Version 1.12 upwards is needed to build IDoc. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= USAGE =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Upon invocation, the executable `idoc' needs to receive the name of a Haskell source module on the command line. The tool reads the Haskell source and produces an interface documentation document in the selected markup language (currently, this is always HTML). Usage: idoc [ option... ] haskell-file -h, -? --help brief help (the present message) -m LANG --markup-language=LANG generate output in markup language LANG -o FILE --output=FILE write resulting interface description to FILE -v --version show version information Currently supported markup languages: HTML. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COPYLEFT -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= IDoc - A No Frills Haskell Interface Documentation System Copyright (C) 2002 Manuel M T Chakravarty This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CREDITS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Authors: Manuel M T Chakravarty Sven Panne wrote `GetOpt.hs' Thanks for patches to Donald Stewart .