Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Improving binding times without explicit CPS-conversion
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional 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
Parameterized partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fixpoint computation for polyvariant static analyses of higher-order applicative programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Optimizing ML with run-time code generation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
C: a language for high-level, efficient, and machine-independent dynamic code generation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A position paper on compile-time program analysis
ACM SIGPLAN Notices
A framework for application generator design
Proceedings of the 1997 symposium on Software reusability
Multi-stage programming with explicit annotations
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
Accurate binding-time analysis for imperative languages: flow, context, and return sensitivity
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
DyC: an expressive annotation-directed dynamic compiler for C
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
The benefits and costs of DyC's run-time optimizations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specialization tools and techniques for systematic optimization of system software
ACM Transactions on Computer Systems (TOCS)
Cost recurrences for DML programs
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Efficient Implementations of Software Architectures via Partial Evaluation
Automated Software Engineering
A Uniform Approach for Compile-Time and Run-Time Specialization
Selected Papers from the Internaltional Seminar on Partial Evaluation
Fast, Optimized Sun RPC Using Automatic Program Specialization
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Efficient RMI: Dynamic Specialization of Object Serialization
ICDCS '00 Proceedings of the The 20th International Conference on Distributed Computing Systems ( ICDCS 2000)
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
Declarative specialization for object-oriented-program specialization
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Partial evaluation is a program-transformation technique that automatically specializes a program with respect to user-supplied invariants. Despite successful applications in areas such as graphics, operating systems, and software engineering, partial evaluators have yet to achieve widespread use. One reason is the difficulty of adequately describing specialization opportunities. Indeed, under-specialization or over-specialization often occurs, without any direct feedback to the user as to the source of the problem.We have developed a high-level, module-based language allowing the programmer to guide the choice of both the code to specialize and the invariants to exploit during the specialization process. To ease the use of partial evaluation, the syntax of this language is similar to the declaration syntax of the target language of the partial evaluator. To provide feedback to the programmer, declarations are checked throughout the analyses performed by partial evaluation. The language has been successfully used by a signal-processing expert in the design of a specializable Forward Error Correction component.