What are the largest open-source Scala 3 codebases?

I am wondering if the community can suggest current examples of large, open-source codebases written specifically in the Scala 3 dialect?

And ideally, showcasing “in the wild” usage at scale of Scala 3 features such as enums, opaque types, union and intersection types, context functions, exports, macros and/or typeclass derivation.

As well as a general desire to learn from examples of how to use Scala 3 practically, I have a specific purpose: as an open, reproducible example codebase on which to report problems with Intellij Scala 3 support.

I use IJ regularly with Scala 3 on closed source codebases, and my personal experience is that there remain many issues and limitations in IJ support for Scala 3. However many issues, such as unresponsiveness or failing navigation, seem to exhibit only at codebase-wide scale.

Having a large open Scala 3 codebase would enable me to report (hopefully) reproducible issues, which I’m not able to do - at scale - on a closed codebase, nor on tiny minimized snippets.

The main one I’m aware of atm is Erik Erlandson’s Coulomb: GitHub - erikerlandson/coulomb: coulomb: unit analysis for Scala

3 Likes

Here’s a few:

There’s also many projects which cross-compile but don’t default to Scala 3 in their build and that therefore might require tweaking the default scalaVersion in the build to get IntelliJ to use its Scala 3 support.

5 Likes

Thanks @smarter.

The lila repo in particular was useful as I’ve been able to find a reproducible example to report to the IJ team of symbols that fail to resolve in valid code.

Interestingly, yet again it seems like this problem is related to export.

Meanwhile, I have to say I am impressed by just how capably IJ can already navigate around the Coulomb codebase, despite its scale, complexity and use of quite sophisticated use of Scala features.

1 Like

Hi @benhutchison

This is my open source project, which is developed using pure Scala 3.

This project makes heavy use of the enums、union and intersection types, context functions macros and/or typeclass derivation.

3 Likes