[commit: haddock] alexbiehl-patch-1, ghc-head, ghc-head1, headdock-library-1.4.5, ie_avails, master, pr-filter-maps, pr/cabal-desc, v2.18, wip/revert-ttg-2017-11-20, wip/ttg-2017-10-13, wip/ttg-2017-10-31, wip/ttg-2017-11-06, wip/ttg2-2017-11-10, wip/ttg3-2017-11-12, wip/ttg4-constraints-2017-11-13: Improve documenation of Haddock markup (#614) (d300632)

git at git.haskell.org git at git.haskell.org
Mon Nov 20 21:07:59 UTC 2017


Repository : ssh://git@git.haskell.org/haddock

On branches: alexbiehl-patch-1,ghc-head,ghc-head1,headdock-library-1.4.5,ie_avails,master,pr-filter-maps,pr/cabal-desc,v2.18,wip/revert-ttg-2017-11-20,wip/ttg-2017-10-13,wip/ttg-2017-10-31,wip/ttg-2017-11-06,wip/ttg2-2017-11-10,wip/ttg3-2017-11-12,wip/ttg4-constraints-2017-11-13
Link       : http://git.haskell.org/haddock.git/commitdiff/d300632cbc2346f6d95188426e5db5fbeb7c9f34

>---------------------------------------------------------------

commit d300632cbc2346f6d95188426e5db5fbeb7c9f34
Author: Nathan Collins <nathan.collins at gmail.com>
Date:   Thu May 11 02:47:55 2017 -0700

    Improve documenation of Haddock markup (#614)
    
    * Improve documentation of Haddock markup.
    
    - document that Haddock supports inferring types top-level functions
      with without type signatures, but also explain why using this
      feature is discouraged. Looks like this feature has been around
      since version 2.0.0.0 in 2008!
    
    - rework the "Module description" section:
    
      - move the general discussion of field formatting to the section
        intro and add examples illustrating the prose for multiline
        fields.
    
      - mention that newlines are preserved in some multiline fields, but
        not in others (I also noticed that commas in the `Copyright` field
        are not preserved; I'll look into this bug later).
    
      - add a subsection for the module description fields documentation,
        and put the field keywords in code formatting (double back ticks)
        instead of double quotes, to be consistent with the typesetting of
        keywords in other parts of the documentation.
    
      - mention that "Named chunks" are not supported in the long-form
        "Module description" documentation.
    
    - fix formatting of keywords in the "Module attributes"
      section. Perhaps these errors were left over from an automatic
      translation to ReST from some other format as part of the transition
      to using Sphinx for Haddock documentation? Also, add a missing
      reference here; it just said "See ?"!
    
    - update footnote about special treatment for re-exporting partially
      imported modules not being implemented. In my tests it's not
      implemented at all -- I tried re-exporting both `import B
      hiding (f)` and `import B (a, b)` style partial imports, and in both
      cases got the same result as with full imports `import B`: I only
      get a module reference.
    
    * Rework the `Controlling the documentation structure` section.
    
    My main goal was to better explain how to use Haddock without an
    export list, since that's my most common use case, but I hope I
    improved the section overall:
    
    - remove the incomplete `Omitting the export list` section and fold it
      into the other sections. In particular, summarize the differences
      between using and not using an export list -- i.e. control over what
      and in what order is documented -- in the section lead.
    
    - add "realistic" examples that use the structure markup, both with
      and without an export list. I wanted a realistic example here to
      capture how it can be useful to explain the relationship between a
      group of functions in a section, in addition to documenting their
      individual APIs.
    
    - make it clear that you can associate documentation chunks with
      documentation sections when you aren't using an export list, and
      that doing it in the most obvious way -- i.e. with `-- |`, as you
      can in the export list -- doesn't work without an export list. It
      took me a while to figure this out the first time, since the docs
      didn't explain it at all before.
    
    - add a "no export list" example to the section header section.
    
    - add more cross references.
    
    * Add examples of gotchas for markup in `@...@`.
    
    I'm not sure this will help anyone, since I think most people first
    learn about `@...@` by reading other people's Haddocks, but I've
    documented the mistakes which I've made and then gotten confused by.
    
    * Use consistent Capitalization of Titles.
    
    Some titles were in usual title caps, and others only had the first
    word capitalized. I chose making them all use title caps because that
    seems to make the cross references look better.


>---------------------------------------------------------------

d300632cbc2346f6d95188426e5db5fbeb7c9f34
 doc/markup.rst | 450 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 357 insertions(+), 93 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc d300632cbc2346f6d95188426e5db5fbeb7c9f34


More information about the ghc-commits mailing list