Hire Us

Haskell creates fast, safe software.

Haskell's unique combination of functional purity and static type safety allows us to rapidly develop software that performs well and works reliably.

How we're using Haskell

Here's a selection of our projects and products built with, for and about Haskell.

Carnival

Inline Commenting

We use Haskell to power the REST/JSON API behind our commenting service, Carnival. Using only a pair of Heroku dynos, it responds to requests instantly without resorting to caching or other performance tricks. When performance peaks, Haskell doesn't bat an eye. Since it was deployed about 2 years ago, we have only discovered one bug in the Haskell code.

See Carnival in Action

Upcase

Fast, Working Parsing

When users complete Upcase exercises, we need to parse their Git history to understand their work. Our diff parser in Ruby was the most significant source of bugs and performance problems in the application. We deployed a Haskell service to take over diff parsing over 2 years ago, and we haven't had to release any bug fixes or performance changes since. It parses immense diffs using constant memory.

See how Upcase performs

We wrote the book on programming without null

Literally! Many languages now provide the Maybe type popularized by Haskell. This book teaches developers to take advantage of this concept and avoid programming's most expensive error: the pointer exception.

Read Maybe Haskell

Why We Love Haskell

There are many reasons to love Haskell, here's a few of ours.

01. Type-Driven

Haskell's type system lets us concentrate on what we're building and figure out later how the pieces are connected. The types say a lot to developers reading the code, and once we've built something, they ensure that our programs make sense, preventing entire families of bugs from occurring.

02. Purely Functional

Using pure functions makes our programs easier to reason about, avoiding misunderstandings and introducing clarity. Functions and data structures lets us organize our programs without trying to fit our world into class hierarchies or design patterns.

03. Fast

The combination of Haskell's rich type system and pure functions allows the compiler to deeply analyze the program before compiling it. Immutable data structures and restricted IO also allows for massive concurrency without restructuring the entire program.

04. Community

Haskell boasts a vibrant community of developers committed to finding clearer and better ways to structure programs. Programs written in Haskell can take advantage of a wealth of open source software built up over decades.

Explore Our Haskell Work

We greatly appreciate the enormous amount of open source Haskell that we've used in our projects. We give back by releasing our work as open source whenever possible.

  • Carnival

    Look under the covers at the Haskell code that powers the comments for our blog.

    GitHub
  • OAuth2 for Yesod

    Sign into Yesod applications using OAuth2 providers like GitHub.

    GitHub
  • FOMOBot

    Afraid of missing out? This Slack bot will tell you which channels to join.

    GitHub

Hire us to help you build excellent software

Our best work gets done when we can work face-to-face with you. Chat with a designer or developer at one of our studios near you.

Let’s make something great together