Version 1 (modified by ross@…, 12 years ago) (diff)


Ambiguous Types, and Defaults for Overloaded Numeric Operations 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.