Forward and Reverse Proxies Explained

Namespaced De Bruijn indices

Probability for Slay the Spire Fanatics

The end of history for programming

Folds are constructor substitution

The visitor pattern is essentially the same thing as Church encoding

Dynamic type errors lack relevance

Why I Prefer Functional Programming

The golden rule of software quality

Fast Fibonacci numbers using Monoids

Dhall Survey Results (2019-2020)

Why Dhall advertises the absence of Turing-completeness

Dhall - Year in review (2019-2020)

The CAP theorem for software engineering

Advice for Haskell beginners (2017)

Semantic integrity checks are the next generation of semantic versioning

Why do our programs need to read input and write output?

Advice for Haskell beginners

Demystifying Haskell assignment

Translating a C++ parser to Haskell

Dhall - A non-Turing-complete configuration language

Worst practices should be hard

Haskell for all: Scalable program architectures

State of the Haskell Ecosystem - February 2016 Edition

State of the Haskell Ecosystem – February 2016

From mathematics to map-reduce

Compile-time memory safety using Liquid Haskell

How to contribute to the Haskell ecosystem

Program imperatively using Haskell lenses (2013)

The category design pattern

More →