This book gives a tutorial overview of Goedel, presents example programs, provides a formal definition of the syntax and semantics of the language, and covers background material on logic.

Goedel is a new, general-purpose, declarative programming language that is based on the paradigm of logic programming and can be regarded as a successor to Prolog. This book gives a tutorial overview of Goedel, presents example programs, provides a formal definition of the syntax and semantics of the language, and covers background material on logic. The Goedel language supports types and modules. It has a rich collection of system modules and provides constraint solving in several domains. It also offers metalogical facilities that provide significant support for metaprograms that do analysis, transformation, compilation, verification, debugging, and the like. The declarative nature of Goedel makes it well suited for use as a teaching language, narrows the gap that currently exists between theory and practice in logic programming, makes possible advanced software engineering tools such as declarative debuggers and compiler generators, reduces the effort involved in providing a parallel implementation of the language, and offers substantial scope for parallelization in such implementations. Logic Programming series