Affiliation:
1. Xerox Palo Alto Research Center, Palo Alto, CA
Abstract
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 systems view is 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.
Publisher
Association for Computing Machinery (ACM)
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. BIBLIOGRAPHY;The Handbook of Artificial Intelligence;1982
2. Discrete backtracking converters;Cybernetics;1979-11
3. SLP: A paged processor for compact lists;Software: Practice and Experience;1978-05
4. Pascal in LCF: Semantics and examples of proof;Theoretical Computer Science;1977-10
5. An application of coroutines and backtracking in interactive systems;International Journal of Computer & Information Sciences;1976-12