Personal tools

Haddock/Development ideas

From HaskellWiki

< Haddock(Difference between revisions)
Jump to: navigation, search
(Remove implemented idea)
(doctest does the QC stuff)
 
Line 2: Line 2:
   
 
* It would be good to have a recursive flag that would operate on all the .hs and .lhs files under a single directory.
 
* It would be good to have a recursive flag that would operate on all the .hs and .lhs files under a single directory.
* There should be an annotation to include a function's entire definition in the documentation. This would be useful for functions like <hask>(.)</hask> and <hask>mapM</hask> where the definition is the clearest possible documentation, and for QuickCheck properties that specify the behavior of a library.
+
* There should be an annotation to include a function's entire definition in the documentation. This would be useful for functions like <hask>(.)</hask> and <hask>mapM</hask> where the definition is the clearest possible documentation.
 
* There should be an option to include a simplified implementation of a function that is equivalent to the one in the code. For instance, instead of showing a complex implementation of List.length that makes use of stream fusion we could show a simple one based on foldl'.
 
* There should be an option to include a simplified implementation of a function that is equivalent to the one in the code. For instance, instead of showing a complex implementation of List.length that makes use of stream fusion we could show a simple one based on foldl'.
 
* Optionally [http://www.haskell.org/pipermail/haskell-cafe/2008-January/038211.html show qualifications of identifiers], that is print <hask>Sequence.map</hask> rather than <hask>map</hask>, <hask>Music.T</hask> rather than just <hask>T</hask>. The option for haddock could be <code>--qualification QUAL</code>
 
* Optionally [http://www.haskell.org/pipermail/haskell-cafe/2008-January/038211.html show qualifications of identifiers], that is print <hask>Sequence.map</hask> rather than <hask>map</hask>, <hask>Music.T</hask> rather than just <hask>T</hask>. The option for haddock could be <code>--qualification QUAL</code>

Latest revision as of 19:11, 14 March 2014

Most of these ideas are very old, but some may still be relevant.

  • It would be good to have a recursive flag that would operate on all the .hs and .lhs files under a single directory.
  • There should be an annotation to include a function's entire definition in the documentation. This would be useful for functions like
    (.)
    and
    mapM
    where the definition is the clearest possible documentation.
  • There should be an option to include a simplified implementation of a function that is equivalent to the one in the code. For instance, instead of showing a complex implementation of List.length that makes use of stream fusion we could show a simple one based on foldl'.
  • 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
    • none (default) strip off qualification (just
      map
      )
    • orig show the identifiers as they are written in the module (e.g.
      map
      or
      List.map
      )
    • full show all identifiers with full qualification (
      Data.List.map
      )