Past Meetup

Asynchronous Scala Night with Jon Pretty + Joachim Hofer

This Meetup is past

179 people went


Zalando presents Asynchronous Scala Night with Jon Pretty + Joachim Hofer on August 24th at 19:00. You’ll need a photo ID to enter the venue. RSVP closes on 23.08 at 16:00.

Mollstr. [masked] Berlin
Entrance on Karl-Liebkneckt-Str.

Talk 1:
Joachim Hofer - Software Engineer @ Zalando - GitHub ( - Twitter (

Risking Everything with Akka Streams

Zalando is moving the calculation of product availability from monolith "Jimmy" to the new platform architecture. As this architecture is event-driven, Joachim and his team decided on using Akka Streams for this task back in June 2016.

But what has happened since then?

During this talk, you will explore an experience report about the learnings of the team: about hopes, regrets and best practices when switching a high-profile project to Akka Streams.

Talk 2:

Jon Pretty - CEO @ Propensive - GitHub ( - Twitter (


Impromptu: Using dependent types to build a better API for async call graphs


Writing asynchronous code is often an uneasy fit for a language like Scala. While high-level constructs like Futures facilitate asynchronous programming, syntactic limitations often make blocking or the unchecked access of asynchronously-computed values more natural than the safer alternatives.

In this talk, we will introduce Impromptu, a lightweight Scala API for safely defining and executing graphs of dependent tasks, avoiding blocking and preventing access of not-yet-completed values, guaranteed the type system.

We use a combination of several advanced type-system features to encode a task's dependencies, then use these types as constraints to restrict access within a task only to the results of dependent tasks which are known to have been completed. We further take advantage of Scala's type inference to avoid polluting the code with cumbersome type ascriptions. This gives us very lightweight and natural syntax, without blocking or unsafe access.

The talk will explore how Impromptu is implemented, and show how dependent types allow the framework to be written in just 30 lines of code, and show how a similar approach may be used to concisely implement typed actors.

Furthermore, we take advantage of current research into implicit functions in Dotty to remove the small amount of remaining boilerplate from Impromptu task definitions.

19:00 - Doors Open + Drinks + Snacks
19:30 - Welcome
19:35 - First Talk by Joachim Hofer
20:10 - Q&A
20:20 - Talk by Jon Pretty
21:00 - Q&A
21:20 - Networking + Drinks
22:00 - Event ends