aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: ae886658e317ab207f4cc9bb64e2bf6cb3bb4ed4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
-----------------------------------------------------------------------------
-- 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.

* derived instance support isn't quite right (doing it properly is 
  hard, though).

* Referring to something that has a defn but no typesignature doesn't elicit
  a useful message.

* Trying to re-export something from another package doesn't work (unless
  it's the whole module).  We should give a warning or something.

-----------------------------------------------------------------------------
-- 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).

* Comments on default method declarations?  (suggested by Satnam).

* 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