This work is concerned with the development of a prescriptive type system for logic programs, i.e., one in which types are explicitly declared by the programmer. The system is quite expressive in that it supports parametric polymorphism, subtypes, and a new notion called bipartisan predicate types that facilitates the use of subtypes. These features make it possible to impose types on a wide range of realistic Prolog programs. The research includes the development of the theoretical foundations of the system, the design and implementation of type checking and inferencing algorithms, and the application of the system to compile-time optimization, in particular, to current NSF-supported work on the automatic parallelization of logic programs. The work is intended to impact both software development technology and compiler technology.

Project Start
Project End
Budget Start
1991-07-01
Budget End
1994-06-30
Support Year
Fiscal Year
1990
Total Cost
$109,997
Indirect Cost
Name
University of Southern California
Department
Type
DUNS #
City
Los Angeles
State
CA
Country
United States
Zip Code
90089