3 ms·
Could you explain this a little more? What new build tooling has been developed for Haskell recently (other than the parent link)? One of the things that keeps
by demilicious 11y ago
Could you explain this a little more? What new build tooling has been developed for Haskell recently (other than the parent link)?
One of the things that keeps me from revisiting Haskell was the aforementioned subpar build tooling. That's one of the reasons I'm enjoying Golang so much.
- cies 11y agoSure... Stackage: curated sets of packages that are known to work together. LTS Haskell: Stackage + pinning to a GHC version + seperating non-breaking upgrades (minor LTS version increases) from breaking ones (major increases). SSL downloading. Stack: also downloading/building of GHC if it does not exists, understands mega-repo's (many packages in one git repo), eases working with shared local pools of packages, eases working with dependencies that are not in Stackage/LTS, and more that I probably forget. A more detailed explanation of the merits of Stack can be found in this video: http://begriffs.com/posts/2015-06-22-haskell-stack-build-tool.html http://begriffs.com/posts/2015-06-22-haskell-stack-build-too...
- justthistime_ 11y agoIsn't that all basic stuff SBT did for years already?
- reagency 11y agoWhat is SBT? But yes, these are all table stakes that Haskell has been lagging on, in part because Haskell library versions break compatibility very frequently, and Haskell has a very non-local/modular way of building source.
- girvo 11y agoSBT is the Scala build tool (hence the name, I guess) if I recall correctly.
- zak_mc_kracken 11y agoSo basically everything that's been available on the JVM for more than ten years. I understand your excitement to finally have that if you didn't beforehand, but this is pretty old stuff.
- oconnor0 11y agoWhat about that has the JVM had for years?
- bjt 11y ago'cabal sandbox' came out like, a year ago? That was a huge improvement for my Haskell development experience, allowing local isolated environments like you get from npm or virtualenv.