cmm_of_wasm: From WebAssembly to Native Code via the OCaml Backend
Description changed:
Speaker: Simon Fowler, University of Edinburgh
Location: The Outhouse pub, Edinburgh, 7pm, 11th September 2018
Title: cmm_of_wasm: From WebAssembly to Native Code via the OCaml Backend
Abstract
WebAssembly is a low-level yet platform-independent language designed
to replace JavaScript as a compilation target for web applications.
WebAssembly has been billed as "Neither Assembly, nor just for the
Web", but the main production implementations are JIT compilers
implemented in web browsers. As the WebAssembly specification evolves
to incorporate new features such as garbage collection and threads,
and with plans to support more advanced features such as handlers for
algebraic effects on the horizon, it becomes important to prototype
new features without having to modify complex browser code.
In this talk, I will describe cmm_of_wasm, a feature-complete
ahead-of-time compiler which compiles WebAssembly to native code via
a translation to OCaml's CMM intermediate representation. I will give
a tutorial introduction to WebAssembly, discuss challenges which
arise both due to the design of WebAssembly and the choice of CMM as
a compilation target, and discuss a roadmap for future work.