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 reddit.com/r/scala

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
  • SonarQube - Static code analysis for 29 languages.
  • 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.

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

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo 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).

  • GitHub repo 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).

  • GitHub repo sbt-microsites

    An sbt plugin to create awesome microsites for your project

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

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

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

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

  • GitHub repo 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

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

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

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

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

  • GitHub repo mules-http4s

    Http4s Caching Implementation

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

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