Goedel language available 
Author Message
 Goedel language available

                     The Goedel Programming Language

The Goedel system is now available. Details on how it can be obtained are given

The programming language Goedel is intended to be a declarative successor
to Prolog.  The main design aim of Goedel is to have functionality and
expressiveness similar to Prolog, but to have greatly improved declarative
semantics compared with Prolog.  This improved declarative semantics has
substantial benefits for program construction, verification, debugging,
transformation, and so on.

Considerable emphasis is placed on Goedel's meta-logical facilities, since
this is where Prolog is most deficient.  In particular, Goedel has declarative
replacements for Prolog's var, nonvar, assert, and retract.  Goedel is a
strongly typed language, its type system being based on many-sorted logic with
parametric polymorphism.  It has a module system.  It also has a flexible
computation rule and a pruning operator, called commit, which generalises the
commit of the concurrent logic programming languages.  Goedel supports infinite
precision integers, infinite precision rationals, and also floating-point
numbers.  It can solve constraints over finite domains of integers and also
linear rational constraints. It supports processing of finite sets and has a
declarative replacement for Prolog's setof.

This release contains:

(a) the Goedel system,
(b) a draft book on the language,
(c) a user manual, and
(d) around 50 (mostly small) example programs.

The book is divided into two parts.  The first part gives an informal
overview of the language and includes example programs.  The second part
contains a definition of the syntax and semantics of the language.  

Goedel should be of particular interest to four groups:

(a) Those doing research in program transformation, program analysis,
debugging, and a wide range of other meta-programming tasks. Goedel provides
significant advantages for such tasks since it is much more declarative than
Prolog, for example, and also a great deal of effort has been put into
providing special support for meta-programming.

(b) Those doing research in parallel implementations of logic programming
languages. The declarative nature of Goedel greatly eases the task of
building a parallel implementation of the language (compared to Prolog,
for example, whose non-logical facilities cause serious difficulties for
parallel implementations).  

(c) Those teaching logic programming. Goedel fits much better than Prolog,
for example, into the undergraduate and graduate curricula since it has a type
and module system similar to other commonly used teaching langauges such as
Miranda and Modula-2. Also most of the problematical non-logical predicates
of Prolog simply aren't present in Goedel (they are replaced by declarative
counterparts) and so the cause of much confusion and difficulty is avoided.

(d) Those working in the theory of logic programming. There has always been a
large gap between the theory of logic programming (as in "Foundations of
Logic Programming", for example) and the much more complex and unsatisfactory
semantics of practical logic programming languages, such as Prolog. Goedel
significantly narrows this semantic gap. This means that theoreticians can
apply their "pure" theories of program transformation, program analysis, etc.,
more or less directly to Goedel and do not have to be concerned with
complications of extending their theories to cope with the many non-logical
aspects of languages such as Prolog.

This release provides a (substantial) subset of the language.  The remainder of
the implementation is expected to be completed over the next year or so.

SICStus Prolog version 2.1 #6 (or later) is required to compile the Goedel
system. As an alternative for those who do not have SICStus Prolog, a run-time
system is provided which gives a version that runs on a SPARCstation.

How to obtain Goedel

The system is available by anonymous ftp.  The ftp sites are

ftp.cs.kuleuven.ac.be     (


ftp.cs.bris.ac.uk     (

At the Leuven site, the file README in the directory


gives further instructions on how to obtain the system.  For the Bristol site,
the README file is in the directory


If you have not already done so, please register when you obtain the system.
This is done by sending a message consisting of your name, institution, and
address to:

Sat, 13 May 1995 01:33:56 GMT  
 [ 1 post ] 

 Relevant Pages 

1. Goedel language available

2. Goedel release 1.4 now available

3. Goedel 1.3 available

4. Goedel & programming languages

5. Goedel Programming Language

6. ?gggerman doc's around the GOEDEL-language?

7. LP (prolog, Goedel) as a first language

8. Concept Languages (was:Re: Paper Available: Theorem Proving, Concept Languages)

9. Goedel info needed

10. Goedel


12. Goedel-Workshop


Powered by phpBB® Forum Software