Typing constraint logic programs

We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic programs and modules, while maintaining the capabilities of per...

Full description

Saved in:
Bibliographic Details
Published inTheory and practice of logic programming Vol. 1; no. 6; pp. 751 - 777
Main Authors FAGES, FRANÇOIS, COQUERY, EMMANUEL
Format Journal Article
LanguageEnglish
Published Cambridge, UK Cambridge University Press 01.11.2001
Subjects
Online AccessGet full text
ISSN1471-0684
1475-3081
DOI10.1017/S1471068401001120

Cover

More Information
Summary:We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic programs and modules, while maintaining the capabilities of performing the usual coercions between constraint domains, and of typing meta-programming predicates, thanks to the exibility of subtyping. The property of subject reduction expresses the consistency of a prescriptive type system w.r.t. the execution model: if a program is ‘well-typed’, then all derivations starting from a ‘well-typed’ goal are again ‘well-typed’. That property is proved w.r.t. the abstract execution model of constraint programming which proceeds by accumulation of constraints only, and w.r.t. an enriched execution model with type constraints for substitutions. We describe our implementation of the system for type checking and type inference. We report our experimental results on type checking ISO-Prolog, the (constraint) libraries of Sicstus Prolog and other Prolog programs.
Bibliography:SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ISSN:1471-0684
1475-3081
DOI:10.1017/S1471068401001120