[comp.lang.prolog] BSI Prolog terms of reference

ok@quintus.UUCP (Richard A. O'Keefe) (03/28/88)

		An Annotated Version of PS/27.

    PS/27 is document number 27 is the BSI Prolog Standardisation effort's
document register.  You don't produce a British Standards Institute standard
just by saying you have got one; you have to persuade the BSI to lend you
their name.  One of the steps you have to take in this process is to write
a formal "Proposal to BSI for new standardization work", which says what
you intend to do and why you think the BSI should lend their name to it.
It's a little bit like a contract, and a whole lot like a promise.

    The rest of this text is an annotated version of PS/27.  There is no
copyright notice on any part of PS/27.  Three kinds of text appear here:
(B) Material which is part of the BSI form 11-8405.
(P) Material which is specific to PS/27.
(%) My remarks.
Punctuation and spelling are copied from the original.

B	Proposal to BSI for new standardization work.

B	Part A Proposer and Supporters

B	1 Name and address of proposer
P		R S Scowen,
P		National Physical Laboratory,
P		Teddington, Middlesex.

B	2 Name(s) and address(es) of body(ies) supporting the proposal
P		Alvey Directory; CCTA; Department of Trade & Industry;
P		University of Edinburgh; Imperial College, London;
P		International Computers Ltd; British Gas; British
P		Standards Institute Quality Assurance Division; etc.

B	3 Date of submission
P		January 1985

B	Please submit with this Form letters from the bodies indicating
B	the degree of support expected, eg in committee work, drafting,
B	research, commitment to use the standard.

%	No such letters were attached to PS/27, nor have any been sent
%	to me separately, either before or since.  No doubt such letters
%	exist and were sent to the BSI; I merely indicate why I cannot
%	comment on them.

B	Part B. The Proposal

B	1 Explain the economic, commercial/industrial, safety, consumer
B	protection or other benefits of the proposal.  Why is
B	standardization needed?
P	Rapid growth in adoption of Prolog is leading to many different
P	processors being developed and marketed.  Standardization will:
P	* Permit portable code to be developed,
P	* Aid transfer of personal knowledge and experience.
P	* Encourage wider adoption of these important ideas and techniques.
P	* Help maintain UK in its strong position.
P	* Help the Alvey programme achieve its objectives of better
P	  communications and co-operation between UK groups by discouraging
P	  fragmented and isolated efforts.

B	2 Is the standard required or likely to be required for regulatory
B	purposes?  If yes, please specify relevant legislation.
P	Not foreseen initially.

B	3 Is the standard required or likely to be required for purchasing
B	purposes?  If yes, please specify.
P	Yes

%	PS/27 does not specify any further.  This much seems clear:  the
%	intent is that "Prolog" processors conforming to the BSI substandard
%	should enjoy a commercial advantage over other "Prolog" processors.

B	4 Is third party certification in view?
B	If yes, please indicate by which body or bodies
P	Yes.  BSI Quality Assurance Division intend to offer a validation
P	service for Prolog processors in the same way as they now do for
P	Pascal.

%	This is an interesting one.  At one point, Expert Systems International
%	offered to adapt their own regression-testing suite to BSI Prolog to
%	serve as the basis of such a validation suite.  At a later time, it
%	was apparently decided that developing a validation suite was not a
%	task for the BSI Prolog committee.  I do not know what the current
%	status of the validation suite is.  Myself, I think they should have
%	developed the validation suite first, and used it to check the
%	standard.  I suggested that the DEC-10 Prolog library be a part of
%	this suite.  (I've not seen this mentioned anywhere, so they may have
%	"lost" this suggestion.)

B	Part C Definition of the standard requested

B	1 What is the proposed title?
P	Specification for computer programming language Prolog.

B	2 What is the proposed scope?
P	To specify the syntax and semantics of the language Prolog by
P	specifying the requirements for Prolog processors and programs
P	including Prolog library modules and aspects of the Prolog
P	environment.

%	I'm not quite sure what this means.  Do they mean that the effect
%	of Prolog library modules is to be specified, the way that the C
%	library is part of the draft ANSI C standard?  (This is not what
%	they have done.)  More plausibly, they mean that they will
%	specify what a standard-conforming library module must be like,
%	as a special case of what a standard-conforming program must be
%	like.  The current draft fragments do impose some fairly strong
%	restrictions on the environment (UNIX and MS-DOS can satisfy them
%	but VM/CMS can't).

B	3 Which type of publication is proposed:
B	Note 2.	A "specification" should be drafted only when the
B		intention is to specify requirements for compliance
B		such that compliance can be objectively and
B		unambiguously claimed and verified.  The description
B		'Specification' should not be used in the titles of
B		documents designed for other purposes.
P	Specification.

B	Part D Drafting and timescale

B	1 When could a first draft be made available to BSI?
P		End of 1985
B	Who would provide it?
P		It will be provided by an existing working group.

%	I do not know whether a first draft has ever been made available
%	to the BSI.  There have been several drafts of the syntax so far,
%	and many drafts of different groups of built-in predicates, but I
%	have not yet received a single document purporting to be a first
%	draft of a BSI standard for the whole language.  There WAS a PS/3
%	purported to be a first draft of a standard, but it predated the
%	"Proposal for new standardization work", and PS/5 (which I was
%	commenting on in December 84) had already made it clear that
%	PS/3 would NOT form the basis of BSI Prolog.  To quote PS/5,
%	PS/3 "in many cases defines neither their meaning nor their
%	effect".  So I assume that PS/3 cannot be the first draft that
%	PS/27 promised.

B	2 Will the project depend upon research and development work now
B	in train or yet to be started?  If yes, please give details.
P	No.  The content of the standard will be based on Edinburgh Prolog
P	as described in Programming in Prolog by W F Clocksin & C S Mellish
P	Spring 1981.

%	This is the statement which Chris Moss said he couldn't find.
%	Note that it says clearly:
%	(a)  No research and development work either in progress or yet
%	     to be started will be depended on.  At the time, I took this
%	     to promise that they would be trying to standardise practice
%	     as it stood in January 1985, not to invent a new language.
%	(b)  The CONTENT of the standard is to be based on Edinburgh
%	     Prolog, as described in Clocksin & Mellish.  At the time, I
%	     was so naive that I took this to mean that the standard was
%	     to be based on Edinburgh Prolog.

B	3 What is the latest date by which the project should be complete
B	if it is to be of optimum use?
P	For optimum use, a standard is required as soon as possible but
P	no later than 1986.  An international standard will be required
P	soon afterwards.

%	No later than 1986.  It could have been done, that's the sad thing.
%	If they had kept their promise, it could have been done.

-------------------------------

That's the end of the BSI form, but there is an attachment.

The attachment says, amongst other things:

P	An informal working group has been formed and already set to work
P	on a British Standard.  The group has representatives from all
P	major centres of expertise in Prolog together with experts in
P	programming language standardization and language certification.
P	The group regards this matter as urgent and aims to produce a
P	draft by the end of the year.

%	Note:  "representatives from" does not mean "skilled representatives
%	from".  One of the "representatives from" a "major centre of
%	expertise in Prolog" told me that his professor had sent him as
%	his substitute because his professor was too busy.  I gave him his
%	first lesson in Prolog data structures, some months AFTER he had
%	started attending meetings.

%	Note:  "all main centres of expertise" did not at that time
%	include any outside the UK.  Nobody from Waterloo, nobody from
%	Melbourne, nobody from Japan, nobody from Israel, *not*one* of
%	the developers of DEC-10 Prolog, nobody from Syracuse, and so on.

P	The interest in logic programming and Prolog makes it inevitable
P	that a standard Prolog will be defined and adopted sooner or
P	later.  By initiating this process in the UK, we will be able to
P	exert influence on the resulting standard and strengthen Britain's
P	position in this important new area of Information Technology.
P	We will also be able to foster UK implementors.

%	Note that last sentence:  the goal is to foster UK _implementors_.
%	And that's exactly what is happening, even at the expense of Prolog
%	_users_ in the UK and worldwide.

--------------------------------

cdsm@ivax.doc.ic.ac.uk (Chris Moss) (03/31/88)

In article <831@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
>
>
>B	2 Will the project depend upon research and development work now
>B	in train or yet to be started?  If yes, please give details.
>P	No.  The content of the standard will be based on Edinburgh Prolog
>P	as described in Programming in Prolog by W F Clocksin & C S Mellish
>P	Spring 1981.
>

I presumed that you meant something far more specific than that.
I doubt anyone could deny that our work is based on Edinburgh Prolog
as described in Clocksin & Mellish. But should it be limited
precisely to that?

Most of the discussions on this net are about details that C&M do NOT
cover--maybe that's part of the problem.

>%	Note that it says clearly:
>%	(a)  No research and development work either in progress or yet
>%	     to be started will be depended on.  At the time, I took this
>%	     to promise that they would be trying to standardise practice
>%	     as it stood in January 1985, not to invent a new language.
>%	(b)  The CONTENT of the standard is to be based on Edinburgh
>%	     Prolog, as described in Clocksin & Mellish.  At the time, I
>%	     was so naive that I took this to mean that the standard was
>%	     to be based on Edinburgh Prolog.

Do we not allow anything not stated in the C&M "de facto standard"?
There is all the difference in the world between basing something on
a proposal and adopting that proposal lock stock and barrel.
If it had been stated that it was based on MProlog or Marseille Prolog
or microProlog it would look an awful lot more different to what it 
looks like now.

Rereading
>%    At the time, I took this
>%	     to promise that they would be trying to standardise practice
>%	     as it stood in January 1985, not to invent a new language.

I realise that this is partially at least a retraction of what
Richard had said. The submission certainly did NOT say that it would
take no account of current research, or of the current state of the
art, nor that it would "standardise practice as it stood in January
1985" (whatever that means). These positions are scarcely compatible
anyway.

Chris Moss.

ok@quintus.UUCP (Richard A. O'Keefe) (04/02/88)

In article <249@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes:
> I presumed that you meant something far more specific than that.
> I doubt anyone could deny that our work is based on Edinburgh Prolog
> as described in Clocksin & Mellish.
> Most of the discussions on this net are about details that C&M do NOT
> cover--maybe that's part of the problem.

The BSI group have felt free to change things that C&M *did* describe clearly.
The phrase "as described in" is perhaps ambiguous.
Reading 1:
	"Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)".
Reading 2:
	"Edinburgh Prolog (that is, the dialects that Clocksin & Mellish
	refer to and partly describe)".
Since C&M is far too vague about details to serve as the basis for a standard,
I find reading 2 the most plausible one.

It is very easy to deny that the early work was based on Edinburgh Prolog:
some of the early stuff looked uncommonly like Sigma Prolog.  Indeed,
document PS/69 (dated 6 June 1985) explicitly says that the standard was
now to be based on micro-PROLOG as well as C&M.

> >%	Note that it says clearly:
> >%	(a)  No research and development work either in progress or yet
> >%	     to be started will be depended on.  At the time, I took this
> >%	     to promise that they would be trying to standardise practice
> >%	     as it stood in January 1985, not to invent a new language.
> >%	(b)  The CONTENT of the standard is to be based on Edinburgh
> >%	     Prolog, as described in Clocksin & Mellish.  At the time, I
> >%	     was so naive that I took this to mean that the standard was
> >%	     to be based on Edinburgh Prolog.
> 
> Do we not allow anything not stated in the C&M "de facto standard"?
Consider, for example, the phrase "the English language, as described by
Jespersen".  Would anyone take this to mean _only_ what Jespersen described?
No, this would be taken as a pointer to Modern English, as distinct from
Black English, Middle English, or Pidgin English.  And since Jespersen
described both English and American, it would be taken to refer to both
those dialects.

Similarly, by Reading 2, one would take "Edinburgh Prolog, as described
by Clocksin & Mellish" to refer to the dialects C & M were concerned
with but did not fully describe, namely DEC-10 Prolog, EMAS Prolog (C
Prolog's immediate ancestor), and PDP-11 Prolog.  Given their close
relationship to PDP-11 Prolog, and their close relationships to Clocksin
and to Mellish, it would be reasonable to count ESI Prolog 1 and PopLog
as "Edinburgh Prolog" within the meaning of the act.  But it is clear
that IC-Prolog, micro-PROLOG, Sigma Prolog, LM-PROLOG, and Waterloo
Prolog, despite their virtues, are _not_ "Edinburgh Prolog" within the
meaning of the act.

> There is all the difference in the world between basing something on
> a proposal and adopting that proposal lock stock and barrel.
Indeed there is.  There is also all the difference in the world between
basing something on the dialects referred to in a book and going off and
inventing your own.

> If it had been stated that it was based on MProlog or Marseille Prolog
> or microProlog it would look an awful lot more different to what it 
> looks like now.

I'm not sure that I believe this:  there was a serious proposal early on
to base BSI standard syntax on that of Sigma-Prolog, which is an immediate
descendant of micro-PROLOG, and as pointed out above, PS/69 _did_ say in
June 85 that (contra the January 1985 promise) the stanard _would_ be
based on micro-PROLOG _as well as_ Clocksin & Mellish.  (Which is rather
like basing a standard on BASIC as well as FORTRAN.)

> Rereading
> >%    At the time, I took this
> >%	     to promise that they would be trying to standardise practice
> >%	     as it stood in January 1985, not to invent a new language.
> 
> I realise that this is partially at least a retraction of what
> Richard had said.

You realise wrong.  It is not a retraction of anything at all.
It is a simple statement of what, in 1985, I took the text to mean.
While it may not be what the author intended, I _still_ think that's
how the _text_ is most naturally interpreted.

> The submission certainly did NOT say that it would
> take no account of current research,

Neither did I say that it did.  But it DOES say quite explicitly that
no additional research beyond what had already been done by January 1985
would be REQUIRED to complete the standard.


ERRATA:
    I had forgotten about document PS/45 by Roger Scowen, entitled
	"A standard Prolog - A tentative proposal, draft".
    This is a 2-page draft dated 24 May 1985.  However, it does not
    count as the first draft promised for the end of 1985--it is little
    more than a list of which predicates might be in the standard.

    I would argue that PS/45 clarifies how "based on Edinburgh Prolog..."
    is to be interpreted, because it includes predicates which are not
    described in Clocksin & Mellish, but _are_ in some of the dialects
    I take that phrase to identify.

cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/14/88)

In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
>The phrase "as described in" is perhaps ambiguous.
>Reading 1:
>	"Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)".
>Reading 2:
>	"Edinburgh Prolog (that is, the dialects that Clocksin & Mellish
>	refer to and partly describe)".
>Since C&M is far too vague about details to serve as the basis for a standard,
>I find reading 2 the most plausible one.

I don't find Reading 2 any more plausible than my original.

"Clocksin and Mellish were trying to describe what was going on at
Edinburgh. Therefore one takes not what they said but what they were
trying to say, which is obviously...  (insert one's own prejudice)"

Unfortunately, since the breakup of the original Edinburgh group centred 
round the DEC10 implementation there has really been no coherence at all.
Poplog, NIP, Prolog-X all come from the right stable but vary in many
details. To those further afield it is even more confusing.
	
>It is very easy to deny that the early work was based on Edinburgh Prolog:
>some of the early stuff looked uncommonly like Sigma Prolog.  Indeed,
>document PS/69 (dated 6 June 1985) explicitly says that the standard was
>now to be based on micro-PROLOG as well as C&M.

I work in the same establishment as the authors of SigmaProlog.
I'm not going to start badmouthing them on the net.
But really Richard, you do like to have your cake and eat it too.
Frank McCabe gave up the chairmanship of the syntax committee last summer
when all he had produced was principles and sketches, leaving me to
try to put together a document which was acceptable to all. So for
the last 9 months I've been trying to do that. Many of his ideas 
are worth listening to and some of them have problems. But when all
sides adopt a dog in the manger attitude one will never get anywhere.

Anyway all this is history. It looks as if it's ISO Prolog that will
get the attention in future. This opens up the field to far more input
and introduces more problems, too. So PS/69 as well as earlier statements
are effectively dead as far as I can see. 

I don't object to you arguing for the standard to be based on Quintus.
You might be considered to be failing your employers if you didn't.
But don't presume that Quintus is in a uniquely priviledged position.

Chris.

ok@quintus.UUCP (Richard A. O'Keefe) (04/16/88)

In article <256@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes:
> Unfortunately, since the breakup of the original Edinburgh group centred 
> round the DEC10 implementation there has really been no coherence at all.
> Poplog, NIP, Prolog-X all come from the right stable but vary in many
> details. To those further afield it is even more confusing.

This is, um, misleading.  The last version of PopLog I used was *VERY*
close to DEC-10 Prolog (so much so that porting the DEC-10 Prolog library
to it was a matter of taking the C-Prolog version I had and undoing most
of the changes I had made to the DEC-10 version to get the C-Prolog version).
In 1984, which is the last time I saw it, Prolog-X was as close to DEC-10
Prolog as, say, SB Prolog.  NIP was written at Edinburgh to be used by
people at Edinburgh, who were worried by the fact that the DEC-10 was
going away and didn't want to rewrite a lot of code.  I have a manual for
NIP that is a couple of years old; at that time it was _very_ close to
DEC-10 Prolog.

Each of these three dialects that Chris Moss mentions is or contains a
sublanguage which is _very_ close to DEC-10 Prolog; about as close as
C Prolog or ALS Prolog.  They are ***MUCH*** closer to each other than
any of them is to the current BSI fragments.  Dash it all, if it comes
to that, the "Edinburgh-compatible" aspect of LPA MacProlog is a whale
of a lot closer to this common core than it is to the BSI fragments.

> >It is very easy to deny that the early work was based on Edinburgh Prolog:
> >some of the early stuff looked uncommonly like Sigma Prolog.
 
> I work in the same establishment as the authors of SigmaProlog.
> I'm not going to start badmouthing them on the net.

How is admitting that some of the early stuff looked like Sigma Prolog
badmouthing anyone?  The fact that it is very different from Edinburgh
Prolog doesn't mean it's _bad_.

> But really Richard, you do like to have your cake and eat it too.

Please explain!  All I want is a standard which is close to the common
core of Edinburgh Prologs; which is what was originally promised.
Yes, 53, 50, 47, and 54 are not identical, but that is no reason to
give us 23 instead.  How about giving us 51?

> Frank McCabe gave up the chairmanship of the syntax committee last summer
> when all he had produced was principles and sketches, leaving me to
> try to put together a document which was acceptable to all. So for
> the last 9 months I've been trying to do that. Many of his ideas 
> are worth listening to and some of them have problems. But when all
> sides adopt a dog in the manger attitude one will never get anywhere.

What has Frank McCabe to do with anything?  I hope nobody has taken anything
I have written in this forum as an attack on Chris Moss:  the BSI committee
decided what sort of grammar they wanted and that's the kind Chris Moss has
to produce.  He makes a great tailor, but if the rest of the committee give
him a sow's ear, the best he can possibly make is a leather purse.

Which sides are adopting a dog-in-the-manger attitude?  (The meaning of
that phrase is that a manger is a box containing fodder for cattle: the
dog lying in it cannot eat it himself and won't let the cattle eat either.)

Look, I'm not interested in who is doing what, whose ideas are good,
whose ideas are bad, who is chairman, or any of that.  What interests me
is that there are a lot of Prolog systems which have a great deal in
common, that there is a Prolog standard being developed, and that this
standard is far more different from any two of those existing systems
than they are from each other.

> Anyway all this is history. It looks as if it's ISO Prolog that will
> get the attention in future. This opens up the field to far more input
> and introduces more problems, too. So PS/69 as well as earlier statements
> are effectively dead as far as I can see. 

What is ISO Prolog?  Which groups are doing the work?  Do people on the
existing BSI mailing list get all the documents relevant to the ISO work?
Which document contains the promises made to ISO?

> I don't object to you arguing for the standard to be based on Quintus.
> You might be considered to be failing your employers if you didn't.
> But don't presume that Quintus is in a uniquely priviledged position.

News for you, chum.  I have ***NEVER*** argued for the standard to be
based on Quintus Prolog.  Sob, sob, I guess I'm failing my employers,
oh the shame.  I have been very very careful to avoid suggesting at
any point that the standard should be based on Quintus Prolog, and in
the documents I wrote at Edinburgh I was explicit in rejecting the
idea that the standard should be based on DEC-10 Prolog.

I am deeply offended that Chris Moss should suggest that I am arguing
for my employers rather than for what is technically good.  Listen, and
listen good:  my perspective on the standard remains the perspective
that I had at Edinburgh:  what do I need in a standard so that I can
write a large, reasonable, useful library, and be able to give it to
anyone with a standard Prolog.  That is, I retain a _user's_ viewpoint,
not an implementor's.  I criticise BSI Prolog because it is just plain
_BAD_, not for any other reason.

Get this clear:  if the BSI/ISO crowd took ALS Prolog and rubber-stamped
it "standard" (if it isn't already clear, I do not work for ALS and have
never received any money from them), that'd be ok by me.  At least it
wouldn't be the disaster that the BSI's philautic changes would be.  The
ideal, of course, would be to have NU Prolog as the standard (:-).
[No, I don't work for Melbourne either.]

I have loaned all my copies of BSI stuff to someone, so I can't quote
the exact wording.  Bear in mind that the BSI standard is already over
two years late, and that I complained about this about a year ago:
	Name pretty well any feature of term output, and the fragments
	do not define it.
For example:
	There is currently nothing in any of the fragments I have received
	that says what base integers are written out in.
This is of interest because there are Prolog systems such as Xerox Quintus
Prolog and ZYX Prolog which are closely coupled with a Lisp system; if the
Lisp system changes its output base, should this affect Prolog code?
Is this nit-picking?  No: at the Prolog Benchmarking Workshop people who
were porting programs from one dialect to another often tried to compare
the output of the original version and the output of the ported version.
When different dialects put spaces in different places, that showed up as
spurious differences.  (Dash it all, I raised _that_ point in late 1984,
in the context of what you need to make a validation suite work.)

    When I complain that the BSI group have wasted their time introducing
differences where the differences were minor and have largely ignored the
differences which _are_ a practical problem, I am not being a dog in the
manger, I am not badmouthing anyone, I am not advocating Quintus Prolog,
I am stating what is obvious to anyone who has seriously tried to port
large programs between one "Edinburgh-compatible" dialect and another.

fritz@hpfclp.SDE.HP.COM (Gary Fritz) (04/18/88)

> I don't object to you arguing for the standard to be based on Quintus.
> You might be considered to be failing your employers if you didn't.
> But don't presume that Quintus is in a uniquely priviledged position.

Chris, I honestly don't understand how you could make this statement if
you'd really been reading the comments Richard has been making.  It has
been quite clear to me that
	1) At NO time did Richard propose Quintus as a standard model.
	2) Several times he specifically said tht Quintus did some
	   particular thing WRONG, and should have done it in a more 
	   "standard" manner.
	3) Richard has been trying very hard to champion the cause of
	   existing users, existing code, and existing practices.
	   He is trying to make sure that current users of Prolog can
	   benefit from the standardization efforts, rather than having
	   to throw away their programs and recode them in BSI "Prolog".
	4) Along the way he has pointed out some glaring holes, errors,
	   and inconsistencies in the BSI proposals.  Granted, the BSI
	   document is not complete, but Richard is performing (or at
	   least trying to perform) a valuable service by critiquing it.

It concerns me greatly when I see a knowledgeable expert like Richard
making pointed comments about problems in the standard, supported by
valid examples and cogent arguments, and you (apparently the only member
of the standards committee following the discussion) answer with veiled 
innuendo and non sequiturs.  Nearly every time you have responded to
Richard's messages it has been on the level of "Richard, I can't STAND
your upper-class British accent!" or other such condescending drivel;
you have almost never replied to the technical issues Richard raised.
When you did, it appeared to me that you completely ignored or misunderstood
the point of Richard's posting.  I am frankly amazed (but very glad)
that he hasn't given up on you and let you go invent whatever oddball
language you cared to devise.

I think Richard would probably be the first to admit that he doesn't always
have the most diplomatic writing style.  As far as I can see, however, the
content of his sometimes-acerbic comments is right on the mark, and deserves
a thoughtful reply to the technical points.  I would hope you could look past
his writing style and consider the issues he raises.  The responsibilities of
your position on a standard-creating committee demand it.

Gary Fritz

jha@its63b.ed.ac.uk (J Andrews) (04/22/88)

In article <6960004@hpfclp.SDE.HP.COM> fritz@hpfclp.SDE.HP.COM (Gary Fritz) writes:
 [on Chris Moss's comments about Richard O'Keefe]
>... I would hope you could look past
>his writing style and consider the issues he raises.  The responsibilities of
>your position on a standard-creating committee demand it.

     I don't think the responsibilities of his position really do
demand that Chris read and deal reasonably with unreasonable
articles.  I'm not questioning your criticism of Chris's suggestion
about Richard's motives, but I think an important thing to remember
is:

                        This Is Usenet.

     For all I know about Richard O'Keefe (which is less than I
should, judging by all the excellent things I see about him and by
him), he is a first-rate computer scientist from whom I could learn
a lot.  But that doesn't mean that I (or others) have to put up with
long, irritating articles from him on this anarchic, user-run public
network.  We don't do that on comp.lang.c, or soc.women, or
talk.bizarre even, so why should we do it on comp.lang.prolog?

     What I have come to do is, read his articles as far as I can,
