Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
LISP 1.5 Programmer's Manual
Introduction to the programming language convert
ACM SIGPLAN Notices
Form and Content in Computer Science (1970 ACM turing lecture)
Journal of the ACM (JACM)
The programming languages REC and convert
ACM SIGPLAN Notices
REC/SM: a semi structured programming language
ACM-SE 18 Proceedings of the 18th annual Southeast regional conference
The file descriptor: Use of a descriptive tool to retrieve general queries to files
SIGDOC '84 Proceedings of the 3rd annual international conference on Systems documentation
Programming with(out) the GOTO
ACM '72 Proceedings of the ACM annual conference - Volume 2
The SDC Time-Sharing System revisited
ACM '67 Proceedings of the 1967 22nd national conference
An overview of nonprocedural languages
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Programming with(out) the GOTO
ACM SIGPLAN Notices - Special issue on control structures in programming languages
Encyclopedia of Computer Science
Form and content in computer science
ACM Turing award lectures
Decomposition of a visual scene into three-dimensional bodies
AFIPS '68 (Fall, part I) Proceedings of the December 9-11, 1968, fall joint computer conference, part I
Computer solution of calculus word problems
IJCAI'69 Proceedings of the 1st international joint conference on Artificial intelligence
The LISP70 pattern matching system
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Hi-index | 48.22 |
A programming language is described which is applicable to problems conveniently described by transformation rules. By this is meant that patterns may be prescribed, each being associated with a skeleton, so that a series of such pairs may be searched until a pattern is found which matches an expression to be transformed. The conditions for a match are governed by a code which also allows subexpressions to be identified and eventually substituted into the corresponding skeleton. The primitive patterns and primitive skeletons are described, as well as the principles which allow their elaboration into more complicated patterns and skeletons. The advantages of the language are that it allows one to apply transformation rules to lists and arrays as easily as strings, that both patterns and skeletons may be defined recursively, and that as a consequence programs may be stated quite concisely.