Correctness, security and performance
Invariant from prototype to production

Soundness is an ecosystem of libraries for advanced software development in direct-style Scala 3, prioritizing typesafety and correctness enforced pervasively through expressive and aesthetic code. Projects built on Soundness are typesafe, maintainable and sound.

News

7 June 2024
Iridescence

Today, we are releasing Iridescence for Scala 3, providing everything you need to work with _color_ in Scala, in its many representations.

5 June 2024
Guillotine

Guillotine is a new Soundness library for executing shell processes from within Scala, and processing their output, taking advantage of Scala's typesafety and type inference.

28 May 2024
Dissonance

Today we are releasing the new Soundness library, Dissonance, an implementation of Myers' diff algorithm, bringing the ease-of-use of the familiar shell `diff` command to Scala collections.

24 May 2024
Dendrology

We have released a tiny library called Dendrology for rendering trees and directed acyclic graphs in a terminal, using box-drawing characters. This makes it possible to produce richer output in the console or application logs.

21 May 2024
Quantitative

Today Quantitative is released. Quantitative is an exploration of the capabilities of opaque types in Scala 3 for representing physical quantities with their units, and enforcing the coherence of their units.

17 May 2024
Wisteria

We are releasing Wisteria, a new library to make generic derivation of typeclasses easier in Scala 3. Product and coproduct derivations become possible with just a couple of simple method implementations that are natural to write.

14 May 2024
Kaleidoscope

Today, on the third birthday of Scala 3, we are announcing Soundness, a comprehensive suite of libraries for building advanced web, backend and command-line software, developed exclusively for Scala 3 to exploit its most awesome features and and set new standards in combining correctness and elegance.

Over the next year, we will be preparing a surfeit of Scala 3 software that's not only useful but exciting, too! But there's a long way to go, so we're starting small: today, we are releasing Kaleidoscope, a small library to make working with regular expressions easier by introducing more typesafety.

Why Soundness?

Soundness embraces two core principles of correctness:

  1. Impossible states should be unrepresentable
  2. State transitions should be total

Together, software adhering to these rules maintains a powerful invariant: it can never escape from being in a valid state. Stop for a moment and think about this!

This has been at the core of functional programming (FP) for years, but FP in Scala traditionally comes at a syntactic cost: the familiar style of coding composable expressions with selection and application (dots and brackets) is gone. And instead, we must use a monadic style and all the friction that entails.

The alternative is direct-style Scala, which melds the correctness of FP with the compositionality of simple expressions. Direct-style Scala is not yet widely used outside of Soundness, nor is it widely understood yet. But it represents a significant and powerful new approach to writing safe and maintainable code that's as safe as Haskell but as easy to read and write as Python. This will become more clear over the coming weeks as we publish more software into the Soundness ecosystem.

We're very excited about what is to come!