Automatic binding time analysis for a typed &lgr;-calculus
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A collecting interpretation of expressions
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Binding time analysis for high order untyped functional languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Partial type inference for untyped functional programs
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Automatic autoprojection of higher order recursive equations
Proceedings of the third European symposium on programming on ESOP '90
Replacing function parameters by global variables
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Efficient type inference for higher-order binding-time analysis
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Automatic autoprojection of higher order recursive equations
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
A tour of Schism: a partial evaluation system for higher-order applicative languages
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Data flow analysis of applicative programs using minimal function graphs
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
New Insights into Partial Evaluation: the SCHISM Experiment
ESOP '88 Proceedings of the 2nd European Symposium on Programming
Binding Time Analysis for Polymorphically Typed Higher Order Languages
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
A tour of Schism: a partial evaluation system for higher-order applicative languages
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Continuation-based partial evaluation
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
An equational framework for the flow analysis of higher order functional programs
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Fixpoint computation for polyvariant static analyses of higher-order applicative programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A practical and flexible flow analysis for higher-order languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The effectiveness of flow analysis for inlining
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Implementing bit-addressing with specialization
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Accurate binding-time analysis for imperative languages: flow, context, and return sensitivity
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Declarative specialization of object-oriented programs
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A practical and flexible flow analysis for higher-order languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Hybrid Approach to Online and Offline Partial Evaluation
Higher-Order and Symbolic Computation
Search-based binding time analysis using type-directed pruning
ASIA-PEPM '02 Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
SAIG '00 Proceedings of the International Workshop on Semantics, Applications, and Implementation of Program Generation
Binding-Time Analysis in Partial Evaluation: One Size Does Not Fit All
PSI '99 Proceedings of the Third International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Offline partial evaluation can be as accurate as online partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inlining as staged computation
Journal of Functional Programming
Offline specialisation in Prolog using a hand-written compiler generator
Theory and Practice of Logic Programming
Polymorphic specialization for ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dynamic state restoration using versioning exceptions
Higher-Order and Symbolic Computation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
Binding-time analysis is a crucial component of an offline partial evaluator. The accuracy of the binding-time information that it produces determines the degree of specialization of programs.We present a binding-time analysis for applicative languages. This analysis is polyvariant and treats both higher-order functions and data structures. It handles typed as well as untyped programs. It has been implemented and is used in a partial evaluation system named Schism.The main contributions of this work can be summarized as follows.•Our analysis combines both a data flow and a control flow analyses. This key feature makes it possible to create different binding-time descriptions of a function (or a data structure) with respect to data flow information. Also, this approach yields more accurate control flow information than one that separates control flow and data flow analyses.•The degree of polyvariance achieved by our analysis is not fixed. In fact, the analysis is parameterized with respect to a function that defines the degree of polyvariance.•Untyped as well as typed programs are treated by our analysis. When available, type information is used to improve the accuracy of binding-time descriptions.