* more compact rendering for datatypes, like data T = -- comment for T A -- comment for A | B -- comment for B * instances: list relevant instances in the documentation for classes and datatypes. * attributes for individual declarations, eg. -- #abstract or targetted to a specific decl: -- #T: abstract * A module re-export should only reference the target module if the target module is imported without hiding any of its exports (otherwise we should inline just the exported bits). * facilities for saving interfaces so that you can run Haddock against something that isn't the Prelude. * Do the unlitting/CPPing from Haddock itself so we get the source file links right. * Allow documentation annotations to explicitly name the entity they refer to. * Add back-references from the definition to the uses of types/classes (perhaps in the index?) * In the contents page, indicate portability/stability of each module somehow. * remove extra whitespace from the generated HTML to save space * split large modules into several pages (perhaps split at each section 1 heading?) * pay attention to import specs! * include file revision info in module headers * Add a link to the defining location of a re-exported entity * fixities * we don't deal with records properly - exporting record selectors etc. * remove the s/r conflicts I added to the grammar * check handling of special types ([], (), (,) etc.) * Horizontal lines? * clean up the layout: don't use table cellspacing, use CSS instead * implicit parameter support in the parser.