and if one starts to get my blood pressure up too high (:-)), hit
'n'.  And that's cool.  But you seem to be saying that Chris Moss
should not be able to do the same, or to respond in kind.  I think
he should be able to do whatever he wants on this network, as long
as he doesn't, say, speak officially for BSI without their approval
(which I don't think he's ever claimed to be doing).

     Official discussions really have no place here.  But there are
unofficial rules of conduct, and everyone can promote them, with
their 'n' key fingers or their own articles.

--Jamie.
  jha@lfcs.ed.ac.uk

fuchs@unizh.UUCP (fuchs) (04/25/88)

Bravo Gary.

   --- nef

ok@quintus.UUCP (Richard A. O'Keefe) (04/25/88)

In article <1194@its63b.ed.ac.uk>, jha@its63b.ed.ac.uk (J Andrews) writes:
>                         This Is Usenet.
> 
>      For all I know about Richard O'Keefe (which is less than I
> should, judging by all the excellent things I see about him and by
> him), he is a first-rate computer scientist from whom I could learn
> a lot.  But that doesn't mean that I (or others) have to put up with
> long, irritating articles from him on this anarchic, user-run public
> network.  We don't do that on comp.lang.c, or soc.women, or
> talk.bizarre even, so why should we do it on comp.lang.prolog?

