Talk:Functor-Applicative-Monad Proposal: Difference between revisions
(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.