4 ms·
Actually, Haskell is not a completely lazy language. It is (literally) "non-strict" and that means that it intersperses both modes. GHC tries to do its best wi
by dmytrish 11y ago
Actually, Haskell is not a completely lazy language. It is (literally) "non-strict" and that means that it intersperses both modes.
GHC tries to do its best with its strictness analyzer; it looks it works in many simple cases, still blowing up in non-trivial places, producing space leaks. Although I must say that space leaks may be very well produced by a redundant strictness and people who want strictness by default seem a bit luddistic to me.
My ideal language (or rather its compiler/runtime) would do complete analyses of what strategy suits each part of the program. By the way I'm a little surprised by Haskell insistence on static analysis, disregarding tracing VM and automatic run-time profiling.
- tome 11y ago> It is (literally) "non-strict" and that means that it intersperses both modes. That's not actually what "non-strict" means. https://wiki.haskell.org/Lazy_vs._non-strict https://wiki.haskell.org/Lazy_vs._non-strict