Personal tools

Talk:Functor-Applicative-Monad Proposal

From HaskellWiki

(Difference between revisions)
Jump to: navigation, 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

1 Fail

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

2 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.

3 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.