diff options
| author | simonmar <unknown> | 2005-02-02 16:23:04 +0000 | 
|---|---|---|
| committer | simonmar <unknown> | 2005-02-02 16:23:04 +0000 | 
| commit | d8450a233a8e9e0fabcd34e9daf53c82db4dd3bd (patch) | |
| tree | 4d05856cf7d2181061b6deb5931a34756dec57c4 /TODO | |
| parent | a8c82f239a7fa8940abb35c32b82b4ebec9f6761 (diff) | |
[haddock @ 2005-02-02 16:23:00 by simonmar]
Revamp the linking strategy in Haddock.
Now name resolution is done in two phases:
 - first resolve everything to original names, like a Haskell compiler
   would.
 - then, figure out the "home" location for every entity, and point
   all the links to there.  The home location is the lowest non-hidden
   module in the import hierarchy that documents the entity.  If there
   are multiple candidates, one is chosen at random.
Also:
 - Haddock should not generate any HTML with dangling links any more.
   Unlinked references are just rendered as plain text.
 - Error reporting is better: if we can't find a link destination for
   an entity reference, we now emit a warning.
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 13 | 
1 files changed, 0 insertions, 13 deletions
@@ -1,16 +1,6 @@  -----------------------------------------------------------------------------  -- bugs -* I've been thinking of a solution along these lines: Haddock -  processes the modules in two phases.  The first phase resolves all the -  names and determines the "definitive" documentation for each entity. -  The second phase makes all the links point to the definitive -  documentation, with certain exceptions: if the entity is also -  documented in the local module, then point there instead.  Perhaps -  there are other exceptions.  We might need a way to indicate -  "definitive", or maybe just the module(s) furthest up the dependency -  tree would do. -  * The lexer should handle "...." in doc strings, only recognising it if the    contents looks like a module name. @@ -39,9 +29,6 @@  * 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  | 
