Using Types as Approximations for Type Checking Prolog Programs
Author(s) -
Christoph Beierle,
Gregor Meyer
Publication year - 1999
Publication title -
lecture notes in computer science
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.249
H-Index - 400
eISSN - 1611-3349
pISSN - 0302-9743
ISBN - 3-540-66677-X
DOI - 10.1007/10705424_17
Subject(s) - prolog , computer science , programming language , subtyping , predicate (mathematical logic) , type inference , predicate abstraction , type (biology) , type theory , program analysis , theoretical computer science , algorithm , model checking , artificial intelligence , inference , ecology , biology
Subtyping tends to undermine the eects of parametric poly- morphism as far as the static detection of type errors is concerned. Start- ing with this observation we present a new approach for type checking logic programs to overcome these diculties. The two basic ideas are, rst, to interpret a predicate type declaration as an approximation for the success set of the predicate. Second, declarations are extended with type constraints such that they can be more rened than in other con- ventional type systems. The type system has been implemented in a system called Typical which provides a type checker for Standard Prolog enriched with type annotations.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom