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

From HaskellWiki

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