Semantics-Driven Interoperability between Scala.js and JavaScript
Hundreds of programming languages compile to JavaScript. Yet, most of them fail, at one level or another, to provide satisfactory interoperability with JavaScript APIs. This is limiting, as interoperability is at least required to manipulate web pages through the DOM API, but also to use the eco-system of existing JavaScript libraries. This paper presents the interoperability features of Scala.js, which solves the shortcomings of previous approaches. Scala.js offers a separate hierarchy of JavaScript types, whose operations have semantics borrowed from ECMAScript 2015. The interoperability features are complete with respect to ECMAScript 2015, save for two exceptions which are still being worked on. This allows Scala.js programs to perform any operation that an ECMAScript program could do, thereby guaranteeing that they can talk to any JavaScript library.
Sun 30 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | |||
10:30 25mTalk | Implementing Higher-Kinded Types in Dotty Scala Martin Odersky EPFL, Switzerland, Guillaume Martres EPFL, Switzerland, Dmitry Petrashko EPFL, Switzerland DOI Pre-print Media Attached | ||
10:55 25mTalk | Semantics-Driven Interoperability between Scala.js and JavaScript Scala Sébastien Doeraene EPFL, Switzerland, Tobias Schlatter EPFL, Switzerland, Nicolas Stucki EPFL, Switzerland DOI Pre-print | ||
11:20 25mTalk | A Generic Algorithm for Checking Exhaustivity of Pattern Matching (Short Paper) Scala Fengyun Liu EPFL, Switzerland DOI Media Attached | ||
11:45 25mTalk | Scaps: Type-Directed API Search for Scala Scala Lukas Wegmann 1plusX, Switzerland, Farhad Mehta University of Applied Sciences Rapperswil, Switzerland, Peter Sommerlad University of Applied Sciences Rapperswil, Switzerland, Mirko Stocker University of Applied Sciences Rapperswil, Switzerland DOI File Attached |