home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.lang.prolog:2112 comp.ai:4378 comp.databases:8046 comp.lang.functional:1392
- Path: sparky!uunet!mcsun!uknet!cf-cm!csisles!jwl
- From: jwl@CompSci.Bristol.AC.UK (John Lloyd)
- Newsgroups: comp.lang.prolog,comp.ai,comp.databases,comp.lang.functional
- Subject: Goedel language available
- Message-ID: <2305@csisles.Bristol.AC.UK>
- Date: 23 Nov 92 17:33:56 GMT
- Reply-To: jwl@CompSci.Bristol.AC.UK ()
- Organization: Dept of Computer Science, University of Bristol, UK.
- Lines: 101
-
-
- The Goedel Programming Language
- -------------------------------
-
- The Goedel system is now available. Details on how it can be obtained are given
- below.
-
- 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 (134.58.41.2)
-
- and
-
- ftp.cs.bris.ac.uk (137.222.102.102).
-
- At the Leuven site, the file README in the directory
-
- /pub/logic-prgm/goedel
-
- gives further instructions on how to obtain the system. For the Bristol site,
- the README file is in the directory
-
- /goedel.
-
- 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:
-
- goedel@compsci.bristol.ac.uk.
-