Because I don't post to soc.women or talk.bizarre (:-).

fritz@hpfclp.SDE.HP.COM (Gary Fritz) (04/25/88)

>      I don't think the responsibilities of his position really do
> demand that Chris read and deal reasonably with unreasonable
> articles.  I'm not questioning your criticism of Chris's suggestion
> about Richard's motives, but I think an important thing to remember
> is:
>                         This Is Usenet.


I really don't care if the messages reach Chris via Usenet, carrier pigeon,
registered mail, smoke signals, or telepathy.  It is the *content* that is
important, NOT the medium.  If Richard (or anyone else) raises valid points
that indicate that perhaps BSI is doing something wrong, then BSI (or any
other committee which purports to be defining a standard for all posterity)
has a responsibility to pay attention to them and see if, just perhaps, there
IS a problem.  If not, they have wasted a little time; but if there is a
problem, he will have saved them from making serious mistakes.

If they ignore valuable input like this, they may create an intellectual 
curiosity which has no real use in the real world.  And if this curiosity 
is foisted upon the real world as The Prolog Standard, it's likely to harm 
the progress of Prolog usage.  That would be a shame.

Gary Fritz

cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/28/88)

In article <1194@its63b.ed.ac.uk> jha@lfcs.ed.ac.uk (J Andrews) writes:
>In article <6960004@hpfclp.SDE.HP.COM> fritz@hpfclp.SDE.HP.COM (Gary Fritz) writes:
> [on Chris Moss's comments about Richard O'Keefe]
>>... I would hope you could look past
>>his writing style and consider the issues he raises.  The responsibilities of
>>your position on a standard-creating committee demand it.

I can't respond to Gary  as his (and possibly several other) letters
never reached us here (I've been rather busy and might have missed one).
But my comments about Richard were encased in "flame" and ":-)" marks
which had been removed in one message I saw. That ain't netiquette!

In case there is misunderstanding: I know full well Richard is a New 
Zealander; I appreciate his style and (often) his humour; and I think
he probably understands mine. So no aggro. If my humour is off the
line please let me know. Face-to-face communication is difficult
enough goodness knows; across continents, heaven help us!

And as I've said before: if I'm representing the line of a committee
I'll say so; otherwise I'm speaking for myself as one member among
many.

Chris Moss.

cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/28/88)

In article <883@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
>> >some of the early stuff looked uncommonly like Sigma Prolog.
> 
>> Frank McCabe gave up the chairmanship of the syntax committee last summer
>What has Frank McCabe to do with anything?  

Simply that Frank is the (major) author of sigmaProlog.

>Look, I'm not interested in who is doing what, whose ideas are good,
>whose ideas are bad, who is chairman, or any of that.  

