Hamsters

CI Maven Central

A mini Scala utility library. Compatible with functional programming beginners. For the JVM and Scala.js.

It may help you understand how to use - and how to implement (looking at the code) - some popular functional programming features. Il also provides some useful utilities.

Hamsters is built for Scala 3 (3.3.x LTS) and cross-compiled for the JVM and Scala.js. The LTS line keeps it usable from Scala 2.13 projects thanks to TASTY/binary compatibility.

Hamster logo

Currently, Hamsters supports :

  • Data validation

  • Default values for options (orEmpty)

  • Enum typeclass

  • Future Squash (simplifications for nested types)

  • Lens

  • mapN

  • Memoization

  • Monad transformers

  • NonEmptyList

  • Retry

  • Show (better toString)

Install as dependency

libraryDependencies ++= Seq(
  "io.github.scala-hamsters" %% "hamsters" % "4.0.0"
)

For Scala.js :

libraryDependencies ++= Seq(
  "io.github.scala-hamsters" %%% "hamsters" % "4.0.0"
)

Extensions

See hamsters-extensions for more information.

Scaladoc

You can find the API documentation here.

Special thanks

To Laurence Beillaux who created the Hamsters logo.