Moby is an experiment in language design and implementation. Its design combines ML-style modules and functional programming constructs with class-based object-oriented features and CML-style concurrency.
In this talk, I will start with a brief tour of the Moby project, covering the language's origins, its support for class-based object-oriented programming, and its infrastructure for supporting extremely efficient language interoperability.
The main part of this talk is focused on the design and implementation of Moby's concurrency mechanisms. Moby provides an explicit threading model with message-passing primitives for communication and synchronization. Like CML, Moby supports first-class synchronous operations, called events, which are an abstraction mechanism for building first-class communication and synchronization abstractions. This talk will describe Moby's concurrency mechanisms and will illustrate how the event mechanism can be used to package complex communication protocols as synchronous operations. I will also discuss the implementation of concurrency in Moby, including compiler and runtime support.