I'm not trying to "bring personalities into it" but in the real world
it is often the easiest way to explain positions. You, Richard,
believe in the nuances of "Edinburgh Prolog" partly because you use
it every day, have contributed many valuable details to it, and see
your ideas worked out in it. There's nothing wrong in that. Ideas are
not out in world three (whatever Popper may say) but inside real
people's heads.

It surely must be obvious to you that the emergence of sigmaProlog
ideas on the committee was because Frank had a lot to do with it. Nor
is that in itself any bad thing. Because he had worked through many
of the same problems and not infrequently come up with slightly
different solutions, he believed in them too and wanted to promote
them. It's not simply a question of the "not invented here" syndrome;
that's far too simplistic. People design things because they believe
they are the right way of doing things, and that in turn influences
what they believe. 

I deliberately phrase that in almost religious terms, because it's
often not a question of that's right and the other's wrong, but
rather six of one and half a dozen of the other.

>What interests me
>is that there are a lot of Prolog systems which have a great deal in
>common, that there is a Prolog standard being developed, and that this
>standard is far more different from any two of those existing systems
>than they are from each other.

You have made your case and I intend to make sure the committee
understand it. I don't agree that it is "far more different from any
two of those existing systems than they are from each other." That's
a misleading statement that could prejudice people who haven't taken
the trouble you have to analyse the documents. (I'll follow up on the
"var" question tomorrow. It's a DETAIL though obviously an important
one.)

>I am deeply offended that Chris Moss should suggest that I am arguing
>for my employers rather than for what is technically good.  

Richard, this time I have to take YOU to task for not reading what I
wrote, but for the implication of what you thought I might have
written. I wrote:
   I don't object to you arguing for the standard to be based on Quintus.
   You might be considered to be failing your employers if you didn't.

It is others who might make the judgement, not me. You can't escape
from being in the position you are, and I'm sure your employers
allow you to contribute to the net because they feel they (at least)
do not lose by it. This is the big cynical world in which we are. I
still work in the university world and get no retainers (no one
offered :-). But that doesn't mean I'm the honest unbiased person who
can always see clearly. I have my prejudices and make mistakes (as
must be very obvious!).

>    When I complain that the BSI group have wasted their time introducing
>differences where the differences were minor and have largely ignored the
>differences which _are_ a practical problem, I am not being a dog in the
>manger, I am not badmouthing anyone, I am not advocating Quintus Prolog,
>I am stating what is obvious to anyone who has seriously tried to port
>large programs between one "Edinburgh-compatible" dialect and another.

And what I would say is "we need a better forum for taking this
forward". It was a sad day for the BS committee when you flew off to
the States, Richard. Communication has been difficult across 8,000
miles (even tho you've tried hard).

So tho this is not particularly the place to say it: we are trying to
set up a network mailing list in the context of ISO to hammer out the
right position on the 101 issues that need settling. It will not be a
free for all, but nor will it be needlessly limited. The aim is to
have at least one link-person per country, and at the moment the
position for the US is vacant [Richard is already on the list in a
personal capacity].

>What is ISO Prolog?  Which groups are doing the work?  Do people on the
>existing BSI mailing list get all the documents relevant to the ISO work?
>Which document contains the promises made to ISO?

ISO Prolog doesn't yet exist. The aim is to get a draft for the next
meeting which is near Munich at the beginning of October for
publication next year. It will be based on the work of BSI and AFNOR,
but hopefully not have their failings. All documents will not be sent
automatically to everyone on the BS list, but the secretary of the
ISO group is the same Roger Scowen (National Physical Laboratory,
Teddington, Middx, UK), so write to him for details. The documents
setting up the ISO group are quite short and I will consider
submitting them on the net.

Chris.

cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/28/88)

In article <6960004@hpfclp.SDE.HP.COM> fritz@hpfclp.SDE.HP.COM (Gary Fritz) writes:
>
>Chris, I honestly don't understand how you could make this statement if
>you'd really been reading the comments Richard has been making.  

I have finally found Gary's message on our weird newsreader. I don't
want to repeat what I said in my earlier message, but there are a
couple of points I must answer.

>It has
>been quite clear to me that (4 issues stated)

I entirely agree with you.

>you have almost never replied to the technical issues Richard raised.
>When you did, it appeared to me that you completely ignored or misunderstood
>the point of Richard's posting.  

I dispute that strongly. On a number of occasions I've answered point
by point. Where I haven't, the usual reason is that it concerns part
of the standard that I have not personally been concerned with.
Indeed on a number of occasions I side with Richard. My usual
reaction on those occasions has been to list out the correspondence
on lineprinter paper and thrust it under the nose of the committee
member concerned. I don't see the point of commenting on those
occasions. My mailer regularly reminds me of the thousands of dollars
we have to pay (real money in Europe) for these messages.

On other occasions, Richard's got a point, and I hope I've taken it.
I haven't always (tho I have quite often) said "I agree". In
particular, when Richard has repeated himself I've usually ignored
it. You may not have seen an earlier message.

The fact that I can't keep up with Richard is, I suspect, not my
problem only.

My one attempt at a joke seems to have misfired badly. But please
restore the :-)!

Chris Moss.

jeff@aiva.ed.ac.uk (Jeff Dalton) (04/28/88)

In article <273@gould.doc.ic.ac.uk> cdsm@doc.ic.ac.uk (Chris Moss) writes:
>I'm not trying to "bring personalities into it" but in the real world
>it is often the easiest way to explain positions. You, Richard,
>believe in the nuances of "Edinburgh Prolog" partly because you use
>it every day, have contributed many valuable details to it, and see
>your ideas worked out in it.

I think it is very important to distinguish this -- that Richard
thinks (if indeed he does) that the details of Edinburgh Prolog
represent a good way of doing Prolog -- from the main point of
Richard's argument in this discussion, namely that the standard
should be based on the langauge as it is and without so many changes
that it becomes in effect a new language and so causes more problems
for current users than it solves.

It would be fair to answer Richard by showing that the changes are
not so great as to make it a different language, by showing that
the benefits are enough to justify the cost of change, or by admitting
(if it's so) that the standards committees intend to make a new and
better Prolog as they go -- that they are working under a different
notion of standardization -- or even that the goal is not a standard
for Edinburgh Prolog but for a wider class of dialects.

It is, I think, at least misdirection to answer Richard by saying
that the people on the committee beleive in the solutions they
promote, that Richard believes in the solutions he promotes, that
of course no one is unbiased, that Richard can't escape his position
as a Quintus employee and that people might take note of this, and so
on: that, in effect, everyone has their prejudices and Richard's
just happen to be towards Edinburgh Prolog.

These things may all be true, but by "misdirection", I mean a
reminder that Richard has raised some issues that deserve a direct
answer.  Just because Richard might be inclined towards Edinburgh
Prolog in any case doesn't mean he isn't right when he says the BSI
proposals go too far beyond codifying current practice or that users
will find the cost of conversion too high.

>You have made your case and I intend to make sure the committee
>understand it.

Richard may well be underestimating the extent to which you're 
doing this.  That you're carrying on this discussion counts for
something too.

Nonetheless, there are times when you seem to be muddying the waters
rather than responding fairly to what Richard said.  I am not saying
that is your intention, but it is sometimes what happens.

For example, here is the exchange that began the issue of
"personalities":

In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A.
O'Keefe) wrote:
- It is very easy to deny that the early work was based on Edinburgh
- Prolog: some of the early stuff looked uncommonly like Sigma Prolog.
- Indeed, document PS/69 (dated 6 June 1985) explicitly says that the
- standard was now to be based on micro-PROLOG as well as C&M.

In <256@gould.doc.ic.ac.uk>, you quoted Richard's remark and replied:
+ I work in the same establishment as the authors of SigmaProlog.
+ I'm not going to start badmouthing them on the net.

I don't see anything in the passage you quoted that amounts to
badmouthing the authors of Sigma Prolog -- or did you mean that
*you* weren't going to badmouth them because you worked in the
same place?  

Richard was responding to an earlier claim that it was hard to deny
the work was based on Edinburgh Prolog.  Specifically, in
<249@gould.doc.ic.ac.uk>, you said:

   I doubt anyone could deny that our work is based on Edinburgh
   Prolog as described in Clocksin & Mellish. But should it be
   limited precisely to that?

The actual disagreement seems to be that Richard had in mind "based on
E.P. alone" while you had in mind "based on E.P. and other Prologs".
Richard brought in PS/69 to give some concrete backing to his "looked
uncommonly like", so that it would be clear that his remark was not
based on a mere impression.  As you know, this is the way Richard
writes.  If you suggest that no one can deny something and he does
deny it he will tell you so and give reasons besides.  But I do
not think he had personalities in mind.

Another example is the following:

In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
- The phrase "as described in" is perhaps ambiguous.
- Reading 1:
-	"Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)".
- Reading 2:
-	"Edinburgh Prolog (that is, the dialects that Clocksin & Mellish
-	refer to and partly describe)".
- Since C&M is far too vague about details to serve as the basis for a
- standard, I find reading 2 the most plausible one.

In <256@gould.doc.ic.ac.uk>, you replied:
+ I don't find Reading 2 any more plausible than my original.

