
On 12/6/10 9:48 AM, Conor McBride wrote:
On 6 Dec 2010, at 14:09, John Smith wrote:
This proposal now has a Wiki page http://haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal
I, like Ashley Yakeley, prefer the name "return" for this context. The name "pure" suggests that applicatives/monads are inherently impure, when in fact they are generally pure. Also the name "return" was chosen specifically because of its similarity to (in spite of its difference from) the imperative keyword, as well as the suggestion of its forming the simplest 'program'--- following the idea of monads as building up programs for executing later. The name "pure" for applicatives has historically conflicted with the similar function for the arrows class (where I think "pure" is a better name than "arr"), and AFAIK applicatives took the name largely because they couldn't reuse "return". Also, there's a difference between breaking legacy code for legitimate improvements (e.g., Applicative=>Monad) vs breaking it just for the sake of breaking it. -- Live well, ~wren