operators. The analysis is abstract interpretation-based and is parameterized over two polyvariance operators and a projection operator. These operators are used to regulate the speed and accuracy of the analysis. An implementation of the analysis is incorporated into and used in a production Scheme compiler. The analysis can process any legal Scheme program without modification. Others have demonstrated that a 0CFA analysis can enable optimizations, but a 0CFA analysis is O(n3). An O(n) instantiation of our analysis successfully enables the optimization of closure representations and procedure calls. Experiments with the cheaper instantiation show that it is as effective as 0CFA for these optimizations. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors--Optimization General Terms: Algorithms, Design al Key Words and Phrases: abstract interpretation, higher-order languages
J. Michael Ashley