FOmegaSub implementation available

A prototype compiler for the typed lamba-calculus FOmegaSub -- an
extension of Cardelli and Wegner's system Fsub [1] with type operators
in the style of Fomega -- is now available by anonymous FTP.

FOmegaSub forms the basis for a series of recent reports on type
theoretic foundations for object-oriented programming [2,3,4].  The
distribution includes a graded sequence of exercises introducing the
basic concepts of the calculus -- universal polymorphism, existential
types, subtyping, and type operators -- leading up to a full treatment
of object-oriented programming and several implementations of
inheritance.  Also included in the distribution are a user's manual
and some sample input files.

The compiler is available in both source and binary form (for sun4
processors).  The sources may be recompiled on any machine running
Standard ML of New Jersey, version 93.  To retrieve the files, proceed
as follows:

    ftp ftp.dcs.ed.ac.uk                [or]
    login: anonymous
    password: <your mail address>
    cd pub/bcp
    binary			        [don't forget this!]
    get fomega.sun4.tar.Z               

The sources are in the file checkers.src.tar.Z in the same directory.


        Benjamin Pierce

[1] Luca Cardelli and Peter Wegner, "On Understanding Types, Data
    Abstraction, and Polymorphism."  Computing Surveys, Volume 17, 
    number 4, December, 1985.

[2] Benjamin C. Pierce and David N. Turner, "Simple Type-Theoretic
    Foundations for Object-Oriented Programming."  To appear in Journal of
    Functional Programming; a preliminary version appeared in Principles
    of Programming Languages, 1993, and as University of Edinburgh
    technical report ECS-LFCS-92-225, under the title Object-Oriented
    Programming Without Recursive Types.

[3] Benjamin C. Pierce and David N. Turner, "Statically Typed
    Multi-Methods via Partially Abstract Types."  Draft technical report,
    September 1992.

[4] Martin Hofmann and Benjamin Pierce, "An Abstract View of Objects and
    Subtyping (Preliminary Report)."  University of Edinburgh, LFCS
    technical report ECS-LFCS-92-226, 1992.