Title :
Logic programs as types for logic programs
Author :
Frühwirth, Thom ; Shapiro, Ehud ; Vardi, Moshe Y. ; Yardeni, Eyal
Author_Institution :
ECRC, Munich, Germany
Abstract :
Optimistic type systems for logic programs are considered. In such systems types are conservative approximations to the success set of the program predicates. The use of logic programs to describe types is proposed. It is argued that this approach unifies the denotational and operational approaches to descriptive type systems and is simpler and more natural than previous approaches. The focus is on the use of unary-predicate programs to describe the types. A proper class of unary-predicate programs is identified, and it is shown that it is expensive enough to express several notions of types. An analogy with two-way automata and a correspondence with alternating algorithms are used to obtain a complexity characterization of type inference and type checking. This characterization is facilitated by the use of logic programs to represent types
Keywords :
automata theory; computational complexity; formal logic; logic programming; alternating algorithms; complexity characterization; conservative approximations; denotational; descriptive type systems; logic programs; operational; optimistic type systems; program predicates; success set; two-way automata; type checking; type inference; unary-predicate programs; Automata; Automatic programming; Character recognition; Computational complexity; Error correction; Inference algorithms; Logic design; Logic programming; Program processors; Programming profession;
Conference_Titel :
Logic in Computer Science, 1991. LICS '91., Proceedings of Sixth Annual IEEE Symposium on
Conference_Location :
Amsterdam
Print_ISBN :
0-8186-2230-X
DOI :
10.1109/LICS.1991.151654