page 1  (102 pages)
2to next section

Expanding the text here will generate a large amount of data for your browser to display

SEKI Report SR-87-11, Universitat Kaiserslautern, West Germany, February 1988

TEL (Version 0.9)

Report and User Manual

Gert Smolka

FB Informatik, Universitat Kaiserslautern
6750 Kaiserslautern, West Germany

smolka@uklirb.uucp

Abstract

TEL is a second generation logic programming language integrating types and functions with relational programming ?a la Prolog. Relations are defined as in Prolog and are executed by typed resolution and backtracking. Functions are defined with conditional equations and are executed by typed innermost rewriting.

The most innovative aspect of TEL is its type system, which accommodates parametric polymorphism as in ML and subtypes as in OBJ2. Variables need not be declared since TEL's type checker infers their most general types automatically. Types are present at runtime through typed matching and unification: values are tested for membership in subtypes and variables are constrained to subtypes.

TEL is not a toy language. Almost the entire TEL system has been written in TEL. TEL has a module facility supporting the incremental construction of large programs. Furthermore, TEL supports type-safe file handling and other extra-logical operations.

Acknowledgments: This research was funded by the Bundesminister f ur Forschung und Technologie under grant ITR8501A. Version 0.9 of TEL is being implemented by Costa Moissiadis, Werner Nutt, Reinhard Praeger, Ralf