
But here's the thing: I claim that GR{1-3} aren't going to solve the stability problem. I'm confident about this because they're already the policy. And while it's not entirely impossible to imagine that writing them down more prominently will solve the problems that we have, I don't believe we should count on it.
I agree. They won't solve it. (Incidentally, it's not just GR{1-3} but
also the categorisation into stable/experimental, which GR{1-3} is
predicated on.) But I think they will help. You are sceptical, but
that's fine. We'll see. Provided they are not harmful [and I don't think
you are saying that it is] we can just adopt them and move on.
Completely-solving a complex, multi-faceted problem is hard. But that
should not discourage us from making incremental progress towards that
goal. The base-library splitting proposal (now agreed) is another piece
of incremental progress that does not solve the problem, but will help.
I am not against (in addition) trying to identify particularly painful
problems in the past, and seeing what their root causes were. I just don't
want to de-rail making incremental progress at the same time.
I don't like to see you unhappy, Arnaud!
Simon
On Fri, 13 Oct 2023 at 10:38, Arnaud Spiwack
On Fri, 13 Oct 2023 at 11:16, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
The mandate here is “make Haskell more stable” which is quite
commendable, but it's also very imprecise
Is it imprecise? I think our goal is pretty simple:* a program that compiles and runs with GHC 9.8 should also compile and run with GHC 9.10.* That's it. I think you subscribe to this as a general goal?
I fully subscribe to this goal.
Clearly that is a problem today: many users report that they are using years-old GHCs because the cost of upgrading to the latest version is so high.
Indeed.
The General Rules I suggested at the start of this thread do no more than
articulate that goal, and give some general principles that we seek to follow. I think that does no more than make *explicit *our *implicit *way of working (we spend a lot of time on back-compat discussions). That is, nothing really new here, just making it more explicit.
Can you be more specific about what you don't like?
The general rules are perfectly reasonable. I'm much less enthusiastic about an `experimental` flag of sorts.
But here's the thing: I claim that GR{1-3} aren't going to solve the stability problem. I'm confident about this because they're already the policy. And while it's not entirely impossible to imagine that writing them down more prominently will solve the problems that we have, I don't believe we should count on it. So anyway, we've been having this policy, have we failed to apply it? Why? Or maybe the reason why stability is a concern is because of reasons that aren't caught by this policy, then what is missing? I'm asking these questions in earnest: I really don't know. And I don't think we'll actually make significant progress without getting answers to these questions.