Presentation
Stack is a new, modern cross-platform build tool for Haskell. It can not only build your project and its dependencies, but also manage the entire toolchain (including the GHC compiler). It is an alternative to cabal-install and has already allowed many developers to escape “cabal hell” even though it was announced less than a year ago.
The most important design point of stack is that if you run “stack build” today, you should get the same result running “stack build” tomorrow. Hiding behind this guarantee is a curated source of Haskell package sets that are internally consistency and whose tests pass.
We'll take a look at how Stack achieves its guarantees, but most of all we'll look at how it works in practice, how it allows projects to safely share pre-built dependencies, and how even scripts written in Haskell can be guaranteed to keep working in the future. We'll also look at how Stack integrates with Docker, allowing builds to happen in a container, meaning that all developers on a project can have a shared, consistent build environment.
Erlend Hamberg started a on computer engineering degree to learn about systems programming and hardware, but veered slightly off course and ended up with a degree in computer science with a specialization in artificial intelligence.
He briefly returned to his former passion of low-level programming, working on GPU drivers, but was never able to let go of the power and elegance of functional programming and ended up climbing back up the abstraction ladder.
When he is not in front of a computer you can find him in the Oslofjord, kayaking.