scalaio logo

The Scala event in France!

Workshops / Spree, November 3rd and Conference, November 4th - Paris
The conference runs from 9:00 am to 6:30 pm
At 8 am, registration will open and a breakfast will be served.

ScalaIO 2022 Program

The CFP is closed.

08:00 - 09:00Registration
09:00 - 09:20Introduction
09:25 - 10:20
Opening Keynote

Martin Odersky

Keynote

10:30 - 11:00
When stateless APIs are not enough: deep dive into a reactive backend design

Matthieu Baechler & Luc Duzan

Short talk

Secrets of the Scala Type System

Guillaume Martres

Short talk

11:05 - 11:35
Adding Python support to Scala tooling

Alexandre Archambault

Short talk

Cost-effective and easy to maintain GraphQL API integration tests with zio-test and Caliban

Jules Ivanic

Short talk

11:40 - 12:25
Getting started with Scala.js, Laminar and Vite

Sébastien Doeraene

Talk

Category Theory as a Tool for Thought

Daniel Beskin

Talk

12h25 - 13:15Lunch Break
13:15 - 13:30
Ivre et au chômage, elle décide d'écrire un livre sur le Scala en plein Covid

Agnès Maury

Lightning talk

13:30 - 13:45
Nix: la FP pour vos livrables et déploiements

Pierre Dal-Pra

Lightning talk

13:55 - 14:35
Implicit parameters, when to use them (or not)!

Julien Truffaut

Talk

Overall journey of 8 years product development

Vincent Debergue & Thomas Franco

Talk

14:40 - 15:25
Function reuse is just wishful thinking

Nicolas Rinaudo

Talk

Type/Test/Whatever Driven Development: Partage d'expérience

Nicolas Francois

Talk

15:30 - 16:15
The Journey of a Dotty Diagnostic

Chris Kipp

Talk

Elm, un langage simple et purement fonctionnel pour le front end

Loïc Knuchel

Talk

16:15 - 16:35Coffee Break
16:35 - 17:20
Discover TASTy Query: The library for Scala whole program analysis

Jamie Thompson

Talk

ZIO Streaming connector for Pravega

Olivier Nouguier

Talk

17:25 - 18:20
Closing Keynote

Adam fraser

Keynote

19:30 - 23:00🎉 Community Party

Talks

Simply ScalaMartin Odersky

Closing KeynoteAdam fraser

Function reuse is just wishful thinkingNicolas Rinaudo

Functors, monads, etc... can be both very useful and extremely intimidating. This talk will introduce and justify them in a real life scenario, staying away from their more academic interpretations. It will allow attendants to build a solid intuition for the problems they actually solve.

Getting started with Scala.js, Laminar and ViteSébastien Doeraene

