News for hackers. Stuff that matters.
Re:Upcoming/proposed breaking changes to Haskell by mdm12 on Wednesday November 17, 2021 @06:28AM (#29251607)
The return/pure distinction is due to history, I believe. The Monad typeclass was defined before the Applicative typeclass.

Part of the fun of being a research language is that you don't know everything up-front!

Re:Upcoming/proposed breaking changes to Haskell by quchen on Wednesday November 17, 2021 @07:23AM (#29252138)
Monad and Functor were first, if I remember correctly Applicative made its debut when Parsec became popular. For a long time, the hierarchy was »Functor ===> Applicative, Monad is independent«.

We made Applicative a superclass of Monad around 2015, and since then return has been a historical artifact (with a dangerously misleading name).

Re:Upcoming/proposed breaking changes to Haskell by 1-more on Wednesday November 17, 2021 @09:34AM (#29253497)
ty for this history! I write haskell at work but with an honestly middling understanding of the category theory that goes into what typeclasses are supersets of other typeclasses. Mostly because we use an overly verbose version of Prelude. So it's wild to me that these mathy bits were not always set in stone!