4 ms·
You would think that a really rigorous language like Haskell would foster a better ecosystem of libraries than ad hoc languages like Python or JS but that has n
by cageface 10y ago
You would think that a really rigorous language like Haskell would foster a better ecosystem of libraries than ad hoc languages like Python or JS but that has not been the case at all so far. I'm not sure exactly why but it's one of the main reasons I'm taking a wait and see attitude to Haskell.
- oblio 10y ago> a really rigorous language Is it rigorous in theory or in practice? An academic veteran might want to better express his ideas in code while a professional veteran might want more readable code with better test coverage. And that's just 1 axis where the two viewpoints might diverge or even come in conflict.
- paulajohnson 10y agoI'm trying to imagine what "rigorous in practice but not theory" might look like. It seems to me that rigor derives from theory and can then be applied in practice. Haskell is rigorous in both.
- oblio 10y agoI'm not talking about Haskell "the language", but about Haskell "the ecosystem". Industrial rigor regarding code means: * consistence in using a coding style * having adequately named modules, functions and variables * having adequate comments * having an adequate level of code coverage through automated tests * having performance and regression tests * having good release notes * etc. Many of those things, required for high quality libraries, are often skipped for the academic projects Haskell is known for. So that's why Python or even PHP or Javascript, as less "rigorous" theoretical languages, can have more "rigorous" libraries in practice.
- paulajohnson 10y agoSo, like anything, the available libraries vary, but the important ones score pretty highly. Haddock documentation (like Doxygen) is considered a basic part of the job. "cabal test" will run embedded test harnesses. Stackage contains a set of libraries considered to be stable and of sufficient quality that most projects don't need to have qualms about using them. See for instance https://www.stackage.org/haddock/lts-7.10/http-client-0.4.31.1/Network-HTTP-Client.html https://www.stackage.org/haddock/lts-7.10/http-client-0.4.31...