Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!shadooby!samsung!munnari.oz.au!mudla!ok From: ok@mudla.cs.mu.OZ.AU (Richard O'Keefe) Newsgroups: comp.lang.prolog Subject: Re: More fun with WG17 Message-ID: <2744@munnari.oz.au> Date: 18 Nov 89 11:42:33 GMT References: <2609@munnari.oz.au> <696@sce.carleton.ca> <2643@munnari.oz.au> <1359@gould.doc.ic.ac.uk> Sender: news@cs.mu.oz.au Lines: 74 In article <1359@gould.doc.ic.ac.uk>, cdsm@sappho.doc.ic.ac.uk (Chris Moss) writes: > In this case it seems that the New Zealand representative of ISO might well > have been entirely rational in deciding not to participate: the expense may not > be worth the payoff. I really must probe a little more when I get back. I have no idea what "the New Zealand representative of ISO" might be (the idea of the ISO having an ambassador somewhere in Wellington has charm, I must admit). I will be very surprised indeed if the NZSI ever made any decision about Prolog as such at all. > As I've said before, the difference between Prolog and (say) C is that there > have been a number of attempts to get Prolog right, and the Edinburgh one was > not the first. Thus the priority issue is far from clear. This isn't such a big difference from C: C itself is merely one member of a related family of notations, and Whitesmiths C was seriously different (the syntax was much the same, but the library functions were not, and that is the level that mainly matters for Prolog). "Priority" is a total red herring, here. If we went by priority, I think we'd have to go for the Begriffschrift (sp?) -- I've been surprised that no-one has revived it as a "graphical Prolog". Or GOLUX. A standard is for a PRACTICAL purpose. The criterion which guides a standard is "what will maximise the practical utility of this standard?" At the time that the BSI committee was formed, the answer was clear: the Edinburgh branch of the Prolog family stood out in terms of number of implementations that were intended to be compatible, in terms of books in print or in progress, and in terms of public-domain software coded in that dialect (the DEC-10 Prolog library). My own goal in writing the DAI report which became PS/6 was to spell out the minimal level of built-in predicates I needed in order to make the library portable, so that I could spend time extending the library rather than porting it. Let's consider availability now, and see what it tells us about whether a Prolog standard should resemble Edinburgh Prolog, or Turbo Prolog, or Prolog III, or micro-PROLOG. On this machine at the moment there are Quintus Prolog, SICStus Prolog, NU Prolog, MU Prolog, Stony Brook Prolog, and a copy of the Berkeley Prolog system which I haven't actually installed yet. Within my reach I have floppy discs for LPA Prolog Professional and LPA Mac Prolog. On the Sun I could also get by paying for them (if I had the money) IF Prolog, BIM Prolog, and ALS Prolog. IF has a Mac implementation that I know of, and ALS has a Mac and a PC implementation. I've also got a copy of C Prolog on a tape somewhere. I nearly forgot Poplog, which would be a pity. All of these are reasonable compatible with the Edinburgh family. (Oops, I forgot `Edinburgh' Prolog (was NIP).) Where are the imitators of Turbo Prolog, of Prolog III, of micro-PROLOG? (micro-PROLOG's successor is LPA Prolog, where micro-PROLOG-like syntax is an option dismissed to an appendix in the Professional manual and is absent from the Mac version. The Professional manual says "Warning: LPA does not guarantee to support the standard syntax in future versions of LPA Prolog Professional" where by "standard" they mean micro-PROLOG.) Of the systems on the Sun, SB Prolog costs nothing, the Berkeley Prolog system costs nothing, NU Prolog costs basically a handling fee to academic sites, and the price of SICStus Prolog to research sites is quite modest. What is more, two of the systems on the Sun here are in part derived from the "DEC-10 compatible" source code that I broadcast to the net in 1984: read, write, setof, &c. There is nothing comparable to that for the other dialects. Darn, I forgot ZYX ProLog; it belongs in the list of "haven't got it but all it takes is money". How about Waterloo Prolog? Well, in my 1984 report "On Standardising Prolog" I showed how a standard based on Edinburgh Prolog would be able to handle Waterloo Prolog, and a document on user-assigned stream aliases I posted to Roger Scowen recently explicitly considers Turbo Prolog. When it comes to books, Edinburgh Prolog books are most common, then Turbo Prolog (Why is the PC world so full of very thick books from a handful of publishers that tell you slowly, painfully, and confusingly what is said so much better in the manuals for the products they refer to?) then perhaps micro-PROLOG, and then is peters out to almost nothing. There is one book on Prolog III I know of, and one book which uses VM/Prolog. Nope, priority is not the most important criterion for standardising a programming language. The greatest good for the greatest number of users is. (I have an unpleasant feeling that my principles are about to force me to buy a copy of Turbo Prolog instead of borrowing an old manual. Ugh. Anyone got a recent Turbo Prolog they don't want?)