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.
We received the ACM SIGPLAN Programming Languages Software Award for WebAssembly in 2021.
Homepage- https://webassembly.github.io/
Specification- https://webassembly.github.io/spec/core/
Reference Interpreter- https://github.com/WebAssembly/spec/tree/master/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.
We received the ACM SIGPLAN Programming Languages Software Award for V8 in 2016.
Homepage- https://developers.google.com/v8/
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:
- futures- laziness and light-weight concurrency with implicit data-flow synchronisation,
- higher-order modules- higher-order functors and abstract signatures,
- packages- integrating static with dynamic typing and first class modules,
- pickling- higher-order type-safe, generic & platform-independent persistence,
- components- platform-independence and type-safe dynamic import & export of modules,
- distribution- type-safe cross-platform remote functions and network mobility,
- constraints- solving combinatorical problems using constraint propagation and programmable search.
The Alice System is a rich open-source programming system featuring a full set of tools, including a graphical IDE.
Homepage- http://www.ps.uni-sb.de/alice/
HaMLet is a faithful implementation of the
Standard ML programming language (SML'97). It aims to be
- an accurate reference implementation of the language specification,
- a platform for experimentation with the language semantics or extensions to it,
- a useful tool for educational purposes.
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".
Homepage- http://www.mpi-sws.org/~rossberg/hamlet/
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:
- extensible records,
- more expressive pattern matching,
- views,
- higher-order modules and nested signatures,
- local and first-class modules,
- miscellaneous fixes to known issues with SML.
Homepage- http://www.mpi-sws.org/~rossberg/hamlet/#successor-ml
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
- it unifies structures and signatures into a single concept,
- nested mixin-style linking is its central primitive,
- it allows fully-fledged recursive modules,
- functors, signature refinement, and other ML features are directly expressible.
We currently have a prototype implementation that allows playing around with small examples.
Homepage- http://www.mpi-sws.org/~rossberg/mixml/
Motoko is an actor-based programming language for the so-called
Internet Computer, a decentralised, distributed computation and application network developed by the
Dfinity Foundation.
- high-level, safe, and typed programming language
- asynchronous actors and synchronous objects as symmetric concepts
- structural subtyping with objects, variants, first-class generics, and pattern matching
- semantics defaults to choices promoting safety and correctness
- familiar mainstream syntax for a modern functional core
- seamless fit for IC's computation model
Homepage- https://internetcomputer.org/docs/current/motoko/main/motoko
Boulder Dash is a computer game classic from the 8-bit era, first released on the Atari 400/800 in 1984. As a homage to its 40th anniversary, I implemented a fairly faithful and feature-complete clone of the original game and its first successor, in just a few 100 lines of OCaml.
- Faithful original physics, graphics, animations, scrolling, sound, and music from C64
- All 40 levels and 5 difficulties of Boulder Dash 1 & 2
- Keyboard and gamepad support
- Pause-and-go mode for relaxed playing
- Three alternative backends, binding to different graphics libraries:
- the bare OCaml Graphics library,
- the TSDL binding to the SDL API,
- the OCaml binding to the Raylib game engine.
In theory, all versions should run on Windows, Mac, and Linux.
Homepage- https://github.com/rossberg/boulder-dash