----------------------------------------------------------------------------- -- bugs * Pick the preferred export names as per the paper. * 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). * remove the s/r conflicts I added to the grammar * Support for the rest of GHC extensions in the parser: - scoped type variables (return types left to do). - template haskell - explicit kind annotations * Be a bit cleaner about error cases: some internal errors can be generated by bugs in the Haskell source. Divide out the proper internal error cases and emit proper error messages. * derived instance support isn't quite right (doing it properly is hard, though). * Referring to something that has a defn but no type signature doesn't elicit a useful message. * The synopsis generated for a module with no docs should not attempt to link to the doc for each entity. We need a different kind of summary here: what we really want is just the documentation section but without the extra whitespace between decls. * We don't handle non-ASCII characters in doc comments. (need to specify the encoding in the generated HTML too?). ----------------------------------------------------------------------------- -- features * nested itemized and enumerated lists. * There ought to be a way to include some structure in the "description" (section headings, etc.) and possibly in other comments. (suggseted by Daan). * Comments on instance declarations? (suggested by Daan and Iavor). * Comments on default method declarations? (suggested by Satnam). * Add a search feature which just invokes Google? * Do the unlitting/CPPing from Haddock itself so we get the source file links right. * attributes for individual declarations, eg. -- #abstract or targetted to a specific decl: -- #T: abstract #long, #short, #noinstances (on a type or class) #inline, #noinline on a module export * Allow documentation annotations to explicitly name the entity they refer to. * In the contents page, indicate portability/stability of each module somehow. * Add back-references from the definition to the uses of types/classes (perhaps in the index?) * Add a link to the defining location of a re-exported entity * fixities * include file revision info in module headers * Allow individual function arguments to be documented when the function type is a record element? * hiding instances? ----------------------------------------------------------------------------- -- cosmetic * for a constructor, don't fill its entire cell with a grey background. * switch to longer rendering form for datatypes when necessary? * remove extra whitespace from the generated HTML to save space