Nothing Special   »   [go: up one dir, main page]

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

A program development tool

Published: 26 January 1981 Publication 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.
[2]
Brown, M., Wood, S., A Display-oriented Program Editor, Yale.
[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.
[4]
Cheatham, T., Townley, J., Holloway, G., A System for Program Refinement, Aiken Computing Laboratory, TR-05-79, Aug. 1979.
[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.
[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.
[7]
Elzer, P. F., Some Observations concerning existing software environments, DARPA, May 1979.
[8]
Ghezzi, C., Mandrioli, D., Incremental Parsing, ACM Transactions on Programming Languages and Systems, Vol. 1, No. 1, July 1979, pages 58-70.
[9]
IBM Data Processing Division, LISP/370 Program Description/Operations Manual, Program Number 5796-PKL, SH20-2076-0, White Plains, New York, March, 1978.
[10]
Lederman, A., An Abstracted Bibliography on Programming Environments, personal communication, June 1980.
[11]
Reiser, J. F., Bail, a debugger for Sail, Stanford Artificial Intelligence Laboratory Memo AIM-270, Oct. 1975.
[12]
Teitelbaum, R. T., The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS, Cornell TR 79-370.
[13]
Wegman, M. N., Parsing for a Structural Editor, FOCS Oct. 1980.
[14]
Masinter, L. M., Global Program Analysis in an Interactive environment, SSL-80-1 XEROX, January 1980.
[15]
Teitelman, W. et al., Interlisp Reference Manual, Xerox PARC, Dec. 1978.
[16]
Mikelsons M. and Wegman M., PDE1L: the PL1L Program Development Environment -- Principles of Operation, IBM RC 8513, Yorktown Heights, New York, Nov. 1980.
[17]
Mikelsons M., Lispedit Command Descriptions, IBM RC 8275, Yorktown Heights, New York, May 1980.
[18]
Kruskal, V., An Editor for Parametric Programs, IBM RC 6070. Yorktown Heights, New York, June 1976.

Cited By

View all
  • (2017)Verifying efficient function calls in CakeMLProceedings of the ACM on Programming Languages10.1145/31102621:ICFP(1-27)Online publication date: 29-Aug-2017
  • (2017)Effect-driven QuickChecking of compilersProceedings of the ACM on Programming Languages10.1145/31102591:ICFP(1-23)Online publication date: 29-Aug-2017
  • (2017)Generic functional parallel algorithms: scan and FFTProceedings of the ACM on Programming Languages10.1145/31102511:ICFP(1-25)Online publication date: 29-Aug-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 January 1981

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

POPL '81 Paper Acceptance Rate 24 of 121 submissions, 20%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)90
  • Downloads (Last 6 weeks)13
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Verifying efficient function calls in CakeMLProceedings of the ACM on Programming Languages10.1145/31102621:ICFP(1-27)Online publication date: 29-Aug-2017
  • (2017)Effect-driven QuickChecking of compilersProceedings of the ACM on Programming Languages10.1145/31102591:ICFP(1-23)Online publication date: 29-Aug-2017
  • (2017)Generic functional parallel algorithms: scan and FFTProceedings of the ACM on Programming Languages10.1145/31102511:ICFP(1-25)Online publication date: 29-Aug-2017
  • (2017)A pretty but not greedy printer (functional pearl)Proceedings of the ACM on Programming Languages10.1145/31102501:ICFP(1-21)Online publication date: 29-Aug-2017
  • (2017)Scaling up functional programming education: under the hood of the OCaml MOOCProceedings of the ACM on Programming Languages10.1145/31102481:ICFP(1-25)Online publication date: 29-Aug-2017
  • (2016)Random Walk with Restart on Large Graphs Using Block EliminationACM Transactions on Database Systems10.1145/290173641:2(1-43)Online publication date: 11-May-2016
  • (2016)The Complexity of Learning Tree Patterns from Example GraphsACM Transactions on Database Systems10.1145/289049241:2(1-44)Online publication date: 11-May-2016
  • (2006)An approach toward profit-driven optimizationACM Transactions on Architecture and Code Optimization10.1145/1162690.11626913:3(231-262)Online publication date: 1-Sep-2006
  • (2005)Proedit — a screen oriented Prolog programming environmentLogic Programming '8510.1007/3-540-16479-0_10(100-107)Online publication date: 27-May-2005
  • (2000)Model-based design of interactive applicationsintelligence10.1145/355137.35831111:4(26-38)Online publication date: 1-Dec-2000
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media