I can’t resist!
As you say in your post, “Avoid success at all costs” was always intended as a play on words. Of course I never really meant “Avoid success, at all costs”; that was the joke. What I mean was: Avoid success-at-all-costs
That is, let’s cleave strongly to Haskell’s key principles, even is they seem to stand in the way of short-term “success”.
An example is I/O. For literally years Haskell had no I/O to speak of; more precisely, I/O was unreasonably difficult. For practical utility that was pretty inconvenient. But we stuck to purity… and eventually worked out how to combine purely functional programming with I/O, via monads. And that in turn has been a pretty influential idea.
So the point is not to avoid success; but rather to stick closely to Haskell distinctive, principled ideas, and believe that doing so will, over time, lead to success, albeit perhaps success of an unexpected kind.
So I don’t quite agree with your formulation “So while SPJ claims to have been saying “don’t divert too much effort from the main goals to make the platform appealing to production users,”…”. Actually I think that making the platform appealing to production users really is a major goal! It just that I don’t want to make fundamental compromises of core principles in pursuit of short-term production goals.
I think we all agree about this, and it’s what the HF site says on the front page:
- Faithfulness to Haskell’s founding design principles. Haskell’s design puts principle ahead of expediency by cleaving closely to the principles of purely functional programming.