Difference between revisions of "Talk:Functor-Applicative-Monad Proposal"

From HaskellWiki
Jump to navigation Jump to search
(New page: === Fail === <hask>fail</hask> is useful for the error monad, <hask>Either String a</hask>. === Pointed === If <hask>return</hask> is the only method of the <hask>Pointed</hask> class t...)
 
(→‎Pure vs. return: new section)
Line 6: Line 6:
   
 
If <hask>return</hask> is the only method of the <hask>Pointed</hask> class then <hask>Pointed</hask> should be included in the hierarchy. Better to be exactly mathematically correct once and for all.
 
If <hask>return</hask> is the only method of the <hask>Pointed</hask> class then <hask>Pointed</hask> should be included in the hierarchy. Better to be exactly mathematically correct once and for all.
  +
  +
== Pure vs. return ==
  +
  +
When combining <hask>pure</hask> and <hask>return</hask>, perhaps we should use the name <hask>pure</hask>, or something else besides <hask>return</hask>? It would defy convention, yes, but we would already be making changes that would require a Legacy module for backwards compatability, and it may reduce confusion over what the function actually does, because Haskell's <hask>return</hask> is nothing like "return" in other languages.

Revision as of 20:43, 1 January 2011

Fail

fail is useful for the error monad, Either String a.

Pointed

If return is the only method of the Pointed class then Pointed should be included in the hierarchy. Better to be exactly mathematically correct once and for all.

Pure vs. return

When combining pure and return, perhaps we should use the name pure, or something else besides return? It would defy convention, yes, but we would already be making changes that would require a Legacy module for backwards compatability, and it may reduce confusion over what the function actually does, because Haskell's return is nothing like "return" in other languages.