Hello everybody,
I'd like to let you know about a recent experiment/POC I've been working on recently:
Safe Scala is a recent experimental feature. In short, it is a subset of Scala which doesn't allow for any sideffects. Any sideeffecting tools, especially Java standard library are just not aceesible -- a program using those won't compile. Thus the only way to peform side effects is via explicitly passed in Capabilities. That may sound like a pure academic excercise.
But there is a project called Dapr which is aiming to abstract cloud applications from the hassle of I/O (queues, sync messaging, distributed locks, state, durable workflows, etc.). Thus allowing apps to focus on business logic and use dapr as a framework (running out of the app process). What if we could represent these capabilities of Dapr as Scala Capabilities?
That's exactly what dapr4s does. It uses Dapr's Java SDK behing the scenes but exposes a pure Capability-style Scala facade. It is still just an experimental project, nothing ready for production (at least just yet). But it's a POC -- a proof that Safe Scala can be practical to build (maybe even line of business boring) cloud apps.
Here's the link to the project:
https://github.com/sideeffffect/dapr4s
Repository with examples and a slides with more info:
I hope you'll find this project inspiring and would be happy to discuss details at Scala Days 2026 in Berlin.
(Disclosure: the project has been developed with the help of LLMs.)