EPSRC project GR/L36963
On Type Theory and Term Rewriting for Expressive and Efficient Programming Languages
EPSRC project-
On Type Theory and Term Rewriting for Expressive and Efficient Programming Languages
Principal Investigator: Fairouz Kamareddine
Post-Doctoral Researcher: Joe Wells
Value 234,979 GBP
Duration: 1/March/1997-30/April/2000
Here is the one page summary.
Over the past twenty years, emerging results in type theory
(TT) and term rewriting
(TR) have been applied to the design and
implementation of functional programming languages.
Although TT is essential for programming language safety and
correctness, TT has also been useful for organizing compilation,
optimization, code generation, and execution.
TT also aids in discovering flaws in language design, e.g., TT helped
find basic flaws in the Clean language.
Similarly, while TR concepts are important for describing programming
language features, e.g., pattern matching, TR has also been useful for
efficient implementation, e.g., optimal reductions and efficient
abstract machines.
TR also has provided general methods for proving termination,
confluence, type-preserving reduction, etc.
Of course, TT and TR have not solved all problems of programming
languages, and recent work has illuminated interesting areas for
further research. One example is the goal of combining expressive
type systems with automated type inference (ATI). Milner's successful
language ML supports ATI, but its type system has limitations on
polymorphic types making some code reuse more difficult and its module
system is awkwardly separate. Expressive type systems such as F,
F<, Feta, and Fomega have the potential to solve ML's difficulties.
Unfortunately, these systems have fatal problems with ATI. Dr. Wells
recently showed ATI impossible for F and Feta, Urzyczyn showed the
same for Fomega, and Pierce showed F<'s subtyping to be
undecidable. As a result, an open issue is discovering a type system
expressive enough to overcome ML's limitations while allowing ATI. A
related open issue is to characterize ML or a similar language in its
entirety in a theoretically elegant manner, as opposed to the awkward
ad hoc combinations used until now.
Another example of an interesting area for further research is in the
combination of TT and TR. Since most TT research is based on typed
lambda-calculi while TR better describes what implementations actually
do, there is a conceptual gap between most TT research and its
application in programming languages. One way of bridging this gap is
explicit substitution, where lambda-calculus operations are
implemented by an underlying TR system. Many problems remain open,
most especially combining explicit substitution with reasonably
expressive type systems. Another way of bridging the gap between TT
and TR is to formulate typed term rewriting systems directly,
bypassing the lambda-calculus. Preliminary research indicates this is
a viable approach, but leaves as an open issue the extension to type
systems expressive enough to handle the problems of modern programming
languages.
Based on the above reasoning, our specific goals are:
- Expanding boundaries of type system expressiveness without losing ATI.
- Formalising a language like ML in a general yet simple framework,
e.g., the framework of a pure type system (PTS).
- Combining these results in a language partially or entirely based on
explicit concepts of TR.
The expected benefits for programming languages are less limiting and
more expressive TT, enhanced theoretical foundations, and more
efficient implementations.
Under this proposal, we made vital progress on all objectives.
We have thoroughly studied programming language calculi using explicit
rewriting concepts, established the essential theoretical properties
of these calculi, and carried out prototype implementations.
Our achievements answer in extreme thoroughness and depth to our
three objectives.
We have also made new and useful steps in the study of calculi that
bridge theory and implementation.
The progress of this project has been directed by the work of Dr.
Wells on solving open problems in the field, e.g., decidability of
typing of systems like F and the work of Prof.
Kamareddine on formalising type systems using explicit rewriting.
Under this grant, we published 11 journal articles, 11 conference
articles, 1 special journal issue and have 7 submitted articles.
We have also initiated two international workshops:
-
The First International Workshop on Explicit Substitutions: Theory and Applications to Programs and Proofs: WESTAPP '98 .
-
The First International Workshop on Intersection Types and Related Systems (ITRS '00).
We have also held various nternational schools and events.
Here is a list of publications and schools. In all, EPSRC support is gratefully acknowledged.
JOURNAL PAPERS
-
Fairouz Kamareddine
and Twan Laan (2000),
A Correspondence between Martin-Loef Type Theory, the Ramified Theory of Types and Pure Type Systems
Logic, Language and Information (J. Logic Lang.
Inform.)
volume ? Number?, pages ?, 2000, Kluwer Academic Publishers.
-
Fairouz Kamareddine (2000)
Postponement, Conservation and Preservation of Strong Normalisation for Generalised Reduction
Logic and Computation volume
10 (5) pages ??, 2000, Oxford University Press.
-
Fairouz Kamareddine
and Alejandro Rios (2000)
Relating the Lambda-sigma and Lambda-s styles of Explicit Substitutions
Special issue on Type Theory and Term Rewriting: a collection of papers.
Special issue in the Journal of
Logic and computation,
10 (3),
2000, Oxford University Press.
-
Rene Vestergaard and J.B.Wells (??)
Cut rules and explicit substitutions
Mathematical Structures in Computer Science, volume =??, pages ??, year??.
To appear.
-
J.B.Wells,
Typability and type checking in System F are equivalent and undecidable
Annals
of Pure and Applied Logics, volume 98,
1999
-
J.B.Wells, Allyn Dimock, Robert Muller, and Franklyn Turbak,
A calculus with polymorphic and polyvariant
flow types.
J. Funct. Prog., 199X. Accepted subject to revisions.
-
Fairouz Kamareddine,
Roel Bloo and
Rob Nederpelt (1999)
On $\Pi$-conversion in The $lambda$-cube and the combination with
abbreviations
Annal of Pure and Applied Logics,
volume 97, no.
1-3, pages 27--45, 1999,
Elsevier, North-Holland.
-
Fairouz Kamareddine and
Alejandro Rios (1998)
Bridging de Bruijn indices and variable
names in explicit substitutions calculi
the Logic Journal
of the Interest Group of Pure and Applied Logic
( Log. J. IGPL)
no. 6(6), pages 843--874, 1998,
ISSN 0945-9103, Oxford University Press.
Primary Classification
03B40
-
Fairouz Kamareddine (1998)
The Soundness of Explicit Substitution with Nameless Variables
International Journal of Foundations of Computer Science 9(3),
pages 321-349, 1998, World-Scientific Publishing Company.
-
Fairouz Kamareddine,
Alejandro Rios and Joe Wells (1998)
Calculi of Generalised $\beta$-Reduction and Explicit Substitutions:
The Type free and Simply Typed Versions
Journal of Functional and Logic Programming,
( JFLP)
Volume 1998,
article 5, pages 1--44, ISSN 1080-5230, MIT Press, 4 June 1998. Primary Classification 03B40 (68N15)
-
Fairouz Kamareddine and
Alejandro Rios (1997)
Extending a $\lambda$-calculus with explicit substitution which preserves strong normalisation into a confluent calculus on open terms
Journal of Functional Programming
(J. Funct. Programming)
volume 7, no. (4), pages 395--420, 1997, Cambridge University Press.
Primary Classification
03B40 (68N15 68Q42)
EDITED VOLUMES
-
Fairouz Kamareddine
and Jan Willem Klop, editors (2000)
Special issue on Type Theory and Term Rewriting: a collection of papers.
Special issue in the Journal of
Logic and Computation volume
10 (3),
2000, Oxford University Press.
CONFERENCE PAPERS
-
Mauricio Ayala and
Fairouz Kamareddine (2000)
Higher Order Unification via lambda se-Style of Explicit Substitution
International Conference on Principles and Practice of
Declarative Programming, PPDP'00,
Lecture Notes in Computer Science ?, Pages ?, ©Springer-Verlag, 2000.
-
Mauricio Ayala and
Fairouz Kamareddine (2000)
Strategies for Simple-Typed Higher Order Unification via lambda se Style of
Explicit Substitution.
In the Third Int'l Workshop on Explicit
Substitutions: Theory and Applications to Programs and Proofs,
A Satellite workshop of RTA 2000, Norwich, UK, 2000.
-
J.B.Wells and Rene Vestergaard (2000)
Equational reasoning for linking with first-class primitive modules.
In Proc. European Symp. on Programming. LNCS. ©Springer-Verlag, 2000.
-
Assaf J. Kfoury and J.B.Wells
Principality and decidable type inference for finite-rank intersection types
In
Conf. Rec. POPL '99: 26th ACM Symp. Principles of Prog. Languages, 1999.
-
Assaf J. Kfoury, Harry G. Mairson, Franklyn A. Turbak, and J.B.Wells
Relating typability and expressibility
in finite-rank intersection type systems
In Proc. 1999 Int'l Conf. Functional Programming, 1999.
-
Rene Vestergaard and J.B.Wells
Cut rules and explicit substitutions
In Second Int'l Workshop on Explicit
Substitutions: Theory and Applications to Programs and Proofs, Trento, Italy, 5 July 1999
-
J.B.Wells,
Allyn Dimock, Robert Muller, and Franklyn Turbak.
A typed intermediate language for
flow-directed compilation.
In Proc. 7th Int'l Joint Conf. Theory & Practice of Software Development, 1997.
-
Allyn Dimock, Robert Muller, Franklyn Turbak, andJ.B.Wells,
Strongly typed flow-directed representation transformations
In Proc. 1997 Int'l Conf. Functional Programming, 1997.
-
Franklyn Turbak, Allyn Dimock, Robert Muller, and J.B.Wells,
Compiling with polymorphic and polyvariant flow types.
In First Int'l Workshop on Types in Compilation, June 1997.
-
Fairouz Kamareddine, Roel Bloo and
Rob Nederpelt (1997)
An Approximation of Reductional Equivalence
Computer Science Logic, CSL'97, Aarhus.
-
Gilles Barthe, Fairouz Kamareddine and
Alejandro Rios (1997)
Explicit substitutions for the $\lambda \Delta$ calculus
6th international joint conference on
Algebraic and Logic Programming and Higher Order Algebra,
ALP-HOA'97,
Lecture Notes in Computer Science 1298, Pages 209-223, ©Springer-Verlag, 1997.
Workshops/events organised under this grant:
The First International Workshop on Explicit Substitutions: Theory and Applications to Programs and Proofs: WESTAPP '98 .
Joint Symposium on Computational Models of Brain,
Language and Reasoning '98. Co-organiser:
Dr Ewan Klein. Publicity: Dr Nick Taylor.
The EEF School on Logic and Computation'99. Co-organiser:
Professor Don Sannella
Winter Workshop in Logics, Types and Rewriting '00
The EEF Foundations School in Deduction and Theorem Proving'00. Co-organiser:
Dr Alan Mycroft .
Festival Workshop in Foundations and Computing, FC'00.
The First International Workshop on Intersection Types and Related Systems (ITRS '00).
Other grants resulting from this grant
An Efficient and User Friendly Proof Development Environment.
Principal Investigator: Professor Fairouz Kamareddine.
Dutch
partners:Prof. Jan Willem Klop,
Prof. Henk Barendregt
and Dr. Erik Barendsen
Funded by The Royal Society.
Typed Calculi for Problems in Higher-Order Programming Languages.
Project Co-ordinator: Professor Fairouz Kamareddine.
Glasgow Investigator:
Joe Wells
Boston Investigator:
Assaf Kfoury
John Hopkins Investigator:
Scott Smith
Funded by
NATO.
Type Theory for Programming a la Boston and Heriot-Watt. .
Principle Investigator: Professor Fairouz Kamareddine.
Visiting Professor
Assaf Kfoury.
Funded by EPSRC.
Type Theory and Term Rewriting For Programs and Proofs.
British Principal Investigator: Professor Fairouz Kamareddine.
Dutch
partners:Prof. Jan Willem Klop,
Prof. Henk Barendregt
and Dr. Erik Barendsen
Funded by
British Council and
NWO.
Bridging the Gap between Type Theory and Term Rewriting.
British Principal Investigator: Dr. Fairouz Kamareddine
Dutch
partner: Prof. Henk Barendregt.
Funded by
British Council and
NWO.
Investigation into the Theory and Practice of Reduction.
British Principal Investigator: Dr. Fairouz Kamareddine
Dutch
partner:Prof. Jan Willem Klop.
Funded by
British Council and
NWO.
Maintained by
Fairouz
Kamareddine