Hacker News new | ask | show | jobs
by demilicious 4008 days 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.

2 comments

Sure...

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-too...

So 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.

What about that has the JVM had for years?
Isn't that all basic stuff SBT did for years already?
What 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.

SBT is the Scala build tool (hence the name, I guess) if I recall correctly.
'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.