FP Complete

Stackage Badges

This is a guest blog from Konstantin Zudov, who has been making a number of wonderful enhancements to the Stackage Server website. Snapshot badges for packages on Stackage Stackage Server just got a new feature: snapshot badges. Take a look: stack/lts-2: stack/lts-3: stack/lts (the latest): stack/nightly: Package authors can add the badges to their README.md […]

stack and the PVP

We recently had a very large discussion of stack on Reddit, which I thought was great for kicking off some discussion. In that discussion, there was a very active thread about how stack relates to the Package Versioning Policy (aka, the PVP). The PVP – and in particular its policy on preemptive upper bounds – […]

stack: more binary package sharing

This blog post describes a new feature in stack. Until now, multiple projects using the same snapshot could share the binary builds of packages. However, two separate snapshots could not share the binary builds of their packages, even if they were substantially identical. That’s now changing. tl;dr: stack will now be able to install new […]

New in-depth guide to stack

The stack build tool is a cross-platform program for developing Haskell projects. It is aimed at Haskellers both new and experienced. I recently put together an in-depth guide to using stack for Haskell development. EDIT The content below is now significantly outdated. We strongly recommend reading the guide on the Stack website. The official home […]

stack and GHC on Windows

I’ve spent some time over the past few weeks working on problems stack users have run into on Windows, and I’d like to share the outcome. To summarize, here are the major problems I’ve seen encountered: When linking a project with a large number of libraries, GHC hits the 32k command length limit of Windows, […]

Practical Haskell: Bitrot-free Scripts

File server demo in a single Haskell file Sneak peek: Run docker run –rm -p 8080:8080 snoyberg/file-server-demo and open http://localhost:8080. We’ve all been there. We need to write some non-trivial piece of functionality, and end up doing it in bash or perl because that’s what we have on the server we’ll be deploying to. Or […]

How stack can use Docker under the hood

TL;DR: if you just want to get started use stack‘s Docker support, see the Docker page on the stack wiki. The rest of this post gives background on the benefits, implementation, and reasons for our choices. A brief history Using LXC for containerization is an integral component of the FP Complete Haskell Center and School […]

Package security in stack

As readers of this blog or the mailing lists are likely already aware: package security is important to both FP Complete and other members of the Commercial Haskell community. While there was quite a bit of public discussion around this during the planning phase, I was reminded in a conversation on Friday that we never […]

Why is stack not cabal?

This blog post is intended to answer two very frequest questions about stack: how is it different from Cabal? And: Why was it developed as a separate project instead of being worked on with Cabal? Before we delve into the details, let’s first deconstruct the premises of the questions. There are really three things that […]

stack 0.1 released

A few weeks ago, we announced the first public beta of stack, a new build tool for Haskell. Since then we’ve seen a huge amount of work on stack: code contributions, feature requests, bug reports, and design discussions. In other words, the response we’ve had from the community has been amazing. Thank you for helping […]