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...
Saved in:
| Published in | Theory and practice of logic programming Vol. 1; no. 6; pp. 751 - 777 |
|---|---|
| Main Authors | , |
| Format | Journal Article |
| Language | English |
| Published |
Cambridge, UK
Cambridge University Press
01.11.2001
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 1471-0684 1475-3081 |
| DOI | 10.1017/S1471068401001120 |
Cover
| 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 |