🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #514

Re: More fun with WG17

#514
From: Richard O'Keefe
Date: Wed, 22 Nov 1989 11:20
85 lines
5216 bytes
In article <1371@gould.doc.ic.ac.uk>, cdsm@sappho.doc.ic.ac.uk (Chris Moss) writes:
> This is silly.  Are you claiming that Edinburgh was the only practical
> Prolog system around?
and later
> So please don't make out I'm arguing for a position I don't hold.
> Chris.
Ditto.

> I think this is a biased view.  If one was to judge simply by the number
> of sales, then probably in 1984 microProlog would have won hands down. As
> you point out, Turbo would probably win now.  Is either of these relevant?

*YES*.
micro-PROLOG:  I contended in 1984 that the standard should not be
unduly influenced by micro-PROLOG because there wasn't any variation in
the micro-PROLOG market (there weren't half a dozen nearly-but-not-quite-
compatibles as there were for Edinburgh Prolog, so micro-PROLOG didn't
*need* a standard) and because micro-PROLOG was different enough from
Edinburgh Prolog that it wasn't worth trying to hybridise.  I had then,
as I have now, no influence on the committee, and they went on for at
least a year trying to define Edinburgh Prolog on top of micro-PROLOG
data structures.  I think it is relevant to note that Logic Programming
Associates now offer LPA Mac Prolog for the Mac and LPA Prolog
Professional for the PC, and both are described by LPA as "Edinburgh"
systems, although LPA Prolog Professional continues to support
micro-PROLOG syntax as well.  I did claim in 1984 that dialects other
than Edinburgh Prolog should influence the standard in the sense that it
should be considered how a compatibility package or translator could be
written, and wrote a DAI report (title "On Standardising Prolog") which
considered Waterloo Prolog.  I didn't do that for micro-PROLOG because
there were people at Imperial far better equipped to do that than I was.

Turbo Prolog:  Borland bought a system which was known not to be Clocksin &
Mellish compatible and pushed it hard.  If the official standard looks like
the de facto standard at the time of their purchase and leaves them in the
cold, (a) they knew what they were doing and (b) they did the same with
Pascal and it doesn't seem to have stopped them.  On the other hand, I
repeat that my position remains what it was in 1984:  it would be advisable
to consider other dialects and be sure that they can be converted _somehow_.
I recently sent a 20+ page document to Roger Scowen concerning a particular
aspect of streams, and I explicitly and carefully considered Turbo Prolog
when producing that design.

> Probably the only way in which Edinburgh was the clear winner then was in the
> sales of Clocksin & Mellish's book, which is different in some ways
> (e.g. operator definitions) from any widely used implementation.

Well, not the only way.  DEC-10 Prolog was significantly superior in design
to micro-PROLOG.  (Frank McCabe said in a talk at Edinburgh that he adopted
the everything-is-a-list syntax for micro-PROLOG in order to simplify the
garbage collector, which he had to write in Z80 assembly code on a machine
with essentially no development support.)  [Let it be stipulated that NU
Prolog is now considerably superior to DEC-10 Prolog in semantics, though
some of the syntactic changes are for the worse.]

There was also the fact that a goodly chunk of the DEC-10 Prolog system
was sanitised and made public (read, write, setof, top level, how to do
DEC-10 compatible see/tell/&c if you had streams, other stuff) so that
anyone who wanted to be DEC-10 compatible got a free start.  (SICStus
Prolog made use of this, and SB Prolog has some of it.)  _That_ is an
important feature which micro-PROLOG did not have.  There was also the
DEC-10 library (get it from Edinburgh, folks, costs next to nothing)
which was made available by FTP in the States; for no other dialect was
a similar amount of leverage to be obtained from free code.

The claim about operators is bogus.  Clocksin & Mellish were quite
careful about what they said.  The description they give of operators
in general is fine.  There are three things:
	-- they don't say that you can have a list of atoms as the
	   third argument of op/3 (you couldn't in PDP-11 Prolog)
	   but they don't say you _can't_
	-- they don't say that you can use a first argument of 0 to
	   cancel an operator (you couldn't in PDP-11 Prolog)
	   but they don't say you _can't_
	-- they show operator numbers running from 1 to 255 (as in
	   PDP-11 Prolog)
	   but they said repeatedly that the range of numbers varied
	   between systems, and only claimed that the relative order
	   of the operators was conventional, and that order of
	   operators _is_ still conventional.

> By the time a consensus emerged most of the good people
> had quit the committees.

It shows.
Technical Details
Message-ID: <2782@munnari.oz.au>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!tmsoft!torsqnt!jarvis.csri.toronto.edu!rutgers!usc!samsung!uunet!munnari.oz.au!mudla!ok
References: <2609@munnari.oz.au> <696@sce.carleton.ca> <2643@munnari.oz.au> <1371@gould.doc.ic.ac.uk>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!tmsoft!torsqnt!jarvis.csri.toronto.edu!rutgers!usc!samsung!uunet!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: <2782@munnari.oz.au>
Date: 22 Nov 89 11:20:54 GMT
References: <2609@munnari.oz.au> <696@sce.carleton.ca> <2643@munnari.oz.au> <1371@gould.doc.ic.ac.uk>
Sender: news@cs.mu.oz.au
Lines: 85