Research in type systems is revealing that the theoretical nature of types is surprisingly subtle and unexpectedly broad in scope. Software engineering payoffs for these theoretical results are close at hand, and can impact a much wider range of language properties than is commonly realized. One such payoff is the exploitation of type systems to interface program components - either programmer defined modules, or units automatically derived by compilation. Moreover, type systems can provide a framework for multi-language interfaces, a phenomenon we call open languages. This concept will be explored by: 1) Development and formalization of a comprehensive type system for SFLV, an advanced functional language, capturing essential static properties of normal order evaluation (strictness), polymorphic typing, modes of logical variable usage, and guarded function application under committed choice. 2) Demonstration of the software engineering utility of this comprehensive type system for profiling and interfacing program modules in SFLV. 3) Evaluation of the multi-language capabilities of this approach in two test cases: (1) interfacing Standard ML and Prolog in a sequential environment, and (2) combining SFLV and the imperative language Concurrent Scheme in a parallel setting. 4) Assessment of the power and convenience of these two language combinations by implementing a simplified type inference algorithm as a representative monotonic constraint solving problem.

Project Start
Project End
Budget Start
1990-06-01
Budget End
1994-05-31
Support Year
Fiscal Year
1989
Total Cost
$227,120
Indirect Cost
Name
University of Utah
Department
Type
DUNS #
City
Salt Lake City
State
UT
Country
United States
Zip Code
84112