ok@edai.UUCP (Richard O'Keefe) (03/05/84)
Do you know the word "chutzpah"? The standard example is a man who has murdered both his parents, and in Court asks for mercy on the grounds that he is an orphan. Here's another example. I have under my left hand at this moment ... (now I've taken my hand off it) some promotional literature for IF-Prolog, which is produced by an outfit called InterFace Computer GmbH in Germany. On the front cover (which carries in large letters "Prolog made in Germany") they have a quotation from Alain Colmerauer, from D. Bjoerner, and from me. The quotation from me is repeated on the last of the 15 sheets. Obviously it's good one. The quotation is in fact in praise of their debugger. I have no desire to withdraw my praise of that debugger, but you ought to know the context in which it was written. InterFace Computer were the first commercial outfit to get a licence for EdCAAD's C-Prolog. The British Technology Group, who administer products that come out of UGC-funded research in the UK, were dragging their feet, and hadn't got a proper commercial agreement worked out. So as a favour (and as a lever to try to get the BTG de-leaded) InterFace Computer were given an ACADEMIC licence for C-Prolog. InterFace Computer have never had a commercial licence for C-Prolog, and have rejected in the strongest terms the suggestion that they should have one. Well, there's no harm in that. But it came to EdCAAD's notice that InterFace Computer were about to distribute their Prolog system through Springer Verlag, and EdCAAD said to Springer, "Can you assure us that this isn't OUR Prolog they're trying to sell you?". To cut a long story short, Springer finally arranged that someone who knew something about C-Prolog would go to Munich and look at the sources of IF Prolog. Fernando Pereira couldn't leave the USA without going through an inordinately complex process to get back in, so it was agreed that I would go. Well, I went. Springer paid my air fare, and InterFace Computer paid for my hotel accomodation and food. The date had been arranged with Springer so that a Springer representative could be there. He wasn't. (Or she, or it.) The InterFace people were all very nice to me. I had gone expecting to find that IF Prolog was completely new. After all, I thought, if they knew their product was a ripoff, surely they'd back down rather than let anyone KNOW. I still hadn't learned about chutzpah. While I found that the structure of the interpreter was original (it is neater than C-Prolog, but C-Prolog is a mess so that you can save the current state), and that the debugger was entirely novel and quite pleasant to use, NEVERTHELESS [1] the program was nowhere near finished. I found several bugs, which were fixed while I was there, but what I really have in mind was the way the interpreter carefully distinguished between local and global variables (like Dec-10 and C-Prolog) and then proceeded to treat them exactly alike. Because of the length of time involved, I was left with some doubt as to whether this was the program InterFace had intended selling in the first place, or whether perhaps it had been written after EdCAAD's letter to Springer. Preben Folkjaer seemed to me to be too competent to have taken so long on such an unfinished program. [2] Some of the claims made in the promotional literature InterFace had been handing out at IJCAI 83 were false (there was no IBM PC version, for example), and others were true only if you re-interpreted them. What I have in mind here is the claimed garbage collection (no, only 'trimcore', IF Prolog *when I saw it* did not garbage collect the stacks) and tail recursion optimisation (when I saw it this only applied to predicates with no arguments! and there was another restriction I've forgotten). [3] This is the real point: A blind baby couldn't have missed the fact that about 30 pages (I haven't the report by me, but it was no less than that) was essentially verbatim C-Prolog, with only minor editing. The part of C-Prolog which had been incorported into IF Prolog was I/O. There could have been some doubt about output, as there aren't all that many ways of coding "write", but fortunately they had preserved all the bugs intact. I have seen the following Prolog readers: Dec-10 Prolog, PDP-11 Prolog, C-Prolog, York Prolog, UNSW Prolog, Prolog-X, PopLog, Leuven Prolog, and MU-Prolog. Of these, only MU-Prolog's reader at all resembles C-Prolog's, the others are radically different. And MU-Prolog's author had the honesty to include the C-Prolog copyright notice in his program. I did not have the opportunity to benchmark IF Prolog, I was there long enough to read the sources and write my report and that was it. It is a tagged system, and the way it is done suggests to me that it may be inherently slower than C-Prolog. And C-Prolog in turn is slower than the current versions of Prolog-X and Poplog. A serious lack in IF Prolog is that they didn't support term comparison (and from the promotional literature ... my left hand is on it again ... they still don't) so they haven't got setof or bagof. (By the way, PopLog hasn't got term comparison either, but it HAS got setof.) They do have findall, but anyone with the Clocksin & Mellish book. Well, given that an independent judge (I have had a very great deal to do with C-Prolog, but I don't get a penny on its sales) had ruled that there was enough of C-Prolog in IF Prolog for them to be in violation of the terms of the academic licence, but that there was a lot that was original, and given that said independent judge said he thought they ought to come to terms with EdCAAD, who were principally after recognition and weren't intending to demand much in the way of royalities, you'd think that they would either try to discredit my report or else that they'd start talking to EdCAAD. Unfortunately, EdCAAD had been unwise enough to include a copy of a commerical licence form in their letter to Springer. So InterFace are suing EdCAAD for "unfair competition"! And they're using an unauthorised extract from a report which politely pointed out what wasn't ripped off and what WAS in their sales material! THAT'S CHUTZPAH! Richard A. O'Keefe.
andrewt@basser.SUN (Andrew Taylor) (03/08/84)
Proprietory reasons aside I think copying the code of C-Prolog is very unwise. C-Prolog design is good but the implementation is very crook. Andrew Taylor ...!decvax!mulga!andrewt:basservax
shee@aloha1.UUCP (shee) (10/24/86)
We have if/prolog version 3.0 on unix operating system on HP-9000 machine. We are looking for ways to increase the memory capacity of if/prolog so that there is no stack overflow for our knowledge_based ai programs.