Speaker: Simon Fowler, University of Edinburgh Location: The Outhouse pub, 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. |
Coming Up >