2012 · 11 citations · 16 references
ComputingComputer ScienceAlgorithmsCompilersProgramming LanguagesCompiler ConstructionControl-flow AnalysisData-flow AnalysisCompile-time OptimizationFirst-class Functions
The flat-closure model for the representation of first-class procedures is simple, safe-for-space, and efficient, allowing the values or locations of free variables to be accessed with a single memory indirect. It is a straightforward model for programmers to understand, allowing programmers to predict the worst-case behavior of their programs. This paper presents a set of optimizations that improve upon the flat-closure model along with an algorithm that implements them, and it shows that the optimizations together eliminate over 50% of run-time closure-creation and free-variable access overhead in practice, with insignificant compile-time overhead. The optimizations never add overhead and remain safe-for-space, thus preserving the benefits of the flat-closure model.
16
Depth-First Search and Linear Graph Algorithms
Robert E. Tarjan · SIAM Journal on Computing · 1972 · 6K citations
Jr. Guy L. Steele · DSpace@MIT (Massachusetts Institute of Technology) · 1978 · 404 citations · Full text
Revised <sup>6</sup> Report on the Algorithmic Language Scheme
Michael Sperber, R. Kent Dybvig, Matthew Flatt et al. · Journal of Functional Programming · 2009 · 325 citations · Full text
Control flow analysis in scheme
Olin Shivers · ACM SIGPLAN Notices · 1988 · 279 citations
David Kranz, Richard Kelsey, Jonathan Rees et al. · ACM SIGPLAN Notices · 2004 · 259 citations