Scala Resurrection

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

    Create the next immutable state by mutating the current one

    An other deficiency in the Scala collections is that there is very minimal support for mutably building up an immutable collection. Clojure has so-called "transient" collections. These allow you to morph a persistent (immutable) collection into a mutable one, which you can then mutate, and it will be smart enough to share structure of the original, until it is forced to copy sub-trees. When you're done mutating it, you then transform it back into a persistent collection and it freezes the structure. JavaScript also has the immer library which provides the same functionality.

  • sbt-tpolecat

    scalac options for the enlightened

    I'm awed by the maturity of the Scala 2 compiler. Every minor version in the 2.13 series adds a new linting improvement. You can see that if you have sbt-tpolecat in your project. I'm always happy to see that some option from Wartremover is no longer used.

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

  • Wartremover

    Flexible Scala code linting tool

    I'm awed by the maturity of the Scala 2 compiler. Every minor version in the 2.13 series adds a new linting improvement. You can see that if you have sbt-tpolecat in your project. I'm always happy to see that some option from Wartremover is no longer used.

  • dotty

    The Scala 3 compiler, also known as Dotty.

    Ahhh no unused warnings, thats disappointing to say the least. I guess some progress is being made here https://github.com/lampepfl/dotty/pull/16157 , tbh this kind of stuff makes me want to stick to Scala 2.

  • scala-pet-store

    An implementation of the java pet store using FP techniques in scala

    Hello, you can try to look for pet store implementations on GitHub using Scala, like https://github.com/pauljamescleary/scala-pet-store. The "Pet Store" is usually an example repo demonstrating how to build a CRUD service. Since Scala is a language capable of expressing multiple design techniques, multiple ways of solving similar problems exist, which is neither good nor bad, just irritating for a beginner.

  • metals-eclipse

    Discontinued Eclipse Scala LSP plugin for Metals (WIP)

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