|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
 |
3
|
|
| |
4
|
Burge, W.H. Recursive Programming Techniques. Addison- Wesley, Reading, Mass., 1975.
|
| |
5
|
|
 |
6
|
|
| |
7
|
Dijkstra, E.W. Recursive programming. In Programming Systems and Languages, S. Rosen, Ed., McGraw-Hill, New York, 1967.
|
 |
8
|
|
 |
9
|
|
 |
10
|
|
| |
11
|
Griswold, R.E. The SL5 programming language and its use for goal-directed programming. Proc. Fifth Texas Conf. on Comptng. Syst., Oct. 1976, pp. 1-5.
|
 |
12
|
|
| |
13
|
|
| |
14
|
Hanson, D.R. Data structures in SL5. To appear in J. Computer Languages.
|
| |
15
|
Hanson, D.R. Filters in SL5. To appear in Computer J.
|
 |
16
|
|
| |
17
|
Kiviat, P.J., Villanueva, R., and Markowitz, H.M. The SIMSCR1PT 11 Programming Language. Prentice-Hall, Englewood Cliffs, N.J., 1968.
|
| |
18
|
|
| |
19
|
Mcllroy, M.D. Coroutines. Tech. Rep., Bell Labs., Murray Hill, N.J., May 1968.
|
| |
20
|
Melli, L.F. The 2.Pak language primitives for AI applications. M.S. Th., Dept. Comptr. Sci., U. of Toronto, Toronto, Canada, Dec. 1974.
|
 |
21
|
|
 |
22
|
Charles J. Prenner , Jay M. Spitzen , Ben Wegbreit, An implementation of backtracking for programming languages, Proceedings of the ACM annual conference, p.763-771, August 01-01, 1972, Boston, Massachusetts, United States
[doi> 10.1145/800194.805856]
|
 |
23
|
|
 |
24
|
|
| |
25
|
Sussman, G.J., and McDermott, D.V. From PLANNER to CONNIVER--a genetic approach. Proc. AFIPS 1972 FJCC, Vol. 41, AFIPS Press, Montvale, N.J., pp. i 171-1179.
|
| |
26
|
|
| |
27
|
Wegbreit, B., et al. ECL programmer's manual. Ctr. Res. Comptg. Tech., Harvard U., Cambridge, Mass., 1970.
|
 |
28
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.3
Language Constructs and Features
Subjects:
Procedures, functions, and subroutines
Additional Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.4
Processors
Subjects:
Interpreters
I.
Computing Methodologies
I.2
ARTIFICIAL INTELLIGENCE
I.2.8
Problem Solving, Control Methods, and Search
Subjects:
Backtracking
General Terms:
Design,
Languages,
Performance,
Theory
Keywords:
SNOBOL4,
backtracking,
coroutines,
interpreters,
procedures,
programming languages
|