Re:Haskell: The Bad Parts, part 2 (2020)
by PhineasRex on Tuesday February 09, 2021 @06:36PM
(#26084010)
Making Haskell strict-by-default would also break the rewrite engine which is the core of Haskell's high performance with functional combinators.
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
Re:Haskell: The Bad Parts, part 2 (2020)
by rowanG077 on Thursday February 11, 2021 @03:37PM
(#26106787)
I don't see how the rewrite engine would break if Haskell would be strict. Can you expand on that?
Idris for instance is strict "by default" but still supports laziness through the Lazy data type.
Forgot about Idris.
Elm, PureScript, OCaml (Reason/ReScript) and F# did come to mind.
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?