[comp.lang.prolog] Query on Terminology

coleman@oahu.cs.ucla.edu (Michael Coleman) (03/06/90)

In article <222@ra.abo.fi> jan@ra.abo.fi (Niklas Sjostrom) writes:
-Partial deduction, previously called partial evaluation in logic, 
[...]

Perhaps I'm out of line here, but isn't partial deduction just another name
for partial evaluation?  If so, there would seem to be a precedent for
preferring the term partial evaluation, as there has already been at least one
event so titled ("Workshop on Partial Evaluation and Mixed Computation",
1987).

If this is correct, I'd like to respectfully suggest that partial evaluation
be preferred, since this subject already has one alias (mixed evaluation), and
a second would make searching the literature even more difficult.

Perhaps others can correct me or offer other opinions.

--Mike

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
try.            %% "When at first you 
try :- try.     %%  don't succeed, ..."                  (coleman@cs.ucla.edu)

jan@ra.abo.fi (Jan Komorowski IB) (03/06/90)

First a smaller correction.  The fellow who installed the news on our
machine manage to leave his imprint (.name) so that every message is
signed with his name.  The reminder message on the special issue which
referred to was actually posted by me, i.e., Jan Komorowski.  My apology
for the mishap.

Your query is interesting in that it suggests that there may be more
people confused. I am taking this opportunity to explain why I
introduced the term partial deduction.

1.  In logic programming it is difficult to speak about evaluation
except for the so called evaluable predicates as, for instance, in
Prolog.  The operational semantics of logic programming is based on
DEDUCTIONS.  Therefore it is much more natural to use the term partial
deduction.  It also has a broader aspect applicable to all deductive
systems.

2.  Mixed computations was the term used by late Ershov, one of the
fathers of the field, and in the context of imperative languages.  In
the functional programming community the term partial evaluation is
applied most often.  As the originator of partial evaluation in logic
programming I felt like correcting the situation and calling it
partial deduction for the reasons explained above.  Still, I would
agree that if you deal with the particulars of Prolog, say assert,
write, cut, then the appropriate name is partial evaluation of Prolog.

Your suggestion on terminology is well taken.  However, searching for
too general a term results in lots of items being retrieved.  It seems
that partial X will make the search more specific.  Literally, there
are now quite a few hundreds of articles in the entire field.

Jan Komorowski