FP Complete

Blog

Posts

Combining Axum, Hyper, Tonic, and Tower for hybrid web/gRPC apps: Part 2

This is the second of four posts in a series on combining web and gRPC services into a single service using Tower, Hyper, Axum, and Tonic. The full four parts

September 6, 2021

In October of last year, I published a new library – typed-process. It builds on top of the veritable process package, and

In managing projects at FP Complete, I get to see both the software development and devops sides of our engineering practice. Over

The exceptions package provides three typeclasses for generalizing exception handling to monads beyond IO: MonadThrow is for monads which allow reporting an

QuickCheck and Magic of Testing

Haskell is an amazing language. With its extremely powerful type system and a pure functional paradigm it prevents programmers from introducing many

While helping a client ship a medical device we were tasked to make its response time bearable. This was no easy feat,

An overview of what containerization is, the reasons to consider running a legacy application in Docker containers, the process to get it

Many common programming languages today eschew manual memory management in preference to garbage collection. While the former certainly has its place in

Maintenance matters and it’s where Haskell shines We Spend Most of Our Time on Maintenance Look at the budget spent on your

Example code can be found here. When Node.JS first came onto the scene it successfully popularized the event-loop. Ryan Dahl correctly identified

The language Scala promises a smooth migration path from Object-oriented Java to functional programming. It runs on the JVM, has concepts both

Even among skilled enterprise IT departments, it is too rare that software is thoroughly tested before deployment. Failed deployments mean costly downtime,

Last week, I was at DevConTLV X and attended a workshop by Aaron Cruz. While the title was a bit of a

Scripting in Haskell Writing scripts in Haskell using Stack is straight-forward and reliable. We’ve made a screencast to demonstrate this: Summary Slides

Mastering Time-to-Market with Haskell For bringing your product to market, there isn’t just one metric for success. That depends on your business

FP Complete builds on cutting-edge open-source devops technologies, providing devops solutions and consulting to a number of companies in life sciences &

Typeclasses such as Bifunctor are often expressed in terms of whether they are covariant or contravariant. While these terms may appear intimidating

The content below is still correct, but has been absorbed into the more comprehensive safe exception handling tutorial document instead. I recommend

In our last blog post we showed you the new docker init executable pid1. What if we wanted to use our shiny