
On Sat, 2015-10-10 at 16:39 -0400, Edward Kmett wrote:
On Sat, Oct 10, 2015 at 4:12 PM, Yuras Shumovich < shumovichy@gmail.com> wrote:
There is no reason to include `return` into the next standard. That is true.
Nobody is saying that we should remove return from the language. The proposal was to move it out of the class -- eventually. Potentially on a very very long time line.
Yes, I meant there were no reason to include `return` into `Monad` class in the next standard.
There are some niggling corner cases around viewing its continued existence as a compiler "extension" though, even just around the behavior when you import the class with Monad(..) you get more or less than you'd expect.
Indeed that is a good argument.
The cost of doing nothing is maintaining a completely redundant member inside the class for all time
Well, it is just a single line of code. Of course, as any other technical dept, it can beat you later, e.g. it can make some other modification harder. But in the worst case it will cost one more deprecation circle.
and an ever-so-slightly more expensive dictionaries for Monad
Do you mean that moving `return` to the top level will give us noticeable performance improvement?
so retaining return in the class does no real harm operationally.
IMO that is the reason for the "ruckus". Thank you for the detailed answer. Yuras
While I'm personally somewhat in favor of its eventual migration on correctness grounds and believe it'd be nice to be able to justify the state of the world as more than a series of historical accidents when I put on my libraries committee hat I have concerns.
I'm inclined to say at the least that IF we do decide to proceed on this, at least the return component should be on a long time horizon, with a clock tied to the release of a standard, say a Haskell2020. I stress IF, because I haven't had a chance to go through and do any sort of detailed tally or poll to get a sense of if there is a sufficient mandate. There is enough of a ruckus being raised that it is worth proceeding cautiously if we proceed at all.
-Edward