4 ms·
While you're technically right, it's only in the same sense that any TC language can do anything any other TC language can -- you can theoretically always delay
by Quekid5 4y ago
While you're technically right, it's only in the same sense that any TC language can do anything any other TC language can -- you can theoretically always delay any computation behind a lambda, but the ergonomics have wide-ranging consequences. You also don't get any memoization that way -- without further runtime support.
There was a good Reddit thread recently where a lot of experts weighed in: https://www.reddit.com/r/haskell/comments/wpbs4z/what_things_would_be_awkward_to_do_in_a/ikhtng3/ https://www.reddit.com/r/haskell/comments/wpbs4z/what_things...
I recommend reading the thread -- lot's of great stuff in there, but...
TL;DR: It's a lot more complicated than it seems at first and it's far from obvious that strict-by-default is worth the cost.