The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
Occam's Razor in Metacompuation: the Notion of a Perfect Process Tree
WSA '93 Proceedings of the Third International Workshop on Static Analysis
Metacomputation: Metasystem Transitions plus Supercompilation
Selected Papers from the Internaltional Seminar on Partial Evaluation
Normalization and Partial Evaluation
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Verification as a parameterized testing (experiments with the SCP4 supercompiler)
Programming and Computing Software
Distillation: extracting the essence of programs
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Supercompiler for Core Haskell
Implementation and Application of Functional Languages
Taming code explosion in supercompilation
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Multi-result supercompilation as branching growth of the penultimate level in metasystem transitions
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
Higher-level supercompilation as a metasystem transition
Programming and Computing Software
Hi-index | 0.00 |
One of the applications of supercompilation is proving properties of programs. We focus in this paper on a specific task: proving term equivalence for a higher-order lazy functional language. The “classical” way to prove equivalence of two terms t1 and t2 is to write an equality function equals and to simplify the term (equals t1 t2). However, this works only when certain conditions are met. The paper presents another approach to proving term equivalence by means of supercompilation. In this approach we supercompile both terms and compare supercompiled terms syntactically. Some applications of the technique are discussed. In particular, one of these applications may lead to the development of a more powerful “higher-level” supercompiler.