Re: To develop a system fit for Web-heroes.

Paulo Moura <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
On 05/12/2013, at 16:13, Jan Wielemaker <[email protected]> wrote:

> On 12/05/2013 04:54 AM, Richard A. O'Keefe wrote:
>> In both cases, the best thing the underlying language can do
>> to support programmers is to*not change incompatibly*  so that
>> a tool ecosystem can be built around it.  SWI Prolog has some
>> of this stuff.  In all seriousness, starting from a language
>> that's basically OK,*this*  is the level that needs the work.
> 
> That is one way of looking at it. In my opinion though, that requires a
> language that is sufficiently rich to begin with. (ISO) Prolog does not
> qualify here. Yes, it is Turing complete, so in theory you can do
> anything. In practice, lots of things are missing to turn it into a
> sensible language for any real world programming task. Some of this can
> be added as libraries. Many of these libraries however depend on stuff I
> don't see added to the ISO standard in any reasonable time frame. Just
> take term/goal expansion as an example.
> 
> Just to support web-programming, I have added macro expansion,
> conditional compilation, threads, Unicode support, unlimited length
> atoms, the C interface including programmable Prolog streams and a
> module system to ISO. Of course, I should be fair that I've copied most
> of the specifications from others and luckily others copied some of my
> solutions.
> 
> Note that nothing of the above can be implemented as a library on top of
> ISO Prolog.  You must be a real optimist to believe that the ISO standard will advance enough to support the above before Prolog is forgotten.

A lot of work was done in the past to fulfill some of these omissions and shortcomings in the ISO Prolog standards. You, me, Richard, and others were there at some point in time. But WG17 have a tradition of ignoring technically sound contributions, of throwing away hard work without a second thought, and having a revisionist attitude towards the history of Prolog standardization. Anyone one this community visiting WG17 websites will have trouble tracing back some of the most significant contributions or even finding their documents and being able to download them. Anyone reading *official* ISO reports will find e.g. country participations and proposals omitted as like they never existed in the first place. Some examples in recent years:

- One of the most significant recent success (even if modest) in Prolog standardization, the Technical Corrigendum 2, is largely based on my work as the editor of the Core Revision proposal (which I started back in 2006), working closely with Prolog implementers to make it a reality. The last draft of this proposal, dated from October 5, 2009, can only be found on-line at <http://prolog.logtalk.org/viewtopic.php?f=9&t=3>. This last draft was delivered to WG17 as requested so that work could continue. But there are ZERO references to it on WG17 websites. Comparing it with the published Corrigendum is enlightening.

- You can write today multi-threading applications using a common API found on SWI-Prolog, XSB, and YAP. The API is described in a ISO Prolog draft proposal (started and edit by me and made a reality by the developers of SWI-Prolog, XSB, and YAP) that is... collecting dust. Three Prolog compilers don't make an implementation widespread... until you realize that most implementations don't support threads.

- The last DCGs draft standardization proposal included both a reference implementation and a growing set of unit tests. These were stripped down as soon as I resigned as editor with the excuse that they had no normative value. Someone should warn all those ISO standard that have reference implementations that they are doing it wrong!

- Prolog applications usually need to talk to the outside world. A proposal for a portable operating-system interface, whose discussion between Prolog implementers gathered large consensus on it direction, was delivered to WG17. Want a copy? You have to go to <http://prolog.logtalk.org/viewtopic.php?f=4&t=6>.

Other people that worked hard towards Prolog standardization, such as Richard, have even more infuriating stories. Ulrich wrote (in <http://www.complang.tuwien.ac.at/ulrich/iso-prolog/SWI7_and_ISO>):

"The ISO process is a very flexible and fast process. But to run at maximal speed it requires commitment, cooperation, and conformance."

I truly hope that is true today as the reality yesterday was quite different. I will also add that a standardization process requires honorable behavior from its leadership and participants to avoid shameful events such as the 2009 Pasadena WG17 meeting.

Cheers,

Paulo

-----------------------------------------------------------------
Paulo Moura
Logtalk developer

Email: <mailto:[email protected]>
Web:   <http://logtalk.org/>
-----------------------------------------------------------------
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.