Chicago and London TDD Styles for Functional Programming

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

Our great sponsors
  • Zigi - Close all those tabs. Zigi will handle your updates.
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Scout APM - Truly a developer’s best friend
  • 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#

    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.

  • Zigi

    Close all those tabs. Zigi will handle your updates.. Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.

  • 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 designed 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