3 ms·
I understand the historic context of laziness, and what it "brought" or "taught" us. But is it really that important now, or moving forward? I side with Snoyman
by cies 6y ago
I understand the historic context of laziness, and what it "brought" or "taught" us. But is it really that important now, or moving forward? I side with Snoyman in the "strict by default would probably be better".
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?
- cycloptic 6y agoIsn't that basically every other ML variant?
- wk_end 6y agoNot exactly. Syntax-aside, MLs in general: have better module systems than Haskell, no typeclasses, and aren’t pure.
- pera 6y agoIdris for instance is strict "by default" but still supports laziness through the Lazy data type.
- cies 6y agoForgot about Idris. Elm, PureScript, OCaml (Reason/ReScript) and F# did come to mind.
- PhineasRex 6y agoMaking 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
- rowanG077 6y agoI don't see how the rewrite engine would break if Haskell would be strict. Can you expand on that?