|
ABSTRACT
We propose a method for detecting the generation of garbage cells by analyzing a source text written in a functional programming language which uses ordinary linked lists to implement list-type values. For a subexpression such as F(G( . . . )) in a program where the function values of F and G are of list type, if a cell c is created during the computation of G and if c does not appear in a list-type value of F, then c becomes a garbage cell at the end of the computation of F. We discuss this problem on the basis of formal languages derived from the functional program text and show some sufficient conditions that predict the generation of garbage cells. Also, we give an efficient algorithm to detect at compile time the generation of garbage cells which are linearly linked. We have implemented these algorithms in an experimental LISP system. By executing several sample programs on the system, we conclude that our method is effective in detecting the generation of garbage cells.
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
|
CLARK, D. W., ANO GREEN, C.C. A note on shared list structure in LISP. In{. Process. Lett. 7, 6 (Oct. 1987), 312-315.
|
 |
5
|
|
 |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
INOUE, K., SEKI, H., AND YAGI, H. A method to detect unused list cells at compile time of functional program. In Papers of Technical Group on Automata and Languages (Tokyo, July 1985), The Institute of Electronics and Communications Engineers of Japan, AL85-26, pp. 45-54.
|
| |
10
|
INOUE, g., SEKI, H., TANIGUCHI, K., AND KASAMI, T. Compiling and optimizing methods for functional language ASL/F. Sci. Comput. Program. 7, 3 (Nov. 1986), 297-312.
|
 |
11
|
|
| |
12
|
|
| |
13
|
MYCROFT, A. Abstract interpretations and optimising transformations for applicative programs. Ph.D. dissertation, University of Edinburgh, Scotland, 1981.
|
| |
14
|
SEKI, H., INOUE, K., TANIGUCHI, K., AND KASAMI, T. Optimization of functional language ASL/F programs. Trans. o{IECE Japan. J67-D, 10 (Oct. 1984), 1115-1122.
|
| |
15
|
TAKEUCHI, I. The result of the Lisp contest. Tech. Rep. SYM5-3. Information Processing Society of Japan, Aug. 1978, pp. 1-28.
|
|