Communications of the ACM
TENEX, a paged time sharing system for the PDP - 10
Communications of the ACM
A nonrecursive list compacting algorithm
Communications of the ACM
Structure of a LISP system using two-level storage
Communications of the ACM
Compact list representation: definition, garbage collection, and system implementation
Communications of the ACM
A LISP garbage-collector for virtual-memory computer systems
Communications of the ACM
A LISP Garbage Collector Algorithm Using Serial Secondary Storage
A LISP Garbage Collector Algorithm Using Serial Secondary Storage
Matching program and data representations to a computing environment.
Matching program and data representations to a computing environment.
LISP 1.5 Programmer's Manual
Static grouping of small objects to enhance performance of a paged virtual memory
ACM Transactions on Computer Systems (TOCS)
An architecture for efficient Lisp list access
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
Automatic design and implementation of language data types
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Analysis of functional programs to detect run-time garbage cells
ACM Transactions on Programming Languages and Systems (TOPLAS)
Demonic memory for process histories
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Analysis of pointers and structures
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Effective “static-graph” reorganization to improve locality in garbage-collected systems
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Infant mortality and generational garbage collection
ACM SIGPLAN Notices
Generational garbage collection for Haskell
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Thermodynamics and garbage collection
ACM SIGPLAN Notices
The Boyer benchmark meets linear logic
ACM SIGPLAN Lisp Pointers
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Generational garbage collection and the radioactive decay model
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Garbage collecting the Internet: a survey of distributed garbage collection
ACM Computing Surveys (CSUR)
A semantic model of reference counting and its abstraction (detailed summary)
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Parallel garbage collection without synchronization overhead
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
An efficient LISP-execution architecture with a new representation for list structures
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
Garbage Collection of Linked Data Structures
ACM Computing Surveys (CSUR)
Morris's Garbage Compaction Algorithm Restores Reference Counts
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compact Encodings of List Structure
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compact Storage of Binary Trees
ACM Transactions on Programming Languages and Systems (TOPLAS)
List processing in real time on a serial computer
Communications of the ACM
A fast algorithm for copying list structures
Communications of the ACM
Shifting garbage collection overhead to compile time
Communications of the ACM
An efficient list-moving algorithm using constant workspace
Communications of the ACM
An efficient, incremental, automatic garbage collector
Communications of the ACM
Flow analysis and optimization of LISP-like structures
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Garbage Collection in a Distributed Object-Oriented System
IEEE Transactions on Knowledge and Data Engineering
A combinator-based compiler for a functional language
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Improved effectiveness from a real time LISP garbage collector
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Garbage collection and task deletion in distributed applicative processing systems
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Symbolic computing with and without LISP
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Address/memory management for a gigantic LISP environment or, GC considered harmful
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
ByteLisp and its Alto implementation
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Computer-aided micro-analysis of programs
ICSE '79 Proceedings of the 4th international conference on Software engineering
MBALM/1700: A microprogrammed LISP machine for the Burroughs B1726
MICRO 10 Proceedings of the 10th annual workshop on Microprogramming
Characterization of VAX Macsyma
SYMSAC '81 Proceedings of the fourth ACM symposium on Symbolic and algebraic computation
A tool for ownership and confinement analysis of the Java object graph
OOPSLA '02 Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Analysis of pointers and structures
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Scale-free geometry in OO programs
Communications of the ACM - Adaptive complex enterprises
Is a linked list the best storage structure for an algebra system?
ACM SIGSAM Bulletin
Understanding the shape of Java software
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Overview of garbage collection in symbolic computing
ACM SIGPLAN Lisp Pointers
Address/memory management for a gigantic LISP environment or, GC considered harmful
ACM SIGPLAN Lisp Pointers
ACM Transactions on Software Engineering and Methodology (TOSEM)
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Theory and Practice of Logic Programming - Prolog Systems
Aliasing in Object-Oriented Programming
Hi-index | 48.30 |
Static measurements of the list structure of five large Lisp programs are reported and analyzed in this paper. These measurements reveal substantial regularity, or predictability, among pointers to atoms and especially among pointers to lists. Pointers to atoms are found to obey, roughly, Zipf's law, which governs word frequencies in natural languages; pointers to lists usually point to a location physically nearby in memory. The use of such regularities in the space-efficient representation of list structure is discussed. Linearization of lists, whereby successive cdrs (or cars) are placed in consecutive memory locations whenever possible, greatly strengthens the observed regularity of list structure. It is shown that under some reasonable assumptions, the entropy or information content of a car-cdr pair in the programs measured is about 10 to 15 bits before linearization, and about 7 to 12 bits after.