Day 4 -
Aug 21st
Stage 1
Since Scala.js 1.17.0, released in September 2024, users have been able to target WebAssembly for their applications. With a single build tool configuration switch, the Scala.js linker generates WebAssembly 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). This is unusual among languages targeting WebAssembly. Most 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, large-scale redesign of our Intermediate Representation for lambdas, and even new proposals to WebAssembly.
EPFL, Scala Center
Sébastien Doeraene is a compiler/runtime systems hacker and a Scala enthusiast. Best known as the author of Scala.js, he is now an engineer at the Scala Center and part-time lecturer at EPFL. 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 Université catholique de Louvain in Belgium. When he is not busy coding, he sings in choirs and a cappella groups such as the Ensemble Vocal Évohé, or composes for or conducts said choirs.
Subscribe and follow @ScalaDays on BlueSky for the latest conference updates.