diff options
-rw-r--r-- | TODO | 160 |
1 files changed, 0 insertions, 160 deletions
@@ -1,160 +0,0 @@ ------------------------------------------------------------------------------ --- Small improvements - -* When no GHC can be found, give an error message that tells you to use - --with-ghc=<path> - -* Instead of receiving the GHC lib dir as input, try to autodetect it with - ghc --print-libdir. Add a --with-ghc flag instead of -B. - -* Print an error message when given -optghc=.. instead of --optghc=.. - --- --------------------------------------------------------------------------- --- Before next release - -* There should be a --maintainer flag to allow Cabal to pass the maintainer - from the .cabal file to the generated docs. - -* The docs don't mention the module header stuff. - ------------------------------------------------------------------------------ --- bugs - -* parser doesn't support doc comments on types in type aliases: - type MyInt = Int -- ^ comment - -* HsParser bug: starting the module with '-- | doc' followed by a declaration - doesn't parse, because the '-- | doc' is interpreted as the module - documentation (the grammar has an S/R conflict because of this). - -* We don't point module references ("..." in doc strings) to the correct - package, they are always assumed to be modules in the current package. - -* For a non-home occurrence of an entity, we should point to the home - location in the doc somehow. This would help to distinguish - multiple functions with the same name (eg. we don't know whether - Prelude.catch is Control.Exception.catch vs. System.IO.Error.catch). - -* The lexer should handle "...." in doc strings, only recognising it if the - contents looks like a module name. - -* Mentioning a qualified identifer in doc loses the qualifier, even when - it is required? (see "[Haskell] auto-qualification of identifiers in - Haddock"). - -* 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). - -* 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. - -* 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?). - -* There's no way to refer explicitly to either a type/class - constructor or data constructor When there are more than one of - these with the same name. Perhaps introduce a special syntax for - them? (eg. ':C' means data constructor C?) - ------------------------------------------------------------------------------ --- features - - -* Optionally show qualifications of identifiers, that is print -"Sequence.map" rather than "map", "Music.T" rather than just "T". The -option for haddock could be - --qualification QUAL - QUAL=none (default) strip off qualification (just "map") - QUAL=orig show the identifiers as they are written in the module (e.g. "map" or "List.map") - QUAL=full show all identifiers with full qualification (Data.List.map) - Actually I tried to implement it by myself in the old Haddock, but I -could not precisely identify the place, where the qualification is -removed. - -* Documentation of arguments of type constructors other than 'top level' arrows. E.g. - T (a {- ^ arg -} -> b {- ^ result -} ) - (a {- ^ arg -} -> b {- ^ result -} ) -> c - (a {- ^ x coord -}, b {- ^ y coord -}) -> c - It's probably difficult to format properly in HTML. - -* Do something better about re-exported symbols from another package. - -* Haddock could compare interfaces from multiple versions of a module - and indicate changes between versions (eg. a small "new!" or - "changed!" icon, or "stable since 1.0"). - -* Something equivalent to JavaDoc's @since - -* Source code: various people want to get at the source code from the docs. - * Optionally include source code for a function in its docs? - * Suggestion from Benjamin Pierce: generat separate HTML pages with the - source code, with anchors that you can link to from the docs. - Sounds fairly easy to implement... - -* Parse and remember {-# SOURCE #-} imports, possibly do something sensible - with them? - -* 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). - -* Comments on components of a tuple, for argument or return types. - -* Add a search feature which just invokes Google? - -* 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? - -* Add a way to indicate DEPRECATED functions/types/modules? Perhaps - parse the GHC DEPRECATED pragma? - ------------------------------------------------------------------------------ --- cosmetic - -* Allow more parts of the documentation to be squashed and expanded? - -* 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 - |