Context functions are one of the new contextual abstractions coming in Scala 3. The release is approaching quickly, the design is finalized, so let’s explore the feature in more detail!

If you’d prefer a live-coding video version, see the recent Scala In The City meetup on the same topic.

What is a context function?

Before…


Shelly — a programming language for drawing — is one of our side-projects that we work on in-between other engagements.

It features the challenge mode, where through a series of step-by-step tutorials you can learn both the Shelly language, as well as the basics of programming. There’s also the creative


The serverless model has a lot of appeal: simple to deploy, simple to scale, no hardware to manage, and no upfront financial commitments. …


We can’t trust the data that reaches our servers. We have to make sure that it’s properly formatted, within range, that it references entities that exist in the database, or that the data matches dynamically defined business rules. A wide range of responsibility!

That’s why we need data parsers &…


After a long series of RC releases, many planned and unplanned changes, the 3.0.0 release is here. Let’s take a brief look at what’s new & changed.

But what is sttp client?

It’s the Scala HTTP client that you always wanted! More elaborately, quoting the documentation:

sttp client is an open-source library which provides a…


Let’s apply functional programming to a practical problem. Can you guess what it’s going to be?

We’ll walk step-by-step through the implementation of a simple web socket application, written using “functional” libraries. …


Tapir is a library for describing HTTP endpoints as immutable values, using a type-safe, composable API. Until recently, tapir’s main functionalities included the ability to describe “regular” REST-like endpoints, and interpret these descriptions as a server, client or OpenAPI documentation.

One of the most-voted feature request was web socket support…


Time flies, and before you know it, we have another Java release. In line with the half-year release schedule, it’s time for Java 15, which paves the way for the upcoming Java 17 LTS (a year from now).

Java has seen a steady stream of improvements, many of them influenced…


Recently at our semi-regular architecture discussion group, we’ve been looking at the Auth0 service: what it is, how it works and when it might be a good idea to use it.

I’d like to focus on the last aspect, using Auth0 as a case-study for the more general problem of…


For the past three months we’ve been working on an update to sttp client, which is now available as version 3.0.0-RC4.

The main theme of the release is making sttp client simpler, safer and more developer-friendly.

More than ever, sttp client is THE Scala HTTP client you always wanted :)

Adam Warski

Scala software engineer, Functional Programming enthusiast, SoftwareMill co-founder

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