UW Cecil/Vortex Project

Welcome to the home page for the Cecil and Vortex projects at UW CSE. We conduct research on programming language design and implementation, with an emphasis on these issues for object-oriented languages.

Cecil is a purely object-oriented language intended to support rapid construction of high-quality, extensible software. Cecil incorporates multi-methods, a simple prototype-based object model, a mechanism to support a structured form of computed inheritance, module-based encapsulation, and a flexible static type system which allows statically- and dynamically-typed code to mix freely.

Vortex is an optimizing compiler infrastructure for object-oriented and other high-level languages. It targets both pure object-oriented languages like Cecil and Smalltalk and hybrid object-oriented languages like C++, Modula-3, and Java. Vortex currently incorporates high-level optimizations such as static class analysis, class hierachy analysis, profile-guided receiver class prediction, profile-guided selective procedure specialization, intraprocedural message splitting, automatic inlining, and static closure analyses. It also includes a collection of standard intraprocedural analyses such as common subexpression elimination and dead assignment elimination. The Vortex compiler is written entirely in Cecil. A long technical report describes many of our core implementation techniques, and many shorter papers describe individual techniques.

You can check out our latest set of experimental results for Cecil, Java, and C++.

A release of the Cecil/Vortex system (including the Cecil, Java and C++ front ends) is now available.

More Information

Project Overview
A more detailed (though slightly out of date) overview of the project's goals and direction. A postscript version is also available.
Project Members
Current and past project members
Papers
Papers we've written
Cecil/Vortex 2.0
How to get your own copy of the Cecil/Vortex system
Sample Projects
A list of some sample research projects (available to people from UW CSE)
Internal Documentation
Project internal documentation (available to people from UW CSE)
Support
This page lists some of the sources of support for our project
Some Related Projects
Pointers to a few other object-oriented language implementation projects
Vortex For Play
An installation to try out small Cecil programs (on UW CSE machines)

Last updated August 25, 1996.
cecil@cs.washington.edu