Starting from scratch, we build a small Scala.js (https://www.scala-js.org/) application with a minimal, live-editable bar chart. We show a setup for a fast save-refresh cycle. We use Metals, sbt, Vite, Laminar, Chart.js and ScalablyTyped. Includes an intro to the FRP model of Laminar.

Cost-effective and easy to maintain GraphQL API integration tests with zio-test and CalibanJules Ivanic

Let's study together how Scala, zio-test and Caliban are, each with their own capabilities, helping us in this difficult task of writing and maintaining a production-ready software integration tests suite on a GraphQL API.

Implicit parameters, when to use them (or not)!Julien Truffaut

Implicits values are one of the unique features of Scala but they are very complex and easy to misuse. So in this talk we will discuss various valid use cases and anti-pattern for implicits. You don’t need to be a Scala expert, I will also present how implicit works at high level.

Category Theory as a Tool for ThoughtDaniel Beskin

By rephrasing various FP idioms in the language of Category Theory, we can systematically tackle concepts by deconstructing them and deriving new ideas from them. That is, we can use Category Theory as a tool—a tool for thought.

The Journey of a Dotty DiagnosticChris Kipp

Diagnostics seem simple enough -- you have some message, a position that relates to it, and a severity level. However, what else could diagnostics tell us? How else could we use them? How does a diagnostic even get from the compiler to your editor? Let's follow the journey of a Dotty diagnostic.

Elm, un langage simple et purement fonctionnel pour le front endLoïc Knuchel

Si comme moi tu détestes les bugs et que tu dois faire du front, la solution est là: Elm. Il n'est pas just robuste et simple, il porte aussi des choix radicaux qui m'ont fait voir la programmation fonctionnelle sous un nouveau jour, même après 8 ans de Scala ^^ Viens plonger dans ce nouvel univers!

Nix: la FP pour vos livrables et déploiementsPierre Dal-Pra

L'immutabilité nous aide quotidiennement à raisonner sur le code que nous lisons et écrivons. Et si on l'appliquait à nos livrables et déploiements ? Je vous montrerais comment Nix propose de répondre à cette question, aussi bien pour produire vos livrables, vos environnements de dev ou la configuration d'un OS.

Secrets of the Scala Type SystemGuillaume Martres

Given a value x of type T, what is the type of x.m? This is easy to answer if T is a class, but what if T is an intersection, a union or contains wildcards? In this talk we'll explore this and other aspects of the type system, thus equipping you with the tools to reason about your code confidently!

Type/Test/Whatever Driven Development: Partage d'expérienceNicolas Francois

De nombreuses personnes vantent les mérites de méthode de développement autour des tests ou du système de types. Pourtant il est facile de se perdre dans de nombreuses et diverses implémentations. Après plusieurs années à expérimenter avec, je vous propose de partager ce que j'en ai appris.

When stateless APIs are not enough: deep dive into a reactive backend designMatthieu Baechler

There are two kinds of Single Page Application design: either you build on top of REST resources or you embrace backend-for-frontend style. We'll show you how to model your backend with ZStream and mapAccumZIO to implement a low latency incremental service to deliver the best of both designs.

When stateless APIs are not enough: deep dive into a reactive backend designLuc Duzan

There are two kinds of Single Page Application design: either you build on top of REST resources or you embrace backend-for-frontend style. We'll show you how to model your backend with ZStream and mapAccumZIO to implement a low latency incremental service to deliver the best of both designs.

ZIO Streaming connector for PravegaOlivier Nouguier

pravega.io is an elastic, consistent and durable Streaming platform. ZIO pravega leverages ZIO Streaming to give full access to Stream (topic) and to KV tables. Transaction support and consistent concurrent write were implemented with ZIO resources management, error handling and retries policies.

Ivre et au chômage, elle décide d'écrire un livre sur le Scala en plein CovidAgnès Maury

REX sur l'écriture d'un premier livre : comment s'est arrivé ? pourquoi j'ai accepté ? par quelles étapes de dépression suis-je passée ?

Adding Python support to Scala toolingAlexandre Archambault

What if Scala developers could seamlessly interact with the Python ecosystem? ScalaPy brings us closer to that dream, and tools such as coursier or Scala CLI are gaining early support for it, which we'll review in that talk.

Discover TASTy Query: The library for Scala whole program analysisJamie Thompson

Discover the future impact of TASTy Query: a single, cross-platform API to answer all semantic questions about Scala programs, no compiler required. Already used in Metals’ debugger, TASTy Query will validate APIs do not break compatibility. Learn to build an analysis to improve your own code.

Overall journey of 8 years product developmentThomas Franco

StrangeBee uses Scala to build its scalable Security Incident Response Platform, TheHive. In this presentation, we’ll firstly, explain our choices and overall journey of 8 years product development. We’ll showcase the benefits of Scala for devops, scalability and development quality. Secondly, we’ll focus on Apache Tinkerpop integration (a graph database query language) and how we’ve built a DSL for an easy and expressive access to data. Finally, we’ll address some setbacks and encountered difficulties before exposing our upcoming challenges.

Overall journey of 8 years product developmentVincent Debergue

StrangeBee uses Scala to build its scalable Security Incident Response Platform, TheHive. In this presentation, we’ll firstly, explain our choices and overall journey of 8 years product development. We’ll showcase the benefits of Scala for devops, scalability and development quality. Secondly, we’ll focus on Apache Tinkerpop integration (a graph database query language) and how we’ve built a DSL for an easy and expressive access to data. Finally, we’ll address some setbacks and encountered difficulties before exposing our upcoming challenges.