The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Algebraic identities for program calculation
The Computer Journal - Special issue on Lazy functional programming
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Separating binding times in language specifications
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Automatic generation and use of abstract structure operators
ACM Transactions on Programming Languages and Systems (TOPLAS)
For a better support of static data flow
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Improving binding times without explicit CPS-conversion
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
ESOP'92 Symposium proceedings on 4th 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
Separating stages in the continuation-passing style transformation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Rippling: a heuristic for guiding inductive proofs
Artificial Intelligence
Proving Theorems about LISP Functions
Journal of the ACM (JACM)
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
The Use of Metasystem Transition in Theorem Proving and Program Optimization
Proceedings of the 7th Colloquium on Automata, Languages and Programming
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
A generic account of continuation-passing styles
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fixpoint computation for polyvariant static analyses of higher-order applicative programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proving properties of programs defined over recursive data structures
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Hi-index | 0.00 |
In this paper we show how partial evaluation can be used in developing proofs about program transformations. Partial evaluation is particularly appropriate for this task because it distinguishes between static and dynamic data. As a realistic example of this technique we prove a theorem arising in our earlier study of the CPS transformation. Our approach requires a partial evaluator that supports the following features: resugaring, partially-static structures, higher-order functions, polyvariance, and filters. In particular, we use Consel's partial evaluator Schism.