top | item 9766943

Stack 0.1 – A new build tool for Haskell

59 points| mcbuilder | 10 years ago |fpcomplete.com

55 comments

order
[+] cies|10 years ago|reply
While Stack is still young software it is amazing to see how Haskell went from having sub-par build tooling, to something that pretty much trumphs all build tooling I've ever worked with. And all of this happened in about one or two years.

I totally see how this language and it's ecosystem are going to be the next big thing in programming. Ultra highlevel and very compact code that compiles to relatively fast native code. Purely functional and strong type system guarantees to help refactoring the most complex codebases.

It is a hell of a secret weapon for startups.

[+] mightybyte|10 years ago|reply
> I totally see how this language and it's ecosystem are going to be the next big thing in programming.

I agree and it seems like 2015 has seen a substantial increase in interest in Haskell. The NY Haskell meetup group has seen a steadily increasing number of group joins this year. Both of the last two months have had a record number of new signups and have been more than double the median. I don't know what is causing the increased interest, but it's clearly not an isolated spike.

[+] demilicious|10 years ago|reply
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.

[+] zak_mc_kracken|10 years ago|reply
> It is a hell of a secret weapon for startups.

So secret that hardly any startups use it and hardly anyone has open positions for Haskell jobs...

You have your work cut out for you :-)

[+] kazinator|10 years ago|reply
Trumps all build tooling? Can I take any GNU Make project and replace the build tool with Stack?
[+] kyllo|10 years ago|reply
Stack is freaking awesome (brings compile times down dramatically, prevents cabal hell) but I'm sad that it doesn't seem to work with emacs haskell-mode and yesod-bin yet (because those tools depend on a .cabal dir). Stack support for those tools can't come soon enough!
[+] rrradical|10 years ago|reply
I assume this is too green to work with cross-compilation (to arm built from x86, for example), but does anyone know if that support is planned?

I did some haskell work with iphone in the past, and it was a pain to go from testing locally to testing on device. Everything (including dependencies) had to be rebuilt. This would solve my multipackage woes, but only if it could separate platforms.

[+] codygman|10 years ago|reply
I've been using docker for cross compilation.
[+] mrcactu5|10 years ago|reply
is this supposed to replace Cabal?
[+] mcbuilder|10 years ago|reply
It's basically a drop in replacement for `cabal-install`, while leveraging off Cabal the library, which means package description files don't need to be rewritten, i.e. your old cabal package will still work.

It's a huge departure from using cabal-install. Faster project setup time, and not having to worry about managing sandboxes, compiling a new sandbox, or getting stuck in cabal hell.

So, yes, you could look at it as a cabal-install rewrite.

[+] dragonwriter|10 years ago|reply
It relies on cabal-the-library. It replaces cabal-the-tool.
[+] mightybyte|10 years ago|reply
For some use cases it might work as a replacement, but it doesn't have a dependency solver so I don't think you can really say it's a serious general-purpose cabal replacement. It's more like build porcelain for cases where you already have your package's whole dependency tree locked down.