Re: Remarks on SWI 7

Feliks Kluzniak <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
Hi Jan,

Thank you for troubling to respond!

> What I'm trying to do is to make the system evolve to the needs of
> todays infrastructure and programmers. […]
> 
> I want a gradual migration path that opens new doors while breaking as
> little as possible […]

I am delighted to hear that.

My personal view is that the path you seem to be choosing might not be the optimal one.

I will now paint in very broad strokes, to keep this as short as I can.

It has always seemed to me that when one develops a programming language one should strive to have a small, conceptually elegant basic language with a good clean implementation, and then to build most of the „useful” functionality on top of it (e.g., by providing libraries).  Hardly an original view, of course.

In the 70s and early 80s machines were just too small and slow to make this really practical for a language like Prolog, so it has grown to be a huge beast, with tons of built-ins.  Later on there were various sorts of extensions that were hard to express efficiently in terms of the initial conceptual framework (e.g., modules, multi-threading).

Times have changed.  Processors are faster by four orders of magnitude.  Memories are larger by four orders of magnitude.  A simple program written in Prolog often runs faster today than the same program written in assembler thirty years ago.

There is now no compelling reason to change or complicate the language and the underlying implementation in order to „open new doors” (unless this means making the system useful for the sort of programmer who is not intellectually capable of really picking up Prolog).

Even if I set that view apart, I find it hard to see compelling reasons for the specific changes that are being discussed in this list (I haven’t actually tried V7 yet).  Even the introduction of a really sexy feature like the associative array („dict”) does not seem to me to be worthwhile: we can be efficient enough without it, and Prolog just isn’t the kind of language that can accommodate this in a really natural and elegant way (as noted, I think, by Alan and some others: the amount of traffic about this made my memory overflow).

So much for my personal view.


We should perhaps be more worried by the fact that Richard seems to be quite upset about some of this stuff.  As often, I tend to agree with the brunt of his arguments.

Ulrich’s points about unnecessary deviation from the standard also carry some weight.

If „breaking as little as possible” meant „breaking nothing”, I am sure you would get less flak. ;-)


The concise summary of all these discussions is, of course, the following: you’ve got lots of serious customers, who are happy with SWI-Prolog and really care about its future.

Regardless of what happens, I trust you find this encouraging. ;-)

With best wishes,
— Feliks
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.