Requirements for Advanced Programming Systems for List Processing

List processing systems should be designed to
facilitate production of large programs to manipulate 
large complex symbolic data stores.  This paper presents
an overview of a number of system features which 
the author feels are important to improve the productivity
of programmers working in such domains.  A 
system view it taken, rather than focusing just on language
features, since algorithms must be not only 
coded in a language form, but debugged, modified, made
efficient, and run on data.  Because of this general 
framework,the requirements specified are applicable
to the design of advanced programming systems for 
a wide range of applications.  Three aspects of programming
systems are highlighted: good interactive 
facilities, programmable control structures, and sophisticated
data communication mechanisms.  Interactive 
features are described to facilitate program composition,
entry, testing, debugging, editing, optimization, 
and packaging.  Implementation of a generalized environment
structure model specified would allow programming 
of various control regimes including multiprocesses,
coroutines and backtracking.  Alternative methods 
of procedure invocation required include invocation
by pattern and by monitoring condition.  The  need 
for extended data forms, storage management, and extensibility
are stressed, as is the duality of data 
retrieval and function evaluation.  Syntax directed
input and output of data would facilitate use of 
complex data stores.

CACM July, 1972

Bobrow, D. G.

list processing, programming languages, design of
programming languages, interactive systems, control 
structures, data structures, programming primitives,
semantics, advanced programming systems

1.3 4.2 4.22 4.3 4.32 5.23 5.24

CA720714 JB January 30, 1978  1:30 PM

1570	4	2314
1708	4	2314
1781	4	2314
1826	4	2314
1860	4	2314
1945	4	2314
2156	4	2314
2168	4	2314
2249	4	2314
2314	4	2314
2314	4	2314
2314	4	2314
2314	4	2314
2317	4	2314
2719	4	2314
2736	4	2314
2833	4	2314
2842	4	2314
1098	5	2314
1626	5	2314
2082	5	2314
2148	5	2314
2314	5	2314
2314	5	2314
2314	5	2314
2438	5	2314
1826	6	2314
2314	6	2314