Hi,

On 12/18/2018 02:52 PM, Cale Gibbard wrote:
Secondarily, it's a bit hard to describe why this is, but I personally
find it a bit obnoxious whenever someone uses 'pure' rather than
'return' if the functor is known to be an instance of Monad and the
generality isn't needed. It's a kind of signal that the code we're
writing is (and perhaps needs to be) Applicative-polymorphic, or that we
lack a Monad instance. So when I see it, I'm forced to consider for a
moment why that might be, and whether I've understood the context
incorrectly (and if it's not the case, that's sort of irritating).

So when I see a suggestion to remove 'return' altogether it's sort of
like "let's make everything mildly annoying to read forever" (by forcing
this thought about exactly how general the code is, and making it
slightly harder to guess the types at a glance).

I personally fully agree with this sentiment: I do find the use of
"pure" vs. "return" to be a very useful signal to the reader.

Moreover, while there is little risk of confusion when arrow
syntax is used, looking just at names, the fact is that the use of the
distinct "returnA" also sends a similar signal to the reader, and
consequently there is a certain consistency in distinct names being
used for the three different computational notions for which (variations of) do-notation is provided.

Best,

/Henrik




This message and any attachment are intended solely for the addressee
and may contain confidential information. If you have received this
message in error, please contact the sender and delete the email and
attachment.
Any views or opinions expressed by the author of this email do not
necessarily reflect the views of the University of Nottingham. Email
communications with the University of Nottingham may be monitored where permitted by law.




_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-prime

Reply via email to