Proc. of a conference on Functional programming languages and computer architecture
Fixing some space leaks with a garbage collector
Software—Practice & Experience
Analysis of functional programs to detect run-time garbage cells
ACM Transactions on Programming Languages and Systems (TOPLAS)
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Deciding ML typability is complete for deterministic exponential time
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lisp and Symbolic Computation
Compile-time garbage collection by sharing analysis
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Compilation of functional languages by program transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tag-free garbage collection for strongly typed programming languages
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Polymorphic type reconstruction for garbage collection without tags
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Compiler-directed type reconstruction for polymorphic languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Declaration-free type checking
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Garbage Collection of Linked Data Structures
ACM Computing Surveys (CSUR)
A nonrecursive list compacting algorithm
Communications of the ACM
An efficient machine-independent procedure for garbage collection in various list structures
Communications of the ACM
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
Dynamic Memory Management for Sequential Logic Programming Languages
IWMM '92 Proceedings of the International Workshop on Memory Management
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Simple garbage-collector-safety
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
A demand-driven set-based analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Garbage collection and local variable type-precision and liveness in Java virtual machines
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Type-based useless variable elimination
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Type-Based Useless-Variable Elimination
Higher-Order and Symbolic Computation
Compiling ML polymorphism with explicit layout bitmap
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Hi-index | 0.00 |
We present a method, adapted to polymorphically typed functional languages, to detect and collect more garbage than existing GCs. It can be applied to strict or lazy higher order languages and to several garbage collection schemes. Our GC exploits the information on utility of arguments provided by polymorphic types of functions. It is able to detect garbage that is still referenced from the stack and may collect useless parts of otherwise useful data structures. We show how to partially collect shared data structures and to extend the type system to infer more precise information. We also present hoe this technique can plug several common forms of space leaks.