FP Complete

ANN: stack-2.1.1 release

Announcing the first release in the stack-2.1 series! The Stack 2 release represents a series of significant changes to how Stack works internally. For the vast majority of cases, these changes are backwards compatible, in that existing projects will continue to build in the same way with Stack 2 as they did with Stack 1. […]

Faking SQL Server in Haskell

Introduction At FP Complete we develop many tools for our clients to help them achieve their goals. Most of these tools are written in Haskell (and, more recently, some are in Rust), and that has helped us write them more quickly and produce more maintainable apps going forward. In this post I would like to […]

Maximizing Haskell Webinar Review

We are happy to announce that we have been sponsoring free webinars for over a year now. The feedback we have been receiving from the IT community has been overwhelmingly positive. We have been working towards producing a new webinar topic every month, and we plan to keep moving at that pace. In this webinar, […]

Stackage changes and Stack 2

We’re ramping up for the Stack 2 release, which contains a number of changes. (If you want more information, check out the changelog.) I’m not going to be covering all of those changes in this blog post. Instead, today, I want to talk about what the release process will look like, both for Stack itself […]

Why Stack is moving its CI to Azure Pipelines

Up to now, Stack has been using a number of CI solutions: Travis CI for unit tests on Linux and macOS AppVeyor for unit tests on Windows Gitlab CI for integration tests There are a number of problems we’re running into: Travis’s lack of resources and limited build times lead to unreliability of tests, which […]

How We Run an Open Source Based Business

The global economy is changing to promote sharing, and free software is an important part of that. How do we run a business when important products are abundant and even free? Long ago as cofounder of the shareware business model for software, and then an engineer at a public supercomputing center, I was lucky enough […]

Enhancing File Durability in Your Programs

Abstract At FP Complete, we strive to build systems that endure the direst of situations. An unexpected shutdown (like a kernel panic, or unplugging the power cord) in a machine should not affect the durability of confirmed writes in programs we develop. As a developer, you’ll likely want to have options in regards to guaranteed […]

RIO – a Standard Library for Haskell

We are happy to announce that we have been sponsoring free webinars for over a year now. The feedback we have been receiving from the IT community has been overwhelmingly positive. We have been working towards producing a new webinar topic every month, and we plan to keep moving at that pace. In this webinar, Alexey Kuleshevich (Software […]

QuickCheck, Hedgehog, Validity

I have been working on property testing for years now. My current conclusion is that property testing still has so much uncovered potential that with just some more effort, it can become an even greater tool for software development than it already is today. The concept is relatively young and the design space relatively unexplored. […]

Randomization Testing for an SQL Translator

Not all SQLs are created equal. I’ll say even more, none of the SQL dialects are even close to being equal. In particular, when talking about Microsoft SQL Server and PostgreSQL, their syntax might look similar. However, in their semantics, they are mountains apart. Today I will describe How we implemented an automatic translator from […]