The CFP is closed.
08:00 - 09:00 | Registration |
09:00 - 09:20 | Introduction |
09:25 - 10:20 | Opening Keynote |
10:30 - 11:00 | When stateless APIs are not enough: deep dive into a reactive backend design | Secrets of the Scala Type System |
11:05 - 11:35 | Adding Python support to Scala tooling | Cost-effective and easy to maintain GraphQL API integration tests with zio-test and Caliban |
11:40 - 12:25 | Getting started with Scala.js, Laminar and Vite | Category Theory as a Tool for Thought |
12h25 - 13:15 | Lunch Break |
13:15 - 13:30 | Ivre et au chômage, elle décide d'écrire un livre sur le Scala en plein Covid | |
13:30 - 13:45 | Nix: la FP pour vos livrables et déploiements | |
13:55 - 14:35 | Implicit parameters, when to use them (or not)! | Overall journey of 8 years product development |
14:40 - 15:25 | Function reuse is just wishful thinking | Type/Test/Whatever Driven Development: Partage d'expérience |
15:30 - 16:15 | The Journey of a Dotty Diagnostic | Elm, un langage simple et purement fonctionnel pour le front end |
16:15 - 16:35 | Coffee Break |
16:35 - 17:20 | Discover TASTy Query: The library for Scala whole program analysis | ZIO Streaming connector for Pravega |
17:25 - 18:20 | Closing Keynote |
19:30 - 23:00 | 🎉 Community Party |
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.
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 ?
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.