Monad of no `return` Proposal (MRP): Moving `return` out of `Monad`

Bardur Arantsson spam at scientician.net
Sat Oct 3 09:06:55 UTC 2015


On 10/03/2015 03:01 AM, Henrik Nilsson wrote:
> Hi all,
> 
> Bardur Arantsson wrote:
> 
>> I should also say: I certainly *understand* the
>> textbook argument, [...] but this is not a good
>> *general* argument against change.
> 
> Just to be clear, Graham and I were not at all arguing
> against change in general. But we are, in general,
> urging extreme caution when it comes to non-essential
> breaking changes.
> 
> Measuring breakage by referring to Hackage is just the
> tip of the iceberg. Much breakage, including
> proprietary code, books, research papers, what people
> have learned, is very difficult or impossible to
> measure. Somehow this point seems to have been
> forgotten in the present discussion. The reason there
> has to be really compelling reasons for adopting
> breaking changes is exactly because the full impact of
> those breaking changes is very hard to gauge properly. As
> to this specific proposal, in our opinion, the reasons
> put forward so far for the "monad of no return" are not
> very compelling. And therefore it should not be adopted
> at this point.
> 
>> Have you surveyed the actual number of books out
>> there which show how to implement Monad instances and
>> how many of them would be affected?
> 
> No. we have not. But ought not the burden of proof rest
> with those who are proposing a non-essential breaking
> change? If not, why not?
> 
>> but if we're going that way, then we're going to end
>> up like C++... before C++11/C++14. [...] (stagnatiation)
> 
> We are hardly going to end up like C++ in that sense by
> being very careful before adopting non-essential
> breaking changes. Or even rule them out. Nor, returning
> to this specific proposal, is leaving "return" as a
> method of "Monad" going to mean that Haskell ends
> up being stagnant.
> 
> Further, it is also worth noting that by almost any
> measure C++ is an extremely successful language despite
> its warts.
> 

C++ is what "success at all cost" looks like. (I won't bother responding
to the rest, others have done that adequately.)

Look, I truly[1] do appreciate the arguments in favor of "don't break
things", but I don't think it's borne out by any reasonable reading of
history.

Regards,

[1] At least I think I do. :)



More information about the Libraries mailing list