3 ms·
Haskell and Scala share complicated and fragmented programming styles. But Haskell has additional dimensions of complications (and thus fragmentation) due to:
by dogweather 7y ago
Haskell and Scala share complicated and fragmented programming styles. But Haskell has additional dimensions of complications (and thus fragmentation) due to:
1) Many compiler-option language extensions: https://downloads.haskell.org/~ghc/8.2.2/docs/html/users_guide/glasgow_exts.html https://downloads.haskell.org/~ghc/8.2.2/docs/html/users_gui... --- these add new language syntax and deep features. They radically change the meaning of the code you're reading.
2) Multiple competing standard library collections ("preludes"): https://guide.aelve.com/haskell/alternative-preludes-zr69k1hc https://guide.aelve.com/haskell/alternative-preludes-zr69k1h...
3) Haskell's language spec ceased development a decade or so ago. So the above diversions are never rolled back into the language. Instead, all forward development to Haskell is done in the form of new compiler options.
I'm not too familiar with Scala, but I'm pretty sure it doesn't suffer from these problems.
There are even more sources of Haskell fragmentation, such as many competing methods of error handling, input validation, and data records.
(I'm a Haskell user who wishes this all weren't the case.)