FP Complete

store: a new and efficient binary serialization library

A couple months ago, Michael Snoyman wrote a blogpost describing an experiment in an efficient implementation of binary serialization. Since then, we’ve developed this approach into a new package for efficient serialization of Haskell datatypes. I’m happy to announce that today we are putting out the initial release of our new new store package! The […]

Stack Security GnuPG Keys

Introduction We are introducing a method of verifying Haskell packages with OpenPGP signatures. The initial code to sign your packages has been included in Stack as an experimental feature for some time. We are going to be improving it and included verification options soon. However, we need signatures from package authors before verification is useful. […]

The Stackage data flow

I recently wrote up the Stackage data flow. The primary intent was to assist the rest of the Stackage curation team see how all the pieces fit together. However, it may also be of general interest to the rest of the community. In particular, some of the components used are not widely known and may […]

Efficient binary serialization

We do a lot of work at FP Complete in the realm of multi-machine computing for our customers. One of the things we need to do efficiently to get good speedups from adding more machines is optimizing serialization. Since our multi-machine work often revolves around scientific and mathematical computing, we primarily need to make sure […]

Testing GHC with Stackage

For the past few release of GHC (I think 7.10.2 and 7.10.3), I’ve tried to help out with the testing effort by using Stackage Nightly as a “stress test.” Stackage Nightly provides a large (1810 at last count) collection of real-world Haskell packages to test compatibility. For minor version upgrades of GHC, this stress test […]

Updated Haskell Travis config

The Stack build tool guide contains a section on Travis configuration with a sample configuration based on Stack. After iterating through a few different designs over multiple projects, I’ve just pushed a significant update to the configuration. The configuration itself includes inline comments to explain what it’s doing and how it can be extended, so […]

Using Stack on Travis CI

Using Stack for build of Haskell code on Travis CI has number of benefits. For those unfamiliar with it, Travis is a cloud-base continuous integration system, which will build and test your code automatically. It integrates with Github and is free for open-source projects (but also has paid plans for private projects). Stack’s use of […]

Using Stack with GHC 7.10.3

You can use Stack and the Stackage snapshots with GHC 7.10.3 right now! By default (since v0.1.4), Stack insists that the minor version of GHC matches the version that was used to build the Stackage snapshot. This means that using the current LTS 3.x and nightly snapshots will require GHC 7.10.2, even if GHC 7.10.3 […]

Kubernetes for Haskell Services

Kubernetes (AKA “k8s”) From kubernetes.io: Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of “labels” and “pods”, it groups the containers which make up an application into […]

Stack entering stabilization phase

Since we created the stack repo at the end of April, a tremendous amount of work has been done very rapidly. Now that Stack has a suite of features that make it excellent for most common use cases, it’s a good time to step back and work on improving the code-base to make future enhancements […]