skip to main content
10.1145/567532.567543acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

A program development tool

Authors Info & Claims
Published:26 January 1981Publication History

ABSTRACT

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.

References

  1. Austermuhl, B., Henhapl, W., Kron, H., Lutze, R., On a Programming Environment and its Generation, University at Darmstadt, Germany, Pu1R2/79.Google ScholarGoogle Scholar
  2. Brown, M., Wood, S., A Display-oriented Program Editor, Yale.Google ScholarGoogle Scholar
  3. Budd, T. A., DeMillo, R. A., Lipton, R. J., and Sayward, F. G., Theoretical and empirical studies on using program mutation to test the functional correctness of programs, Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada, January, 1980, pp. 234-244. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cheatham, T., Townley, J., Holloway, G., A System for Program Refinement, Aiken Computing Laboratory, TR-05-79, Aug. 1979.Google ScholarGoogle Scholar
  5. Dolotta, T. A., Haight, R. C. and Mashey, J. R., The Programmer's Workbench, The Bell System Technical Journal Vol. 57, No. 6 Part 2, July-Aug. 1978.Google ScholarGoogle Scholar
  6. Donzeau-Gouge, V., Huet, G., Kahn, G., Lang, B., Levy, J. J., "A Structure Oriented Program Editor: A first step toward computer assisted Programming", in International Computing Symposium, 1975 North Holland Publishing Company, 1975, pp.113-120.Google ScholarGoogle Scholar
  7. Elzer, P. F., Some Observations concerning existing software environments, DARPA, May 1979.Google ScholarGoogle Scholar
  8. Ghezzi, C., Mandrioli, D., Incremental Parsing, ACM Transactions on Programming Languages and Systems, Vol. 1, No. 1, July 1979, pages 58-70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. IBM Data Processing Division, LISP/370 Program Description/Operations Manual, Program Number 5796-PKL, SH20-2076-0, White Plains, New York, March, 1978.Google ScholarGoogle Scholar
  10. Lederman, A., An Abstracted Bibliography on Programming Environments, personal communication, June 1980.Google ScholarGoogle Scholar
  11. Reiser, J. F., Bail, a debugger for Sail, Stanford Artificial Intelligence Laboratory Memo AIM-270, Oct. 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Teitelbaum, R. T., The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS, Cornell TR 79-370. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Wegman, M. N., Parsing for a Structural Editor, FOCS Oct. 1980.Google ScholarGoogle Scholar
  14. Masinter, L. M., Global Program Analysis in an Interactive environment, SSL-80-1 XEROX, January 1980.Google ScholarGoogle Scholar
  15. Teitelman, W. et al., Interlisp Reference Manual, Xerox PARC, Dec. 1978.Google ScholarGoogle Scholar
  16. Mikelsons M. and Wegman M., PDE1L: the PL1L Program Development Environment -- Principles of Operation, IBM RC 8513, Yorktown Heights, New York, Nov. 1980.Google ScholarGoogle Scholar
  17. Mikelsons M., Lispedit Command Descriptions, IBM RC 8275, Yorktown Heights, New York, May 1980.Google ScholarGoogle Scholar
  18. Kruskal, V., An Editor for Parametric Programs, IBM RC 6070. Yorktown Heights, New York, June 1976.Google ScholarGoogle Scholar
  1. A program development tool

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          POPL '81: Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
          January 1981
          230 pages
          ISBN:089791029X
          DOI:10.1145/567532

          Copyright © 1981 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 26 January 1981

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          POPL '81 Paper Acceptance Rate24of121submissions,20%Overall Acceptance Rate824of4,130submissions,20%

          Upcoming Conference

          POPL '25

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader