Date: Wed, 20 Nov 1996 19:05:46 GMT Server: NCSA/1.5 Content-type: text/html Last-modified: Sun, 18 Aug 1996 4:12:54 GMT The Church Project: A Functional Programming Language Using Intersection Types

The Church Project:
A Functional Programming Language Using Intersection Types

The Church Project is a Boston-based project designing and implementing an ML-like functional programming language. The input language is currently based on rank-2 intersection types while the typed intermediate language has intersection, union, product, sum, and recursive types.

Overview of Language

Intersection types are the basis of the type system for the proposed functional language. It is a matter of research how to limit and adjust intersection types to fit implementation needs. The polymorphism provided by intersection types is different from universal-quantifier polymorphism (ML-like languages typically use a restriction of the latter).

A particular restriction of intersection types (those of "rank 2") has been shown to be flexible enough to provide elegant solutions for several well-known problems caused by universal-quantifier polymorphism in ML-like languages. We have started the implementation of a core language where the input uses type inference for rank-2 intersection types. Our hope is that this flexibility will be further demonstrated as we add new features to the core language.

Pointers to Resources

Project Organization

The project is organized into a weekly seminar, design meetings, and an implementation effort:

Project Participation

The Church Project is based in Boston and has active participants from Boston University, Boston College, Harvard University, and Wellesley College. New participants with time to work on the project and attend the seminar are welcome. For more information, send e-mail to Bob Muller or Joe Wells.

The Project Name

The Church Project is named in memory of Alonzo Church, who died in the month the project began.