Chicago and London TDD Styles for Functional Programming

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • Onboard AI - ChatGPT with full context of any GitHub repo.
  • WorkOS - The modern API for authentication & user identity.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • rescript-compiler

    The compiler for ReScript.

    I'm guilty of writing less Chicago style tests, and instead allowing the Elm/ReScript compilers to handle most of what a larger Chicago test suite would handle just avoid that "change all the tests later" pain.

  • F#

    Discontinued Please file issues or pull requests here: (by fsharp)

    FP devs differ based on language here. Elm, like F#, tends to encourage "a bunch of functions and types in a file". While Elm supports modules, we don't really care where it came from; they're all pure, all deterministic, the compiler tells us if it works.

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at

  • Elm

    Compiler for Elm, a functional language for reliable webapps.

    FP devs do behavioral validation in integration/e2e tests. This is where the actual side effects happen and we validate the effects of those side effects. Pure languages like Elm and Roc which have no side effects so you can't do behavioral validation in the language itself.

  • Elixir

    Elixir is a dynamic, functional language for building scalable and maintainable applications

    This is way harder in pure, side effect languages like Haskell/Elixir/F#.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts