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