4 ms·
I'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 pract
by paulajohnson 10y ago
I'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...