Unlicensed-7-PDF221-222_lips leangue programming

advertisement
(i) Although perhaps too inefficient to be a final solution, LISP is still a very useful language with which to illustrate the features of a new concept of algorithm representation.
It is especially easy to use LISP to design an interpreter for
a language similar to, but different in significant ways from,
LISP itself.
(ii) The program described in this paper is quite limited
with regard to its implementation of both LISP and the incremental computer. If a more complete experimental system were
desired, the present system could easily be extended in any of
several directions. For example, in LISP, allowance could be
made for the use of functions defined by machine-language subroutines, and the use of special forms. In the incremental computer, threshold conditions could be inserted to allow partial
evaluation and simplification of conditional expressions.
(iii) Replacing .alJ
bound variables by new symbols is too
brutal a solution to the "conflict" problem; the resulting expressions become quite unreadable. Bound variables frequently
have mnemonic significance, and therefore should not be changed
unless absolutely necessary. A more sophisticated program would
identify those symbols which actually caused a conflict, and then
perhaps replace each offending symbol with one whose spelling is
different but similar.
(iv) When a function of an indefinite argument is evaluated,
the form in the argument is substituted for each occurrence of
a variable in the form in the function definition. Similarly,
when a function has omitted arguments, those arguments which
were net omitted are each evaluated and substituted for each
occurrence of variables in the form in the function definition.
In the interest of saving computer space, we must be sure that
what is substituted is a reference to an expression, not a copy
of the expression. In the interest of readability, perhaps the
print-outs should similarly contain references to repeated subexpressions, e.g., in the form of A-expressions, rather than
fully-expanded expressions.
Bibl iographl
and B . Raphael:
Man-computer
information
systems,
l e c t u r e notes of a two week course
UCLA Physical Sciences Extension,
July 2030, 1964.
L. A . Lombardi: Zwei B e i t r a g e zur Morphologie und Syntax
d e k l a r a t i v e r Systernsprachen, Akten der
1962 Jahrestagung der Gesellschaft f ü r
angewandte Mathematik Mechanik (GAMM), Bonn
(1962); Z e i t s c h r . angew. Math. Mech. (42)
Sonderhef t. T27-T29.
: On t h e Control of t h e Data Flow by Means
of Recursive Functions,
Proc. Symp. "Symb o l i c Lanquages i n Data Processing",
International Computation Center, Roma,
Gordon
and Breach,
1962, 173-186.
: On Table Operatiny Alyorittims,
Proc. 2nd
IFIP Congress, Munchen (19621,
s e c t i o n 14.
: P r o s p e t t i v e per il c a l c o l o automatico,
S c i e n t i a ( i n I t a l i a n and French) S e r i e s I
V
(57) 2 and 3 (1963).
: Incremental data a s s i m i l a t i o n i n man-comput e r systems, Proc. 1 s t Congress of Associazione I t a l i a n a Calcolo Automatico (AICA),
Bologna, May 20-22,
1963 ( i n p r e s s ) .
D. G .
Bobrow and B. Raphael: A Comparison of List-processing
Cornputer Languages, Comm. ACM, expected
p u b l iThe
c a t Compatible
i o n April Time-Sharing
o r May,
1964.
MIT Computation Center:
System:
A Programmer's
Guide, MIT Press,
Cambridge,
Mass.,
1963.
A.
Church:
The C a l c u l i of Lambda-Conversion,
Princeton
University Press,
Princeton, N.J., 1941.
The computer-related science (synnoetics) a t a
L . Fein:
~ n i v e r s i tof~ t h e year 1975, American Scient i s t (49) (19611,
149-168; Datamation (7)
9 (19611,
34-41.
L.
A . Lombardi
Work reported herein was p a r t l y supported by P r o j e c t MAC,
an MIT research program sponsored by t h e Advanced Research
P r o j e c t s Agency, Department of Defense, under Office of
Naval Research Contract Number Nonr-4102(01).
Reproduction
i n whole or in p a r t i s permitted f o r any purpose of t h e
United S t a t e s Government.
Assoc. P r o f . of I n d u s t r i a l Management, MIT.
Research A s s i s t a n t , Mathematics Dept., MIT.
Download