A Functional and Logic Language with Polymorphic Types

by Michael Hanus

Proc. Int. Symposium on Design and Implementation of Symbolic Computation Systems (DISCO'90), Springer LNCS 429, pp. 215-224, 1990
© Springer-Verlag

This paper presents a typed language with a precisely defined semantics that integrates functional and logic programming styles. To detect programming errors at compile time, the language has a polymorphic type system. The type system restricts the possible use of functions and predicates and ensures that a function or predicate is only called with appropriate arguments at run time. In contrast to many other type systems for logic programming, this type system has a model-theoretic semantics (types are subsets of domains of interpretations) and allows the use of typical logic programming techniques. For instance, it is possible to add specialized clauses and to apply higher-order programming techniques.

DVI (64 KB) Postscript (204 KB) BibTeX-Entry