Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala

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

Our great sponsors
  • WorkOS - The modern API for authentication & user identity.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • Onboard AI - ChatGPT with full context of any GitHub repo.
  • Simulacrum

    First class syntax support for type classes in Scala

    The Cats ecosystem offers mature named abstractions providing algebraic laws virtually identical to those offered by Haskell and PureScript and that have stood the test of time, at the cost of relying on a "design pattern" approach to implementation you have to squint a bit to see ("typeclasses" based on higher-kinded types and implicit arguments) and that sometimes doesn't play nicely with Scala's colored local type inference. The selling point of this, coupled with parametricity ("tagless-final style"), is the ability to reason algebraically about your code.

  • interop-cats

    ZIO instances for cats-effect type classes

    These are necessarily oversimplifications. In particular, the ZIO ecosystem offers the relevant instances of cats-effect typeclasses to support use of the ZIO type in the cats-effect ecosystem.

  • WorkOS

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

  • fs2-grpc

    gRPC implementation for FS2/cats-effect

    I've had great experience with ScalaPB and even better with fs2-grpc (which builds on top of ScalaPB).

  • ScalaPB

    Protocol buffer compiler for Scala.

    I've had great experience with ScalaPB and even better with fs2-grpc (which builds on top of ScalaPB).

  • sbt-microsites

    An sbt plugin to create awesome microsites for your project

  • warehouse

    The Python Package Index

    Python is taught to children. The only thing you need other than your code is a packages.json which is a simple file of key, value pairs. I can go to pypi.org to discover new packages which is complete, has descriptions, examples etc. Their examples and user guides assumes minimal knowledge of programming.

  • sbt-revolver

    An SBT plugin for dangerously fast development turnaround in Scala

    SBT. It's not because of the pseudo-scala config language, that looks especially alien next to braceless Scala 3 code. Or the weird symbolic operators. The big problem is correctness; in almost every project I've had to use spray-resolver because I've encountered weird bugs because SBT reuses the same dirty JVM. I really thing Drip would help here. I'll keep using SBT because it has the best Scala ecosystem support and great plugins like sbt-crossproject. It would also be great to be able to write build.sbt files in modern, regular Scala.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • sbt-crossproject

    Cross-platform compilation support for sbt.

    SBT. It's not because of the pseudo-scala config language, that looks especially alien next to braceless Scala 3 code. Or the weird symbolic operators. The big problem is correctness; in almost every project I've had to use spray-resolver because I've encountered weird bugs because SBT reuses the same dirty JVM. I really thing Drip would help here. I'll keep using SBT because it has the best Scala ecosystem support and great plugins like sbt-crossproject. It would also be great to be able to write build.sbt files in modern, regular Scala.

  • activator-minimal-scala

    A minimal seed template for a Scala build

    Here's sbt: https://github.com/typesafehub/activator-minimal-scala/blob/master/build.sbt

  • ScalaCheck

    Property-based testing for Scala

    And the readmes and tutorials written for the major libraries are some of the best, and most concise out there. Seriously, even the old stuff, like scalacheck's guide is really good. Compare that to hypothesis. The hypothesis uses readthedocs, but other than the window dressing, much better. Try to find similar concise guides for major Java projects outside of spring boot. They're all external to the projects, published on Baeldung.

  • cats-effect

    The pure asynchronous runtime for Scala

    Literally what scaladoc is, it comes with sbt. Although, it's better when enhanced with mdoc so that you get the standard microsite template like these. It would be nice to have an sbt serveDocs and if everyone would host their docs for external linking, but javadoc doesn't do that either.

  • cats

    Lightweight, modular, and extensible library for functional programming.

    Literally what scaladoc is, it comes with sbt. Although, it's better when enhanced with mdoc so that you get the standard microsite template like these. It would be nice to have an sbt serveDocs and if everyone would host their docs for external linking, but javadoc doesn't do that either.

  • mdoc

    Typechecked markdown documentation for Scala

    Literally what scaladoc is, it comes with sbt. Although, it's better when enhanced with mdoc so that you get the standard microsite template like these. It would be nice to have an sbt serveDocs and if everyone would host their docs for external linking, but javadoc doesn't do that either.

  • mules-http4s

    Http4s Caching Implementation

    https://github.com/davenverse/mules-http4s - fully featured and from one of the main authors of http4s

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

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