Stop! Tickets are now managed at GitHub.
Please enter new tickets, and find and edit existing tickets there:
Ticket #155 (closed enhancement: duplicate)
New Functor => Applicative => Monad Hierarchy
|Reported by:||gidyn||Owned by:|
The standard class hierarchy is a consequence of Haskell's historical development, rather than logic. I would therefore like to propose a reform of the Functor, Applicative, and Monad type classes. The new hierarchy is logical, eliminates many duplicate names from the standard type class definitions, and removes the need for boilerplate Monad -> Applicative instance declarations.
The proposal is detailed in the wiki, along with an example of a legacy module to provide some backwards-compatibility.