[comp.lang.prolog] Prolog Standards meeting

cdsm@doc.ic.ac.uk (Chris Moss) (11/29/88)

I've just received the results of the ISO Prolog (WG17) meeting held in
Grassau, West Germany on 3-5 October this year. Since many people won't
see this I thought it might be of interest to post the main resolutions.
(In case you wonder, I did NOT go to this meeting, and will not
participate again until the status quo changes considerably. I am also 
NOT expressing my opinions at this point.)

Votes are indicated in brackets. 22/1/4 means 22 in favour, 1 against and
4 abstensions. The first vote is participants, the second countries --
it is the latter which is binding.

Resolutions passed:

  The following features of Prolog were EXCLUDED from the standard:
	numbered database predicates (22/1/4, 6/1/2)
	if-then and if-then-else predicates (17/9/1, 6/3/0)
	Grammar rules (23/3/1, 7/1/1)
	"assert" (renamed to "assertz") (23/1/3, 9/0/0)

  Strings: there shall be an additional data type called 'string' as
  proposed in WG17 N17. A term of this type will not unify with a term of
  any other atomic type or any structure. (15/8/4, 4/3/2)
  
  Term Ordering: standard Prolog shall support the ordering of sufficiently
  instantiated terms without requiring an order for variables (14/10/3,
  4/2,3). (also ground terms (18/5/4, 6/1/2) and atomic terms (23/2/2, 7/0/2))
  
  Arithmetic expressions: use infix "is" with separate real and integer data
  types, and variables if instantiated, with a list of 21 functions (26/0/0,
  9/0/0)
  include user-defined functions (17/10/0, 6/2/1) (but the standard
  functions would not be available as predicates)

Defeated Resolutions:

  a construct of the form "abc" will unify with a list of integers (2/18/7,
  0/7/2) or a list of terms of a new data type 'character' (1/20/6, 0/6/3)
  or a list of characters, a character being a one-letter atom (8/26/3,
  3/5/1)

  there shall be built-in predicates for manipulating the names of atoms,
  and that there shall be no data type 'string' for representing sequences
  of characters (8/14/5, 3/3/3)

  there shall be no implicit type conversions to/from integers and real
  values (7/20/0, 1/7/1)


In addition to these there were the following formal-type resolutions
(among others) which were all passed unanimously:

  confirms resolution 18 of its Oxford meeting that the syntax for Standard
  Prolog should be close to Edinburgh Prolog.

  a module concept is a very desirable feature, and will not prevent
  separate compilation of Prolog code entities.

  asks AFNOR and DIN to work together on the semantics and asks its project
  editors to provide guidelines forthe definition of fail and exception
  conditions of built-in predicates.

  asks the Austrian and French module groups to prepare a joint proposal for
  modules and the Japanes group to prepare a proposal for object-oriented
  paradigm in Prolog which is compatible with the resolutions of the module
  group.

  the next meetings are in Paris (Spring '89) Ottawa (Autumn '89), Vienna
  (Spring '90)

----------------------------------------------------------------------
Chris Moss.
Imperial College, London.