secretaire-inma@uclouvain.be +32 10 47 80 36

Seminar Details

Home > Seminars > Details

2026-05-13 (13:00) : Scala, WebAssembly, and JavaScript interoperability

At Shannon (Maxwell - a.105)

Duration: 60 minutes

Organized by Computer Science and Engineering

Speaker : Sébastien Doeraene (EPFL, Switzerland)
Sébastien Doeraene
Sébastien Doeraene

Sébastien Doeraene is a lecturer at EPFL, Switzerland, and a compiler/runtime systems hacker. He is best known as the author of [Scala.js] (https://www.scala-js.org/), though he also co-authored the Mozart 2 virtual machine for Oz with Yves Jaradin. He holds a PhD from EPFL, having worked under the supervision of Prof. Martin Odersky, and a master's degree in computer science engineering from UCLouvain, where he worked with Peter Van Roy. When he is not busy coding, he conducts or sings in choirs and a cappella groups such as the [Ensemble Vocal Évohé] (http://www.ensemble-vocal-evohe.com/).

Abstract : Since Scala.js 1.17.0, released in September 2024, users have been able to target WebAssembly (Wasm) for their applications. With a single build tool configuration switch, the Scala.js linker generates Wasm code to be used in a JavaScript host. It does so while preserving the semantics of the Scala.js language. In particular, you still get all the nice JavaScript interoperability features that Scala.js is known for (well … except @JSExport, but more on that in the talk). That also means you get to reuse the entire ecosystem of libraries. This is unusual among languages targeting Wasm. Most significantly compromise on their ability to talk to JavaScript in the process. This talk explores some of the challenges we faced, and the unusual solutions we designed. We will talk about weird language semantics, low-level performance aspects (including where JS still beats Wasm), and even new proposals to Wasm.
← Back to Seminars