Sure it's no longer Haskell then. But could there not be a language like Haskell leveraging strict by default? Possibly even on the GHC?
The whole haskell project is about allowing programmers to write code that is declarative without making concessions for performance. Laziness makes this possible because it abstracts out evaluation order and thus allows extreme optimization by the compiler
Elm, PureScript, OCaml (Reason/ReScript) and F# did come to mind.
This isn’t really obvious to me but I think you could build a mixed reality without splitting a community up.
Only "some things' laziness is more a footgun than a feature, maybe we should consider fixing those".
The foldl/sum/product example in part one is maybe clearer about that.
Implicit, pervasive laziness makes performance non-compositional and more or less impossible to reason about. AIUI the largest industrial deployment of Haskell uses a strict variant for this reason.
Often a defining feature of Haskell is thought to be its purity. Purity arose from non-strictness. Monadic IO arose from non-strictness (other solutions to IO were also tried.)
This is best discussed in a paper: https://www.microsoft.com/en-us/research/wp-content/uploads/...
I guess you could make Haskell strict by default...but why? It wouldn't be Haskell anymore. Non-strictness is the defining element of the language. In my view a strict-by-default Haskell is...something else. Maybe it's better for certain things. Maybe it takes things to the next level. But it isn't Haskell. Don't call it that.