----------------------------------------------------------------------------- -- 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: - implicit parameters - scoped type variables (return types left to do). * 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. * For a module with no documentation section, include a "synopsis" header? * Parent button should be removed if there isn't a parent. * a paragraph like > text more text is interpreted strangely: the second line is interpreted as part of the code block, but the second line is non-literal (and markup within it is interpreted normally). Rewrite the lexer using Alex, and fix this at the same time. * derived instance support isn't quite right (doing it properly is hard, though). ----------------------------------------------------------------------------- -- features * merge the indices, adding annotations to distinguish types/classes/functions/ constructors as necessary. * 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). * 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