Re: Remarks on SWI 7

Ulrich Neumerkel <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
Richard O'Keefe:
>> That would be great. Just, it is unrealistic as has been pointed out
>> before so many times.
>
>Yes and no.  To the extent that it's "yes", there are two reasons.
>
>(a) Limitations and deficiencies in the standard.
>    Back in 1985 I said at a logic programming conference that
>    the BSI committee's aim to produce a "minimal" standard was
>    a great big mistake, that it might satisfy implementors who
>    didn't want to change much, but wouldn't offer much to users.

There was a lot of detail that needed to be resolved first.  Which
programming language was in such a bad shape (in terms of
implementations as of 1987) that even its very fundamental concept of
unification was not defined?

>    There was and remains no ISO support for pretty much any
>    kind of OS interface: no directories, no way to ask for the
>    current time or the last change date of a file, to run an
>    external program, &c.  While I was at RMIT I started a
>    "POSIX binding for Prolog" project, but was given to understand
>    that the ISO committee would have zero interest in looking at it,
>    so abandoned it.

Write a document, keep an eye that implementors actually implement
this and maintain it over a while.  Really maintain it.  Then, there
is good reason to start ISO work on it.  So effectively **after**
systems adopted it.  The problem is that differences are on a much
lower level, and you will get all the repercussions, first hand,
otherwise.

Think of errors.  ISO is very clear on this, and has a rudimentary
"mode and type system" consisting of errors and types 7.12, 8.12 and a
format and method to describe built-ins.  However, it is very
frustrating that some implementors simply see this as something
"optional".  This often puts enough sand into the cogs that the entire
enigne comes to halt.

It is already difficult when there is agreement of many.  One reason
is this unprocedural nature of Prolog.  Think of length/2.  It is much
more complex than anything corresponding in command oriented
languages.  But the expectation is often that it cannot be more
difficult than in such languages.  It reality it corresponds to:
Define length, make_list, a for infinity loop, an iterator concept, a
diagnoser that is able to reason on "all terms" plus the errors.

That takes much more time.  Even the current description still is not
perfect for the procedural description.  (Procedurally, ...)

>> Many people took many initiatives,
>
>I am one of them.
>I think a total of about 3 people have expressed interest
>in http://www.cs.otago.ac.nz/staffpriv/ok/pllib.htm.

The number of individuals who have looked at this document is
significantly larger.  I still do get all kinds of comments on it
because pllib no longer reflects the current state.  It would
therefore help a lot if the document could be updated reflecting
Cor.1:2007 and Cor.2:2012.  An outdated document is sand, too.

It should also consider a "module/package" structure - that is simply
fix a module name for regrouping.  And do not assume much more than
that.

And also ISO/IEC JTC1 SC22 WG17 did consider it via the following
documents, which refer to pllib in detail:

N224: http://www.complang.tuwien.ac.at/ulrich/iso-prolog/evaluable_functors
N225: http://www.complang.tuwien.ac.at/ulrich/iso-prolog/built-in_predicates

These documents and others were used to decide what to put into Cor.2.

http://www.complang.tuwien.ac.at/ulrich/iso-prolog/#Cor.2

Your document is even "archived":

http://www.complang.tuwien.ac.at/ulrich/iso-prolog/#pllib
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.