Don't add more functions like concatSep to the standard library or prelude.  Instead 
document
what is there better.  I found it far easier to find functions in the Standard ML Basis
library than in the Haskell standard.  Here are some suggestions for what could be 
done:
(1) document the IO functions in one place, so I don't have to search both Report and
    the Library Report.  Ditto for other modules.  I suggest that all the function
    specifications be in the Library Report.  The information about which functions
    are available in the prelude should be given in both the function description in
    the Library Report, and in the description of the prelude in the Report
    (which could say, all modules are implicitly preceded by the following imports:
    import IO(putStr,...), or some such text).
(2) document all functions with some text, or at least an example.  Currently many 
functions
    are documented only by their implementation (which, as we have seen on the Haskell
    mailing list, is sometimes actually buggy), and others are not documented at all.
    I recommend the style of the Haskell Report which includes a great deal of
    helpful commentary along with the definitions.
(3) there should be an index of all functions, linked via page numbers/HTML links to
    the actual definitions.
(4) Haskell implementors should be encouraged to modify the library report by adding
    their own functions and comments directly into the main text.  These should of
    course be clearly marked in a standard way, EG using the HTML emphasis tag
    (which I forget the name of but which I think normally produces italics).  Also the
    title page of the library report thus modified should indicate that it is not
    the vanilla version but modified for GHC 4.04 (or whatever).


Reply via email to