[comp.lang.prolog] PROLOG DIGEST V6 #36

restivo@POLYA.STANFORD.EDU (Chuck Restivo) (07/01/88)

Date: Fri 17 Jun 1988 02:53-PST
From: Chuck Restivo (The Moderator) <PROLOG-REQUEST@POLYA.STANFORD.EDU>
Reply-to: PROLOG@POLYA.STANFORD.EDU>
US-Mail: P.O. Box 4584, Stanford CA  94305
Subject: PROLOG Digest   V6 #36
To: PROLOG@POLYA.STANFORD.EDU


PROLOG Digest           Friday, 17 Jun 1988      Volume 6 : Issue36

Today's Topics:
				Implementation - BSI Standard 

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

Date: 23 Mar 88 16:20:46 GMT
From: eagle!icdoc!ivax!cdsm@ucbvax.Berkeley.EDU  (Chris Moss)
Subject:  My views on developing a PROLOG standard 

You don't understand the way standardizing works. There has been
plenty of communication between AFNOR and BSI -- the two groups ARE
trying to work together. (That doesn't mean they will agree: the
current AFNOR proposal throws out operator definitions altogether and
makes ";" the end of statement marker!) Also the formal semantics has
been fleshed-out by members of AFNOR. Richard's certainty that the
Prolog world begins and ends with Edinburgh is not shared in France!
ANSI has so far declined to set up a Prolog committee.  The AIM is to
have one standard. Here's hoping.

-- Chris Moss

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

Date: 28 Mar 88 09:44:39 GMT
From: quintus!ok@unix.sri.com  (Richard A. O'Keefe)
Subject: BSI Prolog terms of reference

				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.

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

Date: 2 Apr 88 05:08:00 GMT
From: quintus!ok@sun.com  (Richard A. O'Keefe)
Subject:  BSI Prolog terms of reference

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.
------------------------------

End of PROLOG Digest
********************