lagache@violet.berkeley.edu (Edouard Lagache) (09/29/87)
Well I am certainly glad that at least someone went to the trouble of
actually reading my PROLOG library code (on second thought, maybe it
would have been better otherwise ....)
To be quite honest, I thought that nit-pickers were only to be found in
model railroading and other "precision" hobbies, but I guess the PROLOG
net has its own set, and regrettably, I didn't put a "no nit-picking"
sign on my documentation.
So on to the nit-picks: First, the highly optimal code of Lee Naish
i.e.
merge([],[],[]).
merge(Head1.Tail1, Head2.Tail2, Head1.Head2.R) :-
merge(Tail1,Tail2,R).
does not run on the A.D.A. VML PROLOG interpreter. It complains about
finding "unexpected period on line 2". While I believe the dot
notation for cons cells is part of the original language specification,
it isn't mentioned in Clocksin and Mellish, and thus, is missing from
at least one PROLOG implementation.
As to the complaints on '!,fail' clauses. I too am fully aware that
they are redundant. However, what a computer can easily deduce from
the code, may be difficult for humans to discern, particularly for
those new to PROLOG. While A.I. researchers seem determined to make
their code as cryptic as possible, the rest of the programming world is
still in the midst of a "readability revolution". Given the terseness
of some of the code touted as "improvements" over my work, it may be
time for some people on this net to go back and take a course in
structured Pascal!
Finally, there were a number of important comments that I will keep and
attempt to implement after I complete my Master's Thesis this fall. I
am not a PROLOG guru, and never claimed that I was. Nor was I aware of
what other sorts of public domain PROLOG libraries already existed.
My entire objective was to produce a clean, well documented package of
basic predicates in order to save other programmers from having to re-
invent the wheel. With the help of everyone on the net, these
libraries can be made optimal, and the documentation can be made both
more readable and accurate. However, unless people take a more
constructive and less antagonistic attitude toward contributions, not
only will these libraries die of neglect, but people will simply not
contribute valuable materials to avoid the grief that I have had the
pleasure of enduring!
Edouard Lagache
School of Education
U.C. Berkeley
lagache@violet.berkeley.edu