The IFIP TC2/WG 2.1 Working Conference on Program specification and transformation
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Polyvariant binding-time analysis for applicative languages
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Topics in online partial evaluation
Topics in online partial evaluation
Continuation-based partial evaluation
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Polyvariant constructor specialisation
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Tempo: specializing systems applications and beyond
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Correctness of on-line partial evaluation for a Pascal-like language
Science of Computer Programming
Derivatives of Regular Expressions
Journal of the ACM (JACM)
Towards partially evaluating reflection in Java
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Java Virtual Machine Specification
Java Virtual Machine Specification
Partial Evaluation for Class-Based Object-Oriented Languages
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Automatic program specialization for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Opportunities for Online Partial Evaluation
Opportunities for Online Partial Evaluation
Specialization Scenarios: A Pragmatic Approach to Declaring Program Specialization
Higher-Order and Symbolic Computation
The JastAdd system — modular extensible compiler construction
Science of Computer Programming
ModelTalk: When Everything Is a Domain-Specific Language
IEEE Software
Turbo DiSL: partial evaluation for high-level bytecode instrumentation
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
PE-KeY: a partial evaluator for java programs
IFM'12 Proceedings of the 9th international conference on Integrated Formal Methods
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Hi-index | 0.00 |
Hybrid partial evaluation (HPE) is a pragmatic approach to partial evaluation that borrows ideas from both online and offline partial evaluation. HPE performs offline-style specialization using an online approach without static binding time analysis. The goal of HPE is to provide a practical and predictable level of optimization for programmers, with an implementation strategy that fits well within existing compilers or interpreters. HPE requires the programmer to specify where partial evaluation should be applied. It provides no termination guarantee and reports errors in situations that violate simple binding time rules, or have incorrect use of side effects in compile-time code. We formalize HPE for a small imperative object-oriented language and describe Civet, a straightforward implementation of HPE as a relatively simple extension of a Java compiler. Code optimized by Civet performs as well as the output of a state-of-the-art offline partial evaluator.