4 ms·
as maintainer of two of the haskell libraries they use, a member of the core libraries committee, and a hackage trustee, i'd like to throw in my two cents: 1)
by carterschonwald 8y ago
as maintainer of two of the haskell libraries they use, a member of the core libraries committee, and a hackage trustee, i'd like to throw in my two cents:
1) i see they are doing fully qualified imports. please add major bounds to your version deps, stack doesn't excuse not tracking what versions you used!
2) they have
"data Next a
= Done !a
| Step !a
"
in their code,
this tells me they could have possibly benefited using the stream abstraction in Vector!
https://hackage.haskell.org/package/vector-0.12.0.2/docs/Data-Vector-Fusion-Stream-Monadic.html https://hackage.haskell.org/package/vector-0.12.0.2/docs/Dat... is a link to the latter
- drb226 8y agoAbout (1). The exact versions they used are specified by the stack.yaml file. In this case, see https://stackage.org/lts-13.10 https://stackage.org/lts-13.10 Stack has a feature that lets you automatically added bounds to a hackage upload based on the stack.yaml. (However, I personally do not recommend using this feature, as those bounds usually end up being overly restrictive. Manually-written bounds are better.)
- carterschonwald 8y agoyet its off by default and most users dont use it. I do agree human judgement based bounds are best, but stackage snapshots aren't that. Furthermore, stackage/fpo LTS is not LTS in the same sense as linux-distributions and their BSD-unix cousins. Proper long term support in any meaningful sense is a commitment by the distro provider to backport security/bug fixes to the LTS. Stackage LTS doesnt do that. stack tricks its users into not thinking about their relationship with their dependencies and poisons library code from being usable by haskell devs/users/contributors who dont use stack. :) the more you know! :)