Photo by Tamanna Rumee on Unsplash

There are wonderful libraries in Scala ecosystem for resource handling. I recommend the following as a quick start.

  1. ZManaged from ZIO (
  2. cats.effect.Resource (

These are superior libraries to many of those in other popular* languages, though I find the comparison is mostly with java try-with-resources. The simple story of…


I hope we all are much familiar with building, compiling and running Scala applications with SBT.

Developers now write SBT plugins relatively quickly, especially to standardise builds across hundreds of applications in the organisation. For instance, packaging docker, fetching org-artifactory credentials, common entry scripts etc.

IMO, it is simple enough…

We tend to forget this quite often. An invariant functor or an exponential functor is, given A => B and B => A , it converts type A to typeB in the same context F[_]. We call this xmap .

Covariant Functor

That’s the famous Functor ! Covariant functor implements xmap

Afsal Thaj

A software engineer and a functional programming enthusiast at Simple-machines, Sydney, and a hardcore hiking fan.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store