🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #930

Re: Prolog standard

#930
From: Richard A. O'Keefe
Date: Fri, 29 Jun 1990 11:48
81 lines
4445 bytes
In article <1391@quintus.UUCP>, dave@quintus.UUCP (David Bowen) writes:
> In article <3330@goanna.cs.rmit.oz.au> Richard A. O'Keefe writes:
> >I have in the past volunteered in this newsgroup to manage an Australian
> >mail server for standards documents if given machine-readable copies
> >that could be made available that way.  
 
> I don't see why documents couldn't be posted directly on this news group.

They would *still* have to be archived somewhere.  What about someone
who joins the net a month after something has been posted?  If he's
unlucky, he never hears about it until it's much too late.  If *we're*
unlucky, we get lots of messages "I missed X, can it be reposted" and
someone is _sure_ to oblige...

Having one site each in the US, Australia, Europe, and Japan where
people could FTP the latest drafts of things (or get them via a mail-
server) would cut down international net use quite a bit.

The real problem is a legal one.  Drafts of the C standard were *not*
made available for legal reasons.  I don't know what the ISO rules are.
Working documents _other_ than drafts of a standard are presumably not
a problem, the copyright would remain with the authors and they could
be asked to agree to eletronic distribution as well as paper distribution.
But presumably the copyright of drafts of the standard belongs to ISO.

Drafts of the standard need to be subjected to two kinds of criticisms.
1) They need to be scrutinised very carefully for technical errors.
2) People who are trying to _use_ Prolog need to check whether the
   standard meets their needs.

Currently, there is a de facto standard (C Prolog minus a few bits).
At the moment I have access to 6 Prolog systems which are pretty close
to that.  (I also have C Prolog itself on a tape somewhere, and expect
to pick up another portable Edinburgh-compatible Prolog fairly soon.)
I also have manuals for IBM Prolog, ZYX Prolog, and Quintus Prolog,
and keep meaning to ask for an Arity manual.  The one thing which is
in the current draft of the standard (given that strings have been
dropped) but not in these Prologs is exception handling, and in fact
most of them have it.  The degree of similarity between these systems
(except IBM Prolog) is *already* about as close as we could hope for
from the current standard.  And it just isn't good enough.

Let me give you one specific example.

    What one writes as
	:- dynamic
		p/1,
		q/2.
    in SICStus Prolog has to be written as
	?- dynamic([
		p/1,
		q/2
	   ]).
    in NU Prolog, and some of the other systems I have access to are
    deeply unhappy with _either_ form.  Some systems like ALS Prolog
    don't strictly speaking _need_ :- dynamic declarations, but it is
    a pain that they don't accept and _ignore_ them.  The standard
    ought to require that every conforming Prolog implementation MUST
    accept some kind of declaration (I would even settle for
	?- declare(dynamic, [
		p/1,
		q/2
	   ]).
    as long as _everything_ accepted it) and that it MUST be legal to
    change a predicate thus declared, but in order to accomodate ALS
    Prolog all it has to do is _not_ say that that predicates _not_
    declared :- dynamic _can't_ be changed.  As it is, I have to load
    a DYNAMIC.PRO file first thing, and keep forgetting it.

If you sit and stare at the text, this kind of thing isn't obvious.
If you are actively trying to write code that will portable between
several dialects, this kind of thing hits you in the eye right away,
and you look to the text to see how it helps, and find that it doesn't.
It was always important to ensure that people *using* Prolog would
see whether the standard met their needs.  A minimal standard doesn't.
The bottleneck is not the technical difficulty of getting a workable
standard done in time, but delegates' willingness to study the needs
of Prolog _users_.

-- 
"private morality" is an oxymoron, like "peaceful war".
Technical Details
Message-ID: <3340@goanna.cs.rmit.oz.au>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!munnari.oz.au!goanna!ok
References: <15581@dime.cs.umass.edu> <3314@goanna.cs.rmit.oz.au> <1391@quintus.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!munnari.oz.au!goanna!ok
From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
Newsgroups: comp.lang.prolog
Subject: Re: Prolog standard
Message-ID: <3340@goanna.cs.rmit.oz.au>
Date: 29 Jun 90 11:48:47 GMT
References: <15581@dime.cs.umass.edu> <3314@goanna.cs.rmit.oz.au> <1391@quintus.UUCP>
Organization: Comp Sci, RMIT, Melbourne, Australia
Lines: 81