home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / lang / prolog / 2112 < prev    next >
Encoding:
Internet Message Format  |  1992-11-23  |  5.0 KB

  1. Xref: sparky comp.lang.prolog:2112 comp.ai:4378 comp.databases:8046 comp.lang.functional:1392
  2. Path: sparky!uunet!mcsun!uknet!cf-cm!csisles!jwl
  3. From: jwl@CompSci.Bristol.AC.UK (John Lloyd)
  4. Newsgroups: comp.lang.prolog,comp.ai,comp.databases,comp.lang.functional
  5. Subject: Goedel language available
  6. Message-ID: <2305@csisles.Bristol.AC.UK>
  7. Date: 23 Nov 92 17:33:56 GMT
  8. Reply-To: jwl@CompSci.Bristol.AC.UK ()
  9. Organization: Dept of Computer Science, University of Bristol, UK.
  10. Lines: 101
  11.  
  12.  
  13.                      The Goedel Programming Language
  14.                      -------------------------------
  15.  
  16. The Goedel system is now available. Details on how it can be obtained are given
  17. below. 
  18.  
  19. The programming language Goedel is intended to be a declarative successor 
  20. to Prolog.  The main design aim of Goedel is to have functionality and 
  21. expressiveness similar to Prolog, but to have greatly improved declarative 
  22. semantics compared with Prolog.  This improved declarative semantics has 
  23. substantial benefits for program construction, verification, debugging, 
  24. transformation, and so on.
  25.  
  26. Considerable emphasis is placed on Goedel's meta-logical facilities, since 
  27. this is where Prolog is most deficient.  In particular, Goedel has declarative
  28. replacements for Prolog's var, nonvar, assert, and retract.  Goedel is a 
  29. strongly typed language, its type system being based on many-sorted logic with 
  30. parametric polymorphism.  It has a module system.  It also has a flexible 
  31. computation rule and a pruning operator, called commit, which generalises the 
  32. commit of the concurrent logic programming languages.  Goedel supports infinite
  33. precision integers, infinite precision rationals, and also floating-point 
  34. numbers.  It can solve constraints over finite domains of integers and also 
  35. linear rational constraints. It supports processing of finite sets and has a
  36. declarative replacement for Prolog's setof.
  37.  
  38. This release contains:
  39.  
  40. (a) the Goedel system, 
  41. (b) a draft book on the language, 
  42. (c) a user manual, and 
  43. (d) around 50 (mostly small) example programs.
  44.  
  45. The book is divided into two parts.  The first part gives an informal 
  46. overview of the language and includes example programs.  The second part 
  47. contains a definition of the syntax and semantics of the language.  
  48.  
  49. Goedel should be of particular interest to four groups:
  50.  
  51. (a) Those doing research in program transformation, program analysis,
  52. debugging, and a wide range of other meta-programming tasks. Goedel provides
  53. significant advantages for such tasks since it is much more declarative than
  54. Prolog, for example, and also a great deal of effort has been put into 
  55. providing special support for meta-programming.
  56.  
  57. (b) Those doing research in parallel implementations of logic programming
  58. languages. The declarative nature of Goedel greatly eases the task of 
  59. building a parallel implementation of the language (compared to Prolog,
  60. for example, whose non-logical facilities cause serious difficulties for
  61. parallel implementations).  
  62.  
  63. (c) Those teaching logic programming. Goedel fits much better than Prolog,
  64. for example, into the undergraduate and graduate curricula since it has a type 
  65. and module system similar to other commonly used teaching langauges such as 
  66. Miranda and Modula-2. Also most of the problematical non-logical predicates
  67. of Prolog simply aren't present in Goedel (they are replaced by declarative
  68. counterparts) and so the cause of much confusion and difficulty is avoided.
  69.  
  70. (d) Those working in the theory of logic programming. There has always been a
  71. large gap between the theory of logic programming (as in "Foundations of
  72. Logic Programming", for example) and the much more complex and unsatisfactory 
  73. semantics of practical logic programming languages, such as Prolog. Goedel
  74. significantly narrows this semantic gap. This means that theoreticians can 
  75. apply their "pure" theories of program transformation, program analysis, etc., 
  76. more or less directly to Goedel and do not have to be concerned with 
  77. complications of extending their theories to cope with the many non-logical
  78. aspects of languages such as Prolog.
  79.  
  80. This release provides a (substantial) subset of the language.  The remainder of
  81. the implementation is expected to be completed over the next year or so.
  82.  
  83. SICStus Prolog version 2.1 #6 (or later) is required to compile the Goedel
  84. system. As an alternative for those who do not have SICStus Prolog, a run-time
  85. system is provided which gives a version that runs on a SPARCstation.
  86.  
  87.  
  88. How to obtain Goedel
  89. --------------------
  90.  
  91. The system is available by anonymous ftp.  The ftp sites are
  92.  
  93. ftp.cs.kuleuven.ac.be     (134.58.41.2)
  94.  
  95. and 
  96.  
  97. ftp.cs.bris.ac.uk     (137.222.102.102).
  98.  
  99. At the Leuven site, the file README in the directory
  100.  
  101. /pub/logic-prgm/goedel
  102.  
  103. gives further instructions on how to obtain the system.  For the Bristol site,
  104. the README file is in the directory
  105.  
  106. /goedel.
  107.  
  108. If you have not already done so, please register when you obtain the system.
  109. This is done by sending a message consisting of your name, institution, and 
  110. address to:
  111.  
  112. goedel@compsci.bristol.ac.uk.
  113.