WebAssembly is a safe and portable format for efficient native-code execution, available in browsers and other embeddings. I am the author of the language specification and maintainer of the reference interpreter, as well as owner of various feature proposals in the works.

Reference Interpreter-


V8 is a high-performance virtual machine for JavaScript that has been developed and open-sourced by Google. It is used e.g. in Chrome, Android, and by node.js. I was the lead of the JavaScript language team.

V8 received the ACM SIGPLAN Programming Languages Software Awards in 2016.


Alice ML

Alice ML is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming. Alice ML extends Standard ML with several new features: The Alice System is a rich open-source programming system featuring a full set of tools, including a graphical IDE.



HaMLet is a faithful implementation of the Standard ML programming language (SML'97). It aims to be The implementation is intended to be as direct a translation of the language formalisation found in the Definition of Standard ML as possible, modulo bug fixes. It can perform different phases of execution - like parsing, elaboration (type checking), and evaluation - selectively. In particular, it is possible to execute programs in an untyped manner, thus exploring the universe where even ML programs "can go wrong".


Successor ML

Various proposals for Successor ML (sML) are implemented in a special version of HaMLet. It represents a testbed and sort of a personal vision of where sML might go. Its most interesting features are:



MixML is a complete redesign of the ML module language that is described in the paper "Mixin' Up the ML Module System" by Derek Dreyer and myself. Its main features are that We currently have a prototype implementation that allows playing around with small examples.