|
|
|
# Defaulting
|
|
|
|
|
|
|
|
[ Ambiguous Types, and Defaults for Overloaded Numeric Operations](http://www.haskell.org/onlinereport/decls.html#sect4.3.4) in the Haskell 98 Report.
|
|
|
|
|
|
|
|
|
|
|
|
For removal:
|
|
|
|
|
|
|
|
- Defaults are limited to certain classes. A tool like Hat, which transforms Haskell source, cannot transform the defaults, because there is no way make defaults apply to the transformed classes rather than the original ones.
|
|
|
|
|
|
|
|
|
|
|
|
For fixing:
|
|
|
|
|
|
|
|
- Report specification when it comes to defaulting is impossible to implement when general recursive modules are allowed.
|
|
|
|
- It should be specified that a group of mutually recursive modules must have exactly the same defaulting.
|
|
|
|
|
|
|
|
|
|
|
|
For replacement:
|
|
|
|
|
|
|
|
- Perhaps require a default clause to name the class being defaulted over, as well as the type to choose. |