+ "Clocksin and Mellish were trying to describe what was going on at
+ Edinburgh. Therefore one takes not what they said but what they were
+ trying to say, which is obviously...  (insert one's own prejudice)"

There is certainly an argument to be made here, namely that the
pahrase cannot be clarified as easily as Richard suggests.  But
your rephrasing of Reading 2 is hardly a fair one.  It is not just
a question of one prejudice verses another: there are facts involved,
and Richard is an expert on those facts.  Nor is it right to say
Clocksin and Mellish were "trying to describe what was going on
at Edinburgh".  They described a "core Prolog".

Then there is the question of how different the Edinburgh Prologs are
from each other compared to their distance from the BSI proposals.
This, at least, seems largely a technical issue: we can look at the
differences and see which are greater.  So far, though, only Richard
has tried to explain his accounting by citing examples.

Each side has accused the other of making misleading statements.

>I don't agree that it is "far more different from any two of those
>existing systems than they are from each other." That's a misleading
>statement that could prejudice people who haven't taken the trouble
>you have to analyse the documents.

I will leave the question as to whether that is or is not misleading
to further discussion.  But in <256@gould.doc.ic.ac.uk> you said:

+ Unfortunately, since the breakup of the original Edinburgh group centred 
+ round the DEC10 implementation there has really been no coherence at all.
+ Poplog, NIP, Prolog-X all come from the right stable but vary in many
+ details. To those further afield it is even more confusing.

That is certainly (at least) misleading, as Richard has pointed out.
"No coherence at all" is certainly too strong as well as going further
than Richard's "far more different".

One of the goals of the NIP effort was to retain substantial
compatibility with DEC-10 Prolog, and it has done so.

I have recently taken a moderately large program written for Quintus
Prolog and run it successfully, without change, in the present NIP.
Richard is well qualified to judge whether this represents a general
possibility or is a fortuitous accident, because he does know a great
deal about the different Prologs both in and outside the Edinburgh
group.

If, however, he is wrong, and the Edinburgh Prologs are not
"***MUCH*** closer to each other than any of them is to the current
BSI fragments", the Prolog community should be told why, in detail,
for otherwise they will rightly conclude that Richard's case is the
stronger.

Finally, there is the question of the correspondence between Richard's
position and the interest of Quintus.

>>I am deeply offended that Chris Moss should suggest that I am arguing
>>for my employers rather than for what is technically good.  
>
>Richard, this time I have to take YOU to task for not reading what I
>wrote, but for the implication of what you thought I might have
>written. I wrote:
>   I don't object to you arguing for the standard to be based on Quintus.
>   You might be considered to be failing your employers if you didn't.

The point is that Richard *wasn't* arguing for a standard to be
based on *Quintus* Prolog.  Edinburgh Prolog is not the same thing
as Quintus Prolog.  That Richard is arguing for a standard based on
Quintus is simply false regardless of his motives.

One might note, from my address below, that I am at Edinburgh.
I should therefore add that any speculation on the influence of that
fact on my position in this discussion is just that: speculation.
For all anyone knows, I would prefer a standard based on Prolog II.

Jeff Dalton,                      JANET: J.Dalton@uk.ac.ed             
AI Applications Institute,        ARPA:  J.Dalton%uk.ac.ed@nss.cs.ucl.ac.uk
Edinburgh University.             UUCP:  ...!ukc!ed.ac.uk!J.Dalton

ok@quintus.UUCP (Richard A. O'Keefe) (04/30/88)

In article <273@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes:
[about Frank McCabe & Sigma Prolog]

"Edinburgh" Prolog and SigmaProlog are obviously related languages, just
like FORTRAN and BASIC.  It is not that I claim that Frank McCabe's ideas
are in any way inferior to the ideas in Edinburgh Prolog.  Only that they
are incompatible.  Trying to smuggle Sigma Prolog ideas (such as its data
structures) into a standard which was supposed to be a standard for
"Edinburgh Prolog as described in Clocksin & Mellish" made about as much
sense as adding BASIC's READ and DATA statements in a standard for FORTRAN.

> I'm not trying to "bring personalities into it" but in the real world
> it is often the easiest way to explain positions. You, Richard,
> believe in the nuances of "Edinburgh Prolog" partly because you use
> it every day, have contributed many valuable details to it, and see
> your ideas worked out in it.

Use it every day, yes.  Have contributed valuable details to it, not that
I know of.  (Off-hand, I can think of only two details of DEC-10 Prolog
that I can claim responsibility for, and "Edinburgh" Prolog imitations
have widely ignored them.)  See my ideas worked out in it?  _Which_?

It is not a question of "believing in nuances of" anything.
If the BSI committee went off and decided to produce a standard
identical to Z-Prolog, I'd keep quiet about it.
My position is simply that if a group claim to be developing a standard
for "Edinburgh Prolog" (rather than LM Prolog, microPROLOG, IC Prolog,
LogLisp, PROLOG/KR, or any of several dozen related languages all with
_some_ merit), then that is what they should DO.  If the BSI committee
had done what they said they were going to do, we could have had a first
draft of a usable standard ready for comment by July of 1985.  Instead,
the committee has indulged itself in designing a new language (I understand
how great a pleasure that is; J.R.R.Tolkien called it "A Secret Vice") and
by its default has materially contributed to the present diversity of
Prologs.

> I deliberately phrase that in almost religious terms, because it's
> often not a question of that's right and the other's wrong, but
> rather six of one and half a dozen of the other.

Again, I'm not arguing that "Edinburgh" Prolog is right and SuperLogLisp
is wrong.  The point is consistency, comprehensibility, coherence.

> You have made your case and I intend to make sure the committee
> understand it. I don't agree that it is "far more different from any
> two of those existing systems than they are from each other." That's
> a misleading statement that could prejudice people who haven't taken
> the trouble you have to analyse the documents. (I'll follow up on the
> "var" question tomorrow. It's a DETAIL though obviously an important
> one.)

How can the truth be misleading?  With all the earnestness I possess,
I assure all who read this that it is my sincere belief based on
careful reading of the BSI fragments and of various Prolog manuals
that it would be easier for me to convert a program from AAIS Prolog
to Arity Prolog than to convert from either to BSI Prolog, and that
this applies to every other pair of "Edinburgh-compatible" Prologs
I am familiar with.  I believe that anyone who is not biassed by being
a member of the BSI/AFNOR group or does not work for one of two Prolog
vendors I have in mind but won't name for fear of legal consequences
will come to the same conclusion that I have come to after reading the
documents.  I am willing to lend my copies of the BSI fragments to
anyone in the Bay Area.

I am shocked that Chris Moss can dismiss something that will break
thousands of programs as a DETAIL.  (We can all agree that type testing
predicates which fail quietly when given a variable are not good logic.
But the BSI committee are supposed to be designing a standard for the
language we already have, and I don't know of any "Edinburgh Prolog"
dialect where integer(_) is an error.)

> >I am deeply offended that Chris Moss should suggest that I am arguing
> >for my employers rather than for what is technically good.  

> Richard, this time I have to take YOU to task for not reading what I
> wrote, but for the implication of what you thought I might have
> written. I wrote:
>    I don't object to you arguing for the standard to be based on Quintus.
>    You might be considered to be failing your employers if you didn't.

Yes, I know that's what you wrote, and it's not only what I thought you
might have written, it's what I thought you did write.  The first sentence
presupposes  that I "argue for the standard to be based on Quintus".
This is simply untrue.  What I want in the standard now is almost exactly
what I wanted in the standard in 1984 (though I've learned a little bit
more about floating-point since).  There are things in Quintus Prolog
(such as I/O predicates with stream parameters) that I most emphatically
do _not_ want in the standard, and would rather weren't in Quintus Prolog.
There are plenty of details in the present Quintus Prolog system which
could stand improvement (and _are_ being improved).  There are several
things which are _not_ in Quintus Prolog that _should_ be in the standard.

I may well need Chris Moss's pardon for other offences, but NOT
for "arguing for the standard to be based on Quintus [Prolog]".

> It is others who might make the judgement, not me. You can't escape
> from being in the position you are, and I'm sure your employers
> allow you to contribute to the net because they feel they (at least)
> do not lose by it.

Combine this with the two previously quoted sentences, and I understand
Chris Moss to be saying
    "	Hey Richard, I know that you're not CONSCIOUSLY arguing for
	Quintus Prolog to be the standard just because you work there
	and that's what you are used to and so on.  But that IS the
	reason.  "
Perhaps this is not what Chris Moss _means_, but I think it is a reasonable
interpretation of what he _wrote_.  One of the reasons that I am angry with
the BSI committee is that I want a nice clear technically sound Prolog
standard so that I can beat Quintus over the head with it and make them
change a few things.  Only a few, mind.

> And what I would say is "we need a better forum for taking this
> forward". It was a sad day for the BS committee when you flew off to
> the States, Richard. Communication has been difficult across 8,000
> miles (even tho you've tried hard).

Well, actually, where I flew off to was New Zealand.  13,000 miles isn't
a lot easier to communicate across than 8,000, of course.  The greatest
barrier to communication, as far as I'm concerned, has been that whenever
I've sent anything to the BSI committee, the result has been a deafening
silence.  (I _have_ had prompt acknowledgements from Roger Scowen and
Tony Dodd when sending things to them personally, and Tony Dodd _has_
quoted some of my comments in one or two of the PS/documents.  Rather,
he has MISquoted me.)  It was the better part of three years before I
heard that the BSI committe had rejected the formal definition I sent
them, for example.  I cannot pretend that this has left me unbiassed.
I gave up sending comments to the BSI committee when I was told that
100 pages of comments was far too much for them to distribute.

One thing that bothers me about the BSI substandard is that there are a
number of serious portability problems which have simply never been raised.
Once you have a standard language, you still have to cope with environment
differences.  I can think of four things offhand which the standard utterly
fails to address (only one of which is currently handled by Quintus Prolog).
If the committee were so much as to issue a document explaining one of these
issues and saying why they haven't resolved it, that would materially
increase their credibility in my eyes.  Two of them really ought to be
glaringly obvious, one they can find in the Quintus Prolog manual, and the
fourth should be painfully familiar to Sussex (I'm sure they have found a
solution).

ok@quintus.UUCP (Richard A. O'Keefe) (04/30/88)

In article <274@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes:
> I dispute that strongly. On a number of occasions I've answered point
> by point. Where I haven't, the usual reason is that it concerns part
> of the standard that I have not personally been concerned with.

In case it still isn't clear:  Chris Moss's position on the BSI Prolog
committee is similar to Doug Gwyn's position on the ANSI C committee.
He is not responsible for the whole of BSI Prolog, nor indeed for any
large part of it.  I have severely criticised the syntax documents
which bear his name, but my understanding is that his part in them is
largely a matter of writing down and trying to make consistent decisions
of the syntax subcommittee as a whole.  I claim that the deformities of
the syntax follow from the approach which was settled on before the BSI
committee was adopted by the BSI and are inherent in that approach, not
in Chris Moss's abilities or preferences.  For the built-in predicates
(such as atom/1) and the Formal Specification, no blame whatsoever
attaches to Chris Moss.  He has the misfortune (and the courage) to be
the only member of the committee "visible" in this newsgroup.

I wish some of the other commitee members would contribute their views.
In particular, I wish the present Edinburgh members would make their
opinions known, and I have _longed_ for Bill Clocksin to comment.

cdsm@ivax.doc.ic.ac.uk (Chris Moss) (05/05/88)

Newsgroups: comp.lang.prolog
Subject: Re: BSI Prolog terms of reference
Summary: 
Expires: 
References: <831@cresswell.quintus.UUCP> <249@gould.doc.ic.ac.uk> <256@gould.doc.ic.ac.uk> <883@cresswell.quintus.UUCP> <273@gould.doc.ic.ac.uk> <386@aiva.ed.ac.uk>
Sender: 
Reply-To: cdsm@doc.ic.ac.uk (Chris Moss)
Followup-To: 
Distribution: 
Organization: Dept. of Computing, Imperial College, London, UK.
Keywords: misdirection, misunderstanding, standards

In article <386@aiva.ed.ac.uk> jeff@uk.ac.ed.aiva (Jeff Dalton,E26 SB x206E,,2295119) writes:
>It is, I think, at least misdirection to answer Richard by saying
...deleted for space reasons
>These things may all be true, but by "misdirection", I mean a
>reminder that Richard has raised some issues that deserve a direct
>answer.  Just because Richard might be inclined towards Edinburgh
>Prolog in any case doesn't mean he isn't right when he says the BSI
>proposals go too far beyond codifying current practice or that users
>will find the cost of conversion too high.

First of all let me thank you for trying to say things clearly and
dispassionately and with references. If I've overreacted, I'm sorry.

I thoroughly agree that Richard has raised a lot of points that need
answers. Some I've tried to answer; others I will attempt to answer
in future as I clarify the issues with other members of the committee.

>... there are times when you seem to be muddying the waters
>rather than responding fairly to what Richard said.  I am not saying
>that is your intention, but it is sometimes what happens.
>
>For example, here is the exchange that began the issue of
>"personalities":
>
>In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A.
>O'Keefe) wrote:
>- It is very easy to deny that the early work was based on Edinburgh
>- Prolog: some of the early stuff looked uncommonly like Sigma Prolog.
>- Indeed, document PS/69 (dated 6 June 1985) explicitly says that the
>- standard was now to be based on micro-PROLOG as well as C&M.
>
>In <256@gould.doc.ic.ac.uk>, you quoted Richard's remark and replied:
>+ I work in the same establishment as the authors of SigmaProlog.
>+ I'm not going to start badmouthing them on the net.
>
>I don't see anything in the passage you quoted that amounts to
>badmouthing the authors of Sigma Prolog -- or did you mean that
>*you* weren't going to badmouth them because you worked in the
>same place?  

Yes, that  is precisely what I _said_ (i.e. *I* didn't want to do the
badmouthing). I never suggested that Richard was doing any
badmouthing and I'm sorry if people took that implication. It seemed
to me that Richard was criticizing the introduction of any ideas that
arise from sigmaProlog and wanting the committee to disassociate
themselves totally from those ideas.  I found it hard to believe
that, knowing that Frank McCabe was involved in the standardization
process (he quoted him at the Boston conference saying there'd be a
standard within a year), he should be surprised that he would want to
introduce ideas drawn from that dialect of Prolog. 


>Richard was responding to an earlier claim that it was hard to deny
>the work was based on Edinburgh Prolog.  Specifically, in
><249@gould.doc.ic.ac.uk>, you said:
>
>   I doubt anyone could deny that our work is based on Edinburgh
>   Prolog as described in Clocksin & Mellish. But should it be
>   limited precisely to that?
>
>The actual disagreement seems to be that Richard had in mind "based on
>E.P. alone" while you had in mind "based on E.P. and other Prologs".
>Richard brought in PS/69 to give some concrete backing to his "looked
>uncommonly like", so that it would be clear that his remark was not
>based on a mere impression.

If Richard had in mind "based on E.P. alone" then why didn't he say
it? His original statement (to quote it once more) was:
  It is very easy to deny that the early work was based on Edinburgh Prolog:
  some of the early stuff looked uncommonly like Sigma Prolog.  

Maybe I should mentally have inserted the word "alone" into that
sentence but I didn't, and I don't think that's altogether my fault.

Let me quote the section from PS/69 for those who haven't seen it:

   Which Prolog implementation should form the basis for a standard?

  Adopted: (8) Include features described in both Clocksin & Mellish
  and Clark & McCabe, judge other features on their merits.

(i.e. it was the book in both cases not the implementation that was
cited. I'm not suggesting this is very significant, but up to 1985
they were probably the most widely circulated Prolog books.)

Now the resolution is in itself a thoroughly confusing statement. It
seems to say that one takes the common subset of C&M and C&McC. This would
involve ignoring nearly everything in both books say about syntax,
built-in predicates, etc. It was presumably supposed to mean the union. 

Having taken that decision, the strategy of providing two syntaxes
united by a common semantics was, I suggest, the right one. Thus
there was an Edinburgh-based syntax and a micro/sigma based syntax.
What Richard was criticizing was the current version of the
Edinburgh-based syntax. Thus his objection that it was affected by
sigma is mysterious to me. We haven't tried to make Edinburgh look
like sigma or vice-versa (it would be totally impossible anyway).
We've tried to keep a multiplicity of syntaxes.

Thus I assumed that Richard and others accepted this twin-track
policy. If they don't maybe we should go back and discuss where the
problem is. Is it simply an unworkable ideal, or is it (as I suspect)
that he feels that the BSI committee was bound to keep only to
Edinburgh and was therefore betraying its principles by being
pluralist?

Where the strategy has run into serious problems is, I would suggest, at
the level of built-in-predicates. Though in many cases it's just a naming
question, there are differences which are hard to ignore semantically:
e.g. what happens to read and get at the end of file.  I doubt the people
defining these have consciously followed sigma/micro any more than
Edinburgh, but it has doubtless contributed to the muddle.

Underlying this whole discussion is, effectively, the issue of the market
penetration of "Edinburgh" Prologs. I will agree that there is a
substantial core of unity which is much greater than that represented by
the current BSI proposals. Unfortunately most of it is documented 
inadequately in reference manuals. The best account is still Richard's
document known as PS/6, which is now being used much more in constructing
the BIP definitions. (But that would take us into a methodology discussion
which I want to avoid here.)

>Another example is the following:
>
>In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
>- The phrase "as described in" is perhaps ambiguous.
>- Reading 1:
>-	"Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)".
>- Reading 2:
>-	"Edinburgh Prolog (that is, the dialects that Clocksin & Mellish
>-	refer to and partly describe)".
>- Since C&M is far too vague about details to serve as the basis for a
>- standard, I find reading 2 the most plausible one.
>
>In <256@gould.doc.ic.ac.uk>, you replied:
>+ I don't find Reading 2 any more plausible than my original.
>
>+ "Clocksin and Mellish were trying to describe what was going on at
>+ Edinburgh. Therefore one takes not what they said but what they were
>+ trying to say, which is obviously...  (insert one's own prejudice)"
>
>There is certainly an argument to be made here, namely that the
>pahrase cannot be clarified as easily as Richard suggests.  But
>your rephrasing of Reading 2 is hardly a fair one.  It is not just
>a question of one prejudice verses another: there are facts involved,
>and Richard is an expert on those facts.  Nor is it right to say
>Clocksin and Mellish were "trying to describe what was going on
>at Edinburgh".  They described a "core Prolog".

I was simply trying to make the point that what there was was
informal and unclearly defined. My use of the word "prejudice" was
unfortunate: I was not casting aspercions at Richard or anyone.

Sure, C&M were trying to describe a "core Prolog", (I don't see that
my more graphic description is misleading) but it is precisely the
umbra round the core that causes many of the problems.

Part of the problem in the BSI committee is probably that very few of
the actual committee regularly used an Edinburgh Prolog. To name a
few used by the active members, there were microProlog, Salford
Prolog, Poplog, ESI Prolog 1 & 2, ICL Prolog, VM Prolog and more recently
CRISS Prolog, Prolog II, BIM Prolog, ZYX Prolog. Very few of these
are in the "Edinburgh family". The only subcommittee actually to meet
in Edinburgh regularly (modules) dissolved itself a year ago after
coming to no agreement.

The underlying reason for this is that standardisation is a very
boring activity. One ends up having the same discussions and
arguments again and again. Most such committees only work by having
one or two dynamic leaders who drag everyone else along. The BSI
committee hasn't had such people who are prepared to give their time,
except Richard at the beginning, as I have said before. 

Standards are things that are drafted on paper, not decisions that are
taken at committee meetings. There were quite a few prepared to come to
the meetings and argue, but not to commit themselves to paper. (For
instance, Chris Mellish and Bill Clocksin both had more important
commitments which prevented them doing more than attending main meetings.
I regret very much that they seem to have dropped out altogether now
though I can't say I blame them.)

>Finally, there is the question of the correspondence between Richard's
>position and the interest of Quintus.
>
>> I wrote:
>>   I don't object to you arguing for the standard to be based on Quintus.
>>   You might be considered to be failing your employers if you didn't.
>
>The point is that Richard *wasn't* arguing for a standard to be
>based on *Quintus* Prolog.  Edinburgh Prolog is not the same thing
>as Quintus Prolog.  That Richard is arguing for a standard based on
>Quintus is simply false regardless of his motives.

And if you look at my statement, you'll discover that my statement
also does not presuppose that he is arguing for Quintus. Ok it's
ambiguous, but what I actually MEANT was
  "Richard I would not object if you DID argue for the standard to be
based on Quintus".

I hope you will agree that that is a permissible reading of the
sentence, even if not the most likely.

I have not at any time thought that Richard was acting partially. I did
not intend to imply that he was. I am sorry that people took it that way.
I suppose the problem was that it never occurred to me that either he or
anyone else would think for a moment that he WAS acting partially (in
respect of Quintus, that is). Maybe one of the problems of USENET is that
one is typing away in what feels like a private conversation--but it
isn't.

Chris Moss.

cdsm@ivax.doc.ic.ac.uk (Chris Moss) (05/05/88)

In article <917@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
>My position is simply that if a group claim to be developing a standard
>for "Edinburgh Prolog" (rather than LM Prolog, microPROLOG, IC Prolog,
>LogLisp, PROLOG/KR, or any of several dozen related languages all with
>_some_ merit), then that is what they should DO.  

As I said in my note to Jeff Dalton, Edinburgh is not the only source
of inspiration to either the BSI or ISO group. It may have been at
the beginning but we have for sometime been committed to at least two
and maybe more syntaxes. If you disagree with that then say so.
Incidentally, the ISO document also references Clark & McCabe as well
as Clocksin and Mellish.

>I am shocked that Chris Moss can dismiss something that will break
>thousands of programs as a DETAIL.  (We can all agree that type testing
>predicates which fail quietly when given a variable are not good logic.
>But the BSI committee are supposed to be designing a standard for the
>language we already have, and I don't know of any "Edinburgh Prolog"
>dialect where integer(_) is an error.)

OK, here is the position on the type predicates (atom, integer etc)
as far as I can determine it. I can't quote chapter and verse on
everything.  The issue arose because the French (I believe  JF
Piques, possibly van Canegham and Roussel, but it was mediated
through AFNOR) objected to having type predicates that fail when a
variable is uninstantiated. It was decided to allow an error message
in this case AS A COMPILER OPTION. Subsequently this was changed to
being a switcheable option. The current version does not make it the
default (I'm not totally sure on this).

Now I doubt that that satisfies anyone. Obviously AFNOR would like 
coroutining in the standard, and I personally interpret their
position as a roundabout argument for this; ie. type predicates
should suspend if their arguments are uninstantiated. Failing is
WRONG and therefore they would like to be able to run on sequential
machines keeping the sense of the predicates. (I may be
misinterpreting their motives. Unfortunately I doubt if anyone in
France reads USENET. I'll post this to them for a response).

Incidentally, the test "integer" in Prolog II fails silently just as
one would expect, (I have just tried our copy) so I suspect the BSI
group misinterpreted the French request or my interpretation is wrong.

So nobody was forcing the error message response if a variable was
uninstantiated on anyone. At worst it was an OPTION. I can't
personally see why anyone should want to turn it on, and I've put
that position to Tony Dodd and Roger Scowen who have been concerned
with the drafting. It will come up again.

An IMPORTANT point that I think should be discussed is whether
coroutining should be in the standard and if so in what form.
Previously it had been rejected on two grounds: 1. There were several
incompatible implementations and nobody could decide between them. 
2. There were doubts about efficiency, particularly for compiled code.

Since that decision there have been at least two compilers (NU from
Melbourne and the ECRC product) which appear to have demonstrated
that the fears were groundless.

So there now appears to be a classic chicken-and-egg problem. Most
people do not use coroutining because their systems don't support it.
That is because many systems are totally optimised to sequential code
and may have only heard about C&M anyway.

If one had coroutining then several predicates might well behave
differently. Prolog II has predicates "bound" and "free" to deal with
this situation. The question is then "how does one ensure upward
compatibility?" and that's a thorny one.

>
>> >I am deeply offended that Chris Moss should suggest that I am arguing
>> >for my employers rather than for what is technically good.  

Please see my reply to Jeff Dalton, and accept my apologies for
having appeared to say something which I did not intend to say.

>I gave up sending comments to the BSI committee when I was told that
>100 pages of comments was far too much for them to distribute.

But please, it wasn't the FIRST 100 pages you had submitted; or even
the second. Those were distributed! (one even at the ISO meeting).


>One thing that bothers me about the BSI substandard is that there are a
>number of serious portability problems which have simply never been raised.
>If the committee were so much as to issue a document explaining one of these
>issues and saying why they haven't resolved it, that would materially
>increase their credibility in my eyes.  

I really don't think these sort of comments help. They are
tantalising, sure. But just having you say "I know something you
don't" doesn't help me. Am I supposed to try and outguess you?  Do I
get marked down when I don't respond? Maybe we have thought about
them. I don't know and am not going to go grubbing through Quintus
manuals to find out.


Chris Moss.

ok@quintus.UUCP (Richard A. O'Keefe) (05/07/88)

In article <280@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes:
> As I said in my note to Jeff Dalton, Edinburgh is not the only source
> of inspiration to either the BSI or ISO group. It may have been at
> the beginning but we have for sometime been committed to at least two
> and maybe more syntaxes. If you disagree with that then say so.
> Incidentally, the ISO document also references Clark & McCabe as well
> as Clocksin and Mellish.

It doesn't really matter where you get your inspiration from.
The principal "inspiration" behind my 1984 document PS/6 was a draft
of Common Lisp.  Let me offer an analogy:  Icelandic and English are
very closely related languages.  Sigma Prolog and "Edinburgh" Prolog
are closely related languages.  If someone were designing a standard
for English (which heaven forbid) it would make sense to look to
Icelandic (and German and Dutch and French) for inspiration.  If
someone were pretending to design a standard for "Edinburgh" Prolg
it would make sense to look to Sigma Prolog (and LM Prolog and
Waterloo Prolog and Common Lisp) for inspiration.  It would NOT make
sense to adopt large chunks of Icelandic orthography and syntax as
part of the English standard.  It would not make sense to adopt large
chunks of Sigma Prolog as part of a standard which was claimed to be
based on "Edinburgh Prolog".  It isn't just that Sigma Prolog acted as
a source of inspiration:  there was a time when the basic data structures
the fragments talked about (e.g. compound terms being PAIRS consisting
of a function symbol and a TUPLE) were the data structures of Sigma Prolog,
not the data structures of any "Edinburgh" Prolog.

> OK, here is the position on the type predicates (atom, integer etc)
> as far as I can determine it. I can't quote chapter and verse on
> everything.  The issue arose because the French (I believe  JF
> Piques, possibly van Canegham and Roussel, but it was mediated
> through AFNOR) objected to having type predicates that fail when a
> variable is uninstantiated. It was decided to allow an error message
> in this case AS A COMPILER OPTION. Subsequently this was changed to
> being a switcheable option. The current version does not make it the
> default (I'm not totally sure on this).

This is not what any of the current fragments say.  The formal specification
and the radically informal "built-in predicates" document both say quite
unambiguously that the type testing predicates must UNCONDITIONALLY
report an error when passed a variable.  There is not the shadow of a hint
in either document that this might be suppressible.

> Now I doubt that that satisfies anyone. Obviously AFNOR would like 
> coroutining in the standard, and I personally interpret their
> position as a roundabout argument for this; ie. type predicates
> should suspend if their arguments are uninstantiated. Failing is
> WRONG and therefore they would like to be able to run on sequential
> machines keeping the sense of the predicates.

NU Prolog has already solved this problem, as I believe I have explained
before.  (If people are going to allow other random languages to
infiltrate the Prolog standard, why not NU Prolog, which manages to do a
fine job of coroutining with out introducing gratuitous incompatibilities?)
Their solution was to have two sets of type testing predicates:
a compatible set which behaves *exactly* as in other Edinburgh Prologs,
and a coroutining set.

Having fundamental operations whose effect cannot be determined by looking
at the code is, um, not a good idea.  Actually, it is a very BAD idea.
A language where "+" sometimes meant "-" depending on a run-time switch
is not a language I would care to program in.  A language where it is a
compile-time option is little better.

It would be much better if the standard were to define type tests such as
	is_atom(X) :- {present BSI atom(X)}.
	...
and explicitly assign NO interpretation to atom/1 or the rest.  Then
atom/1 can be defined as
	atom(X) :- fail_if(var(X)), is_atom(X).

I'm afraid that if Chris Moss has given us the right explanation, he
has thoroughly vindicated my claim that the BSI/AFNOR group are engaged
in language DESIGN ("what would it give me a thrill to MAKE this thing
do") not language STANDARDISATION ("what do most more-or-less compatible
existing implementations of this language actually DO").

> Since that decision there have been at least two compilers (NU from
> Melbourne and the ECRC product) which appear to have demonstrated
> that the fears were groundless.

I don't know about the ECRC product.  What's wrong with SICStus Prolog?
I have said before that if the standard were to strongly resemble NU Prolog
I would be far from displeased.  NU Prolog and SICStus Prolog show that you
can add coroutining without breaking anything.

> >One thing that bothers me about the BSI substandard is that there are a
> >number of serious portability problems which have simply never been raised.
> >If the committee were so much as to issue a document explaining one of these
> >issues and saying why they haven't resolved it, that would materially
> >increase their credibility in my eyes.  
> 
> I really don't think these sort of comments help. They are
> tantalising, sure. But just having you say "I know something you
> don't" doesn't help me. Am I supposed to try and outguess you?  Do I
> get marked down when I don't respond? Maybe we have thought about
> them. I don't know and am not going to go grubbing through Quintus
> manuals to find out.

(1) Too right you get marked down.  That's my objection:  the BSI/AFNOR
    group in general is having a great time indulging in the "secret vice"
    of language design and seems to be ignoring practical concerns.

(2) If the committee has thought of the points I have in mind, they have
    a duty to minute their discussion of those points.  I have to conclude
    either that they have failed to consider these practical points (nothing
    deep; I'm talking about things which really force themselves on your
    attention if you start trying to write code portable to different
    operating systems) or else that they have considered them but have
    failed to minute them.  In neither case does the committee look good.

(3) Quintus manuals have little to do with it.  Let me re-mention two of
    the portability concerns I had in mind:
    #### ###### (not in Quintus Prolog, but Prolog-# has it)
    ####-##### (not in Quintus Prolog, but Common Lisp does it)

Ok, I'm being tantalising about it.  I am sufficiently ####ed off with
the BSI/AFNOR/ISO exercise to be holding these things in reserve, but
I'm just co-operative enough to give an advance warning that there are
serious portability concerns which the current fragments utterly fail
to address and are not hinted at in any of the piece of paper I've had
so far.  This is meant as a *challenge* to the committee:  shape up!
Start thinking about the Prolog *users*!

On that topic, in an earlier posting which I mean to reply to tomorrow,
Chris Moss said
	Part of the problem in the BSI committee is probably that very few of
	the actual committee regularly used an Edinburgh Prolog. To name a
	few used by the active members, there were microProlog, Salford
	Prolog, Poplog, ESI Prolog 1 & 2, ICL Prolog, VM Prolog and more recently
	CRISS Prolog, Prolog II, BIM Prolog, ZYX Prolog. Very few of these
	are in the "Edinburgh family".

micro-PROLOG *claims* to have a DEC-10 compatible interface.
(LPA MacProlog offers a far closer approximation to "Edinburgh" Prolog
than the BSI does.)

PopLog was, in 1984, very closely DEC-10 compatible (plus extra goodies).

ESI Prolog 1 is in some sense a lineal descendant of NU 7 Prolog for
the PDP-11, written by Chris Mellish, and described in Clocksin & Mellish.
ESI Prolog 2 is still an "Edinburgh" Prolog.  (I refrain from
criticising its differences from, say, Arity Prolog, solely to avoid
giving offence.)

ICL Prolog is (or was) Prolog-X, done by Bill Clocksin, which was very
closely compatible with C Prolog.  Prolog-X and NIP (the new Edinburgh
Prolog) share a great many ideas, although NIP was a conscious departure
from ZIP (the Prolog-X virtual machine).

BIM Prolog claims to have an "Edinburgh"-compatible interface;
porting CHAT-80 to it was more pain than it really needed to be,
but nothing fundamental was involved.

ZYX Prolog (at least on Hewlett-Packard machines) comes with two
components:
	Z-Prolog (lisp-like, compatible with nothing else)
	Q-Prolog (claimed to be Quintus-compatible; from the manual
		  it does a fair job except for compile/1).

VM Prolog is not compatible with anything, so if the standard isn't
compatible with it that doesn't make life any harder for anyone.

It's a long time since I saw a Salford Prolog manual; surely the name
is Salford Lisp/Prolog, or has the Lisp component been dropped?

CRISS Prolog I've never heard of before.

So, Chris Moss named 11 Prolog implementations and said that 'very few of
these are in the "Edinburgh family"'.  From my knowledge of some of them,
6 of them claim to offer "Edinburgh" or "Clocksin & Mellish" compatibility,
at least as an option.  This relieves me, because if it were really true 
that
	"very few of the actual committee regularly used an Edinburgh Prolog"
that would utterly destroy the committee's pretensions to good faith.
It would be outrageous for anyone working on a standard for C or Pascal
to be unfamiliar with the language they claimed to be basing their standard
on, and I do not see why Prolog should be any different.  (Common Lisp and
ADA were frankly attempts to produce _new_ languages.)

ok@quintus.UUCP (Richard A. O'Keefe) (05/09/88)

This is a reply to article <278@gould.doc.ic.ac.uk>,
by cdsm@ivax.doc.ic.ac.uk (Chris Moss).
My failure to respond to a point should not be taken to mean
that I agree with him.

>                                                            It seemed
> to me that Richard was criticizing the introduction of any ideas that
> arise from sigmaProlog and wanting the committee to disassociate
> themselves totally from those ideas.  I found it hard to believe
> that, knowing that Frank McCabe was involved in the standardization
> process (he quoted him at the Boston conference saying there'd be a
> standard within a year), he should be surprised that he would want to
> introduce ideas drawn from that dialect of Prolog. 

My point has always been that micro-PROLOG and Sigma Prolog are sufficiently
different from the Edinburgh family (in particular, they do not have the same
_kinds_ of data structures) that it is a mistake to try to mix the two.  As
it happens, there is precisely one idea in micro-PROLOG that it would have
made sense to try to add to an Edinburgh Prolog, namely the "module" system.

I believe I am the only person associated with the Prolog standardisation
effort who from the start has been arguing _against_ his own commercial
interests (many members of the committee have no commerical axe to grind).
Of course, I may be the only one who is not convinced that the brand he is
associated with is already technically perfect.  Many Prolog implementors
(I do not have Frank McCabe in mind here) seem to be unaware that their
"enhancements" are bad Software Engineering (e.g. write-only variables).

> Having taken that decision, the strategy of providing two syntaxes
> united by a common semantics was, I suggest, the right one. Thus
> there was an Edinburgh-based syntax and a micro/sigma based syntax.
> What Richard was criticizing was the current version of the
> Edinburgh-based syntax. Thus his objection that it was affected by
> sigma is mysterious to me. We haven't tried to make Edinburgh look
> like sigma or vice-versa (it would be totally impossible anyway).
> We've tried to keep a multiplicity of syntaxes.

NO!  Radical mistake!  I have _never_ alleged that the BSI __syntax__
(at least, the version that Chris Moss works on) has been influenced
by Sigma Prolog.  I have alleged that the BSI _standard_ has been so
influenced, and that it ought not to have been, but that's another
story.

> Thus I assumed that Richard and others accepted this twin-track
> policy. If they don't maybe we should go back and discuss where the
> problem is. Is it simply an unworkable ideal, or is it (as I suspect)
> that he feels that the BSI committee was bound to keep only to
> Edinburgh and was therefore betraying its principles by being
> pluralist?

> Where the strategy has run into serious problems is, I would suggest, at
> the level of built-in-predicates.

That is to say, that "the strategy of providing two syntaxes united by a
common semantics" "has run into serious problems" because there ISN'T a
common semantics to start with.  Which is to say, it is as if a committee
had decided to produce a standard for Fortran with two syntaxes (a Fortran
syntax and a Basic syntax) united by a common (Fortran+Basic) semantics,
and after a couple of years it dawned on them that the *real* difference
between Fortran and Basic was _semantics_, not _syntax_.  What puzzles me
is why they ever thought there was a common semantics in the first place.

It hadn't ever dawned on me that BSI Prolog's "other" syntax was supposed
to be like micro-PROLOG.  Perhaps it is stupid of me, but it was always
called the "LISP-like" syntax, and I took it to mean that this was to be
a new Lisp-like syntax for an otherwise Edinburgh-Prolog-like base.
Indeed, I offered a proposal for such a syntax myself (my so-called
"Transport Syntax").  I think that its syntax is easily the worst thing
about Lisp, so I would scream blue murder if it was to be the only syntax,
but I have been advocating that the standard should provide for multiple
syntaxes longer than the BSI committee have.  No quarrel there (except that
I think that at least _one_ of the syntaxes should be Edinburgh-compatible,
and the BSI committee don't).  If someone wants to produce and standardise
a Query-by-Example way of writing Prolog, good luck!

There hasn't *been* a Lisp-like syntax to criticise until recently.
Since my main concern is to protect existing Prolog users, I haven't
bothered commenting on it, because providing an additional syntax isn't
going to break anything.  (It will, however, break every Z-Prolog program
in sight, unless I am mistaken, but if ZYX want to shoot themselves in
the foot that's their business.  It is also more than different enough to
do no good to micro-PROLOG, which also doesn't bother me much.)

> Part of the problem in the BSI committee is probably that very few of
> the actual committee regularly used an Edinburgh Prolog.   ...
> Most such committees only work by having
> one or two dynamic leaders who drag everyone else along. The BSI
> committee hasn't had such people who are prepared to give their time, ...

I only have to keep Chris Moss talking, and he'll say far more damning
things about the BSI committee than I could ever get away with.

> >> [Chris Moss] wrote:
> >>   I don't object to you arguing for the standard to be based on Quintus.
> >>   You might be considered to be failing your employers if you didn't.
> And if you look at my statement, you'll discover that my statement
> also does not presuppose that he is arguing for Quintus. Ok it's
> ambiguous, but what I actually MEANT was
>   "Richard I would not object if you DID argue for the standard to be
> based on Quintus".

But since I never have done that, and have given no evidence that I ever
intend to, and since it would be a morally bad thing to do, why say it?

And no, it isn't ambiguous at all; the only interpretation justified by
the syntax is the one which takes the embedded sentence to be assumed true
by the speaker.  [Long English lesson deleted.]

micha@ecrcvax.UUCP (Micha Meier) (05/11/88)

In article <945@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
>> Since that decision there have been at least two compilers (NU from
>> Melbourne and the ECRC product) which appear to have demonstrated
>> that the fears were groundless.
>
>I don't know about the ECRC product.  [ ... ]

	No wonder, it wasn't really famous. ECRC-Prolog has a compiler
	for MU-Prolog's wait declarations and the overhead introduced
	by coroutining is minimal - about 5% with naive reverse.
	In SEPIA, which has another coroutining construct, the delay clauses,
	this is going to be even less, I suppose.

	The problem with standardising the coroutining is as with
	anything else - at least as far as the syntax is concerned,
	there are already several completely different systems
	(NU-Prolog, SICStus, Prolog II/III, SEPIA, ...).
	And what about the semantics? On the other hand, it would
	be better to standardize it now while there are so few (:-)
	systems that have this feature. From the efficiency point
	of view there are no problems, I'm sure. On the contrary,
	with the coroutining Prolog can solve a lot of problems
	that cannot be solved without it.

--Micha