New Library Candidates
Though there is a collection of libraries shared by all implementations, we might still wish to standardize some libraries, for the following reasons:
-
a standard library might have specifications of functions, while some implementations may be optimized.
-
stability of interfaces.
The following headings are suggested criteria for standard libraries. Candidates should go under the heading that best describes the reasons they should be included.
Require or could use compiler support
- Data.Typeable
- Data.Dynamic
- Control.Monad.Fix (for the IO instance)
- Data.IORef
- Control.Monad.ST (requires Rank2Types)
- ImpreciseExceptions
Useful in interfaces between unrelated modules
Generally useful/improvements
- replacement for the ReadClass, using a new parser library.
- ExtensibleExceptions
- monad transformers (though they require MultiParamTypeClasses and FunctionalDependencies)