The Moby Programming Language
- Moby has an ML-style module system with opaque signature matching.
Definitional specifications are used instead of sharing constraints.
- Moby supports parametric polymorphism with explicit quantification (including
Because function types are explicit in the syntax, polymorphic recursion is supported.
Moby supports structural subtyping on object types and by-name
subtyping on tagtypes and class types.
Subtyping is extended to other type constructors in the standard ways.
- Moby supports objects with self-application semantics.
An object type specifies the interface of an object, but not its implementation.
- Moby supports object creation via classes.
Unlike the more complicated class mechanisms of Java and C++,
Moby's class mechanism only supports those mechanisms that are intrinsic
We rely on the module system to support namespace management and visibility control.
- Moby supports
- Data constructors
- Moby supports a variety of mechanisms for defining data constructors,
including ML-style datatypes, extensible tagtypes, and abstract value constructors.
- Pattern matching
- Moby supports ML-style pattern matching for control-flow and
Last modified: August 2, 2002.