ACM Home Page
Please provide us with feedback. Feedback
Analysis of functional programs to detect run-time garbage cells
Full text PdfPdf (1.78 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 10 ,  Issue 4  (October 1988) table of contents
Pages: 555 - 578  
Year of Publication: 1988
ISSN:0164-0925
Authors
Katsuro Inoue  Univ. of Hawaii, Manoa, Honolulu
Hiroyuki Seki  Osaka Univ., Osaka, Japan
Hikaru Yagi  Osaka Univ., Osaka, Japan
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 31,   Citation Count: 17
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/48022.48025
What is a DOI?

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.

CITED BY  17

Collaborative Colleagues:
Katsuro Inoue: colleagues
Hiroyuki Seki: colleagues
Hikaru Yagi: colleagues