Skip Navigation

Journal of Logic and Computation 1992 2(4):483-509; doi:10.1093/logcom/2.4.483
© 1992 by Oxford University Press
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by HUGHES, S.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?


Original Articles

Compile-Time Garbage Collection for Higher-Order Functional Languages

SIMON HUGHES

incare Dr C. L.Department of Computer Science, Imperial College of Science, Technology and Medicine 180 Queen's Gate, London SW7 2BZ, UK

Functional languages suffer from problems associated with inefficient use of store. In this paper we present a compile-time garbage collection optimization for a strict higher-order functional language to mitigate these problems. Compile-time garbage collection involves the determination, at compile-time, of points in a program's execution at which garbage collection will take place and of the parts of store to be garbage collected. Actual collection still takes place at run-time. The compile-time garbage collection optimization is validated by two static (compile-time) analyses. Generation analysis gives us sharing information about a given list while inheritance analysis essentially tells us which parts of lists evaluated during the application of a function are part of the result of the application.

Correctness of the analyses and optimizations is considered, using a denotational store semantics as a reference. We apply the analyses and optimizations to an example quicksort program and quantify the improvement. We find that the program is significantly improved to the extent that its consumption of store is optimal after optimization.


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.