The Phantom programming language was a research project which was discontinued in mid-1995.
The remainder of these pages have not been updated since 1995. Read on only if you have some historical interest in Dead Programming Languages.
Phantom is a new interpreted language designed to address some of the problems presented by large-scale, interactive, distributed applications such as distributed conferencing systems, multi-player games, and collaborative work tools. Phantom combines the distributed lexical scoping semantics of Obliq with a substantial language core. The language core is based on a safe, extended subset of Modula-3, and supports a number of modern programming features, including:
The Phantom interpreter is implemented entirely in ANSI C, and provides a binding to the Tk GUI toolkit.
Phantom has similar goals to Java, but was developed independently. There are a number of differences between Phantom and Java.
A paper on Phantom was presented at the USENIX Conference on Object-Oriented Technologies (COOTS). A copy of the paper is available here. This paper puts the language in context, describes the language's distribution model, and shows an example application which is interactive, distributed, and dynamically extensible.
A language overview is available which describes the programming features in the Phantom language core, and gives examples to illustrate their use.
Finally, a language reference manual is also available.
All of the above documentation is in PostScript format.
An alpha release of the interpreter is available which implements all of the features in the language core. More information about the current release is available here.