Communications of the ACM · 1978 · 42 citations · 17 references
ComputingComputer ScienceCompilersProgramming LanguagesSyntaxData-flow AnalysisFunctional ProgrammingObject-oriented ProgrammingProgramming Language DesignProgramming Language ImplementationSoftware ConstructionActivationCall SemanticsObjectsOperational SemanticsRecursive Functions
This paper describes an integrated procedure mechanism that permits procedures to be used as recursive functions or as coroutines. This integration is accomplished by treating procedures and their activation records (called environments) as data objects and by decomposing procedure invocation into three separate components at the source-language level. In addition, argument binding is under the control of the programmer, permitting the definition of various methods of argument transmission in the source language itself. The resulting procedure mechanism, which is part of the SL5 programming language, is well suited to goal-oriented problems and to other problems that are more readily programmed by using coroutines. Several examples are given.
17
Olle Dahl, E. Dijkstra, C. A. R. Hoare · 1972 · 890 citations
Edsger W. Dijkstra · Communications of the ACM · 1972 · 706 citations · Full text
Management, Information Technology, Copyright Infringement +4
Definitional interpreters for higher-order programming languages
John Reynolds · 1972 · 668 citations
The SNOBOL 4 Programming Language
Henry Mullish, Paul Steier, Ralph E. Griswold et al. · Mathematics of Computation · 1970 · 233 citations