Signature documentation tool for Standard ML
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
.gitignore
LICENSE
Makefile
PARSE_ARG.sig
ParseArg.sml
README.md
sigdoc.mlb
sigdoc.smackspec
sigdoc.sml

README.md

sigdoc

A signature documentation tool for Standard ML


Sigdoc is a command-line tool (named sigdoc) for generating HTML documentation for Standard ML signatures. It takes as arguments a set of signature files, containing single signatures, and a set of implementation files. Sigdoc scans the signature files to obtain the set of signature identifiers. Then, for each signature identifier, the tool generates a documentation page with documentation for each specified identifier. Also, the tool scans the implementation files for structure identifiers, identifying implementations of the signatures and generates a documentation page with an index over structure identifier (with links to the signature documentation).

The generated HTML documentation embeds an auto-completing search field that depends on the jquery library placed in the lib/ subdirectory. For the generated code to work, copy the content of the lib/ directory into the target directory for the documentation.

Signature files must conform to the following structure:

(** general comment ... *)

signature A = sig
  type a
  ...
  val b : a -> unit
end

(**
  [a] is a type.

  [b a] returns unit.
*)

TODO

Generate also a grouped module overview:

Standard Basis Library
----------------------
General
Option
List
...

Extended Basis Library
----------------------
Pretty
Pickle
SetFun
MapFun
Hash
HashTable
Stack
Queue
Heap
ListSort
Random
Md5
DiGraph
Uref
Cstring
ParseComb

Tool Library
------------
Draw2d
Levenstein
Html