Design by contract - Preconditions and Postconditions - I'm really amazed with Scala.

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • iron

    Strong type constraints for Scala (by Iltotore)

  • Scala likes to do design-by-contract on the type level. You encode your pre- and post- conditions into types. Libraries like iron (scala 3) https://github.com/Iltotore/iron and refined (scala 2) https://github.com/fthomas/refined allow you to do all that without throwing any exceptions and they can even enforce some simple predicates at compile time.

  • refined

    Refinement types for Scala

  • Scala likes to do design-by-contract on the type level. You encode your pre- and post- conditions into types. Libraries like iron (scala 3) https://github.com/Iltotore/iron and refined (scala 2) https://github.com/fthomas/refined allow you to do all that without throwing any exceptions and they can even enforce some simple predicates at compile time.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • stainless

    Verification framework and tool for higher-order Scala programs (by epfl-lara)

  • You may find Dtainless interesting.

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