ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
BAIL: a debugger for SAIL.
Incremental data-flow analysis algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Lisp environment at IBM T J Watson Research
ACM SIGPLAN Lisp Pointers
A meta-language and system for nonlocal incremental attribute evaluation in language-based editors
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Experience with an uncommon Lisp
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Program Transformation Systems
ACM Computing Surveys (CSUR)
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
Incremental data flow analysis
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Non-syntactic attribute flow in language based editors
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The why and wherefore of the Cornell Program Synthesizer
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
Prettyprinting in an interactive programming environment
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
Interactive program execution in Lispedit
SIGSOFT '83 Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging
Preliminary experience from the dice system a distributed incremantal compiling environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Hi-index | 0.02 |
In this paper we describe how we have combined a number of tools (most of which understand a particular programming language) into a single system to aid in the reading, writing, and running of programs. We discuss the efficacy and the structure of our system. For the last two years the system has been used to build itself; it currently consists of 500 kilobytes of machine code (25,000 lines of LISP/370 code) and approximately one hundred commands with large numbers of options. We will describe some of the experience we have gained in evolving this system. We first indicate the system components which users have found most important; some of the tools described here are new in the literature. Second, we emphasize how these tools form a synergistic union, and we illustrate this point with a number of examples. Third, we illustrate the use of various system commands in the development of a simple program. Fourth, we discuss the implementation of the system components and indicate how some of them have been generalized.