Re: MRP, 3-year-support-window, and the non-requirement of CPP (was: [Haskell-cafe] Monad of no `return` Proposal (MRP): Moving `return` out of `Monad`)

(Resending with smaller recipient list to avoid getting stuck in the
moderator queue.)
On Tue, Oct 6, 2015 at 9:10 AM, Herbert Valerio Riedel
On 2015-10-05 at 21:01:16 +0200, Johan Tibell wrote:
On the libraries I maintain and have a copy of on my computer right now: 329
Although this was already pointed out to you in a response to a Tweet of yours, I'd like to expand on this here to clarify:
You say that you stick to the 3-major-ghc-release support-window convention for your libraries. This is good, because then you don't need any CPP at all! Here's why:
[...]
So what do I have to write today to have my Monad instances be: * Warning free - Warnings are useful. Turning them off or having spurious warnings both contribute to bugs. * Use imports that either are qualified or have explicit import lists - Unqualified imports makes code more likely to break when dependencies add exports. * Don't use CPP. Neither AMP or MRP includes a recipe for this in their proposal. AMP got one post-facto on the Wiki. It turns out that the workaround there didn't work (we tried it in Cabal and it conflicted with one of the above requirements.) PS: I'm a bit disappointed you seem to dismiss this proposal right away
categorically without giving us a chance to address your concerns. The proposal is not a rigid all-or-nothing thing that can't be tweaked and revised. That's why we're having these proposal-discussions in the first place (rather than doing blind +1/-1 polls), so we can hear everyone out and try to maximise the agreement (even if we will never reach 100% consensus on any proposal).
So please, keep on discussing!
The problem by discussions is that they are done between two groups with quite a difference in experience. On one hand you have people like Bryan, who have considerable contributions to the Haskell ecosystem and much experience in large scale software development (e.g. from Facebook). On the other hand you have people who don't. That's okay. We've all been at the latter group at some point of our career. What's frustrating is that people don't take a step bad and realize that they might be in the latter group and should perhaps listen to those in the former. This doesn't happen, instead we get lots of "C++ and Java so bad and we don't want to be like them." Haskell is not at risk of becoming C++ or Java (which are a large improvement compared to the languages came before them). We're at risk of missing our window of opportunity. I think that would be a shame, as I think Haskell is a step forward compared to those languages and I would like to see more software that used be written in Haskell. We've been through this many times before on the libraries list. I'm not going to win an argument on this mailing list. Between maintaining libraries you all use and managing a largish team at Google, I don't have much time for a discussion which approaches a hundred emails and is won by virtue of having lots of time to write emails. -- Johan

On 10/06/2015 10:12 AM, Johan Tibell wrote:
(Resending with smaller recipient list to avoid getting stuck in the moderator queue.)
On Tue, Oct 6, 2015 at 9:10 AM, Herbert Valerio Riedel
wrote: PS: I'm a bit disappointed you seem to dismiss this proposal right away categorically without giving us a chance to address your concerns. The proposal is not a rigid all-or-nothing thing that can't be tweaked and revised. That's why we're having these proposal-discussions in the first place (rather than doing blind +1/-1 polls), so we can hear everyone out and try to maximise the agreement (even if we will never reach 100% consensus on any proposal).
So please, keep on discussing!
The problem by discussions is that they are done between two groups with quite a difference in experience. On one hand you have people like Bryan, who have considerable contributions to the Haskell ecosystem and much experience in large scale software development (e.g. from Facebook). On the other hand you have people who don't. That's okay. We've all been at the latter group at some point of our career.
Given that Facebook's motto is "move fast and break things", I'm not sure what to make of this appeal to authority. Ignoring the condescension...
What's frustrating is that people don't take a step bad and realize that they might be in the latter group and should perhaps listen to those in the former.
Have you considered that people might actually have done that and just come to a different conclusion from yours? Have you also considered that people *you've* put in the latter group might actually be in the former in terms of general experience on large language ecosystems/projects/etc.? (Certainly contributing to the Haskell ecosystem does signify a certain level of understanding/insight and shouldn't be *discounted*, but nor should it be used to just outright discount the opinions of others without good reason.)
This doesn't happen, instead we get lots of "C++ and Java so bad and we don't want to be like them." Haskell is not at risk of becoming C++ or Java (which are a large improvement compared to the languages came before them). We're at risk of missing our window of opportunity. I think that would be a shame, as I think Haskell is a step forward compared to those languages and I would like to see more software that used be written in Haskell.
If Haskell is not appealing enough to overcome these obstacles, then it's not very appealing, period. That is: if *this* is the deciding factor, then perhaps one *shouldn't* be using Haskell. (That would be a perfectly legitimate business decision.)
We've been through this many times before on the libraries list. I'm not going to win an argument on this mailing list. Between maintaining libraries you all use and managing a largish team at Google, I don't have much time for a discussion which approaches a hundred emails and is won by virtue of having lots of time to write emails.
I'm sure nobody other than you has any drains on their time outside of posting to this list. (And no, if you're going to argue like you did in this post, then you *aren't* going to win any arguments. That's pretty much a self-fulfilling prophesy.) Regards,
participants (2)
-
Bardur Arantsson
-
Johan Tibell