      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
    <http://www.gnu.org/software/make/>).

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=<location> install

where <location> determines the installation directory (ie, if <location> 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=<compiler> HCFLAGS=<options>

with suitable values for <compiler> and code <options> (don't forget to put
quotes around <options> 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 <chak@cse.unsw.edu.au>
  Sven Panne <Sven.Panne@informatik.uni-muenchen.de> wrote `GetOpt.hs'

Thanks for patches to Donald Stewart <dons@cse.unsw.edu.au>.
