Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why were Haskell 98's standard classes made inferior to Haskell 1.3's?

Why were these things changed for Haskell 98, and why in this way?

Haskell 98 involves a lot of simplification to the language (much of which has since been reversed). The goal was to improve Haskell as a teaching language, and to make relatively conservative choices.

See e.g.

We regarded Haskell 98 as a reasonably conservative design. For example, by that time multi-parameter type classes were being widely used, but Haskell 98 only has single-parameter type classes (Peyton Jones et al., 1997).

In: History of Haskell

And:

Haskell 98 will by no means be the last revision of Haskell. On the contrary, we design it knowing that new language extensions (multi-parameter type classes, universal and existential quantification, pattern guards, etc, etc) are well on the way. However, Haskell 98 will have a special status: the intention is that Haskell compilers will continue to support Haskell 98 (given an appropriate flag) even after later versions of the language have been defined, and so the name `Haskell 98' will refer to a fixed, stable language.

In: Haskell98 report

So, things were simplified, with the goal of producing a simpler standard.