Scala.js compiles to JavaScript with two major goals in mind: interoperability with JavaScript libraries, and portability with respect to Scala/JVM. With the rise of WebAssembly as an alternative to JavaScript in the browser, one cannot help but wonder whether we could compile Scala.js to WebAssembly, with the promise of better performance. Unfortunately, WebAssembly quickly appears as a siren, and the path to it navigates between Charybdis and Scylla, the threats to interoperability and portability. Come and explore the sea with us, and meet its dangers.
We assume that the audience has a strong working knowledge of Scala, is at least somewhat familiar with JavaScript, and can read at least one assembly-like language. Knowledge of WebAssembly itself or compilers is not necessary.
Sébastien Doeraene
@sjrdoeraene
Sébastien Doeraene is a compiler/runtime systems hacker and a Scala enthusiast. Best known as the author of Scala.js, he is now executive director of the Scala Center. 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 said choirs.