README.adoc

June 23, 2026 ยท View on GitHub

= Hamsters :release-version: 4.0.0 ifndef::env-github[:icons: font] ifdef::env-github[] :outfilesuffix: .adoc :note-caption: :paperclip: endif::[]

image:https://github.com/scala-hamsters/hamsters/actions/workflows/ci.yml/badge.svg["CI", link="https://github.com/scala-hamsters/hamsters/actions/workflows/ci.yml"] image:https://img.shields.io/maven-central/v/io.github.scala-hamsters/hamsters_3["Maven Central", link="https://central.sonatype.com/artifact/io.github.scala-hamsters/hamsters_3"]

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.

image::https://raw.githubusercontent.com/scala-hamsters/hamsters/gh-pages/hamsters.jpg[Hamster logo,width=150]

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)

== Documentation

https://github.com/scala-hamsters/hamsters/tree/{release-version}/docs[Hamsters {release-version} documentation]

== Install as dependency

[source,scala,subs="verbatim,attributes"]

libraryDependencies ++= Seq( "io.github.scala-hamsters" %% "hamsters" % "{release-version}" )

For Scala.js :

[source,scala,subs="verbatim,attributes"]

libraryDependencies ++= Seq( "io.github.scala-hamsters" %%% "hamsters" % "{release-version}" )

== Extensions

See https://github.com/scala-hamsters/hamsters-extensions[hamsters-extensions] for more information.

== Scaladoc

You can find the API documentation https://javadoc.io/doc/io.github.scala-hamsters/hamsters_3/{release-version}/io/github/hamsters/index.html[here].

== Special thanks

To https://github.com/laurencebeillaux[Laurence Beillaux] who created the Hamsters logo.