// the find
frees-io/freestyle
A cohesive & pragmatic framework of FP centric Scala libraries
Freestyle is a macro-based Scala framework from 2017-2018 that tried to reduce the boilerplate of writing programs with Free monads and tagless final algebras. It targeted Scala developers building purely functional applications who wanted the theory without the ceremony. Last commit was August 2019.
The @free and @module macro annotations genuinely eliminated a lot of repetitive coproduct wiring that was painful to write by hand. The module system for composing algebras is well thought out — declaring dependencies as implicits and having them resolved automatically was a real ergonomic win. The integration breadth was ambitious: doobie, slick, fetch, fs2, monix, Akka HTTP, http4s, Finch, and Play all had adapters.
Dead since 2019 — the last release was 0.8.2 for Scala 2.11/2.12, meaning Scala 3 is a hard no. It required the scalameta paradise compiler plugin, which was itself deprecated; that dependency chain is now broken on any modern toolchain. The Scala FP community moved on: cats-effect + tagless final without macros is now the default pattern, and the problem Freestyle solved is considered solved differently. Adopting it today means inheriting unmaintained macro code that will fight you on every compiler upgrade.