aboutsummaryrefslogblamecommitdiff
path: root/TODO
blob: c6122a2d3e6b0d5fb3169c8836ebed54e9c15800 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                                             
 
                                                                         
 
                                                   
 
                                                                       
 

                                                                        
 
                                                 








                                                                             
 
                                                 


                                                                       
 



                                             
                                                  
                                       
 
                                                                    
 
                                                                     
 
                                                                      
 
                                                             
          
                                              
 

                                                                        
                                                                             
 
                                                                       
 
                                                               
 
                                                               
 
-----------------------------------------------------------------------------
-- bugs

* don't link to M.x if M.x is re-exported via a 'module N' from module M.

* Pick the preferred export names as per the paper.

* instances: need to construct instances for deriving clauses, somehow.

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

-----------------------------------------------------------------------------
-- features

* Add a search feature which just invokes Google?

* Do the unlitting/CPPing from Haddock itself so we get the source file
  links right.

* Allow linking to a section name?

* 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?

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