Scala.js and WebAssembly - A Tale of the Dangers of the Sea
Offered By: Scala Days Conferences via YouTube
Course Description
Overview
Explore the challenges and opportunities of integrating Scala.js with WebAssembly in this conference talk from Scala Days Lausanne 2019. Dive into the intricacies of WebAssembly as a language, its linear memory model, and JavaScript interoperability. Examine the Scala IR and its potential translation to WebAssembly, covering topics such as tail recursion, local variables, control flow, and virtual dispatch. Analyze proposed solutions for reference types and interoperability issues. Evaluate the potential performance benefits and effects on Scala programming when considering WebAssembly integration. Gain insights into the future of Scala.js and WebAssembly collaboration, including discussions on GBM implementation and the overall impact on the Scala ecosystem.
Syllabus
Intro
What is WebAssembly
Why is WebAssembly a language
JavaScript Interop
WebAssembly overview
Linear memory model
JavaScript functions
The fun part
All of ecology
Scala IR
Scala WebAssembly
Tail recursive factorial
Local variables
Control flow
Classes
Linear Memory
Virtual Dispatch
Interpreter Interoperability
Are we stuck
Lets drop interoperability
Reference types
Reference types proposal
hello methods
decompose
lambda
any ref
call function
schematic
cycles
another proposal
new types
class points
captures
when
Questions
Another path
Is it worth the change
Performance
GBM in WebAssembly
Effects in Scala
Conclusion
Taught by
Scala Days Conferences
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Intro to Computer Science
University of Virginia via Udacity Web Development
Udacity Software Engineering for SaaS
University of California, Berkeley via Coursera CS50's Introduction to Computer Science
Harvard University via edX