Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Future directions in program transformations
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Future directions in program transformation
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
The TAMPR program transformation system: simplifying the development of numerical software
Modern software tools for scientific computing
Advanced compiler design and implementation
Advanced compiler design and implementation
Building program optimizers with rewriting strategies
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Implicit parameters: dynamic scoping with static types
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Software—Practice & Experience
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Systematic design of program transformation frameworks by abstract interpretation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Composing dataflow analyses and transformations
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Meta-programming with Concrete Object Syntax
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Rewriting Strategies for Instruction Selection
RTA '02 Proceedings of the 13th International Conference on Rewriting Techniques and Applications
A Metalanguage for Programming with Bound Names Modulo Renaming
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Term rewriting with traversal functions
ACM Transactions on Software Engineering and Methodology (TOSEM)
FreshML: programming with binders made simple
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Secrets of the Glasgow Haskell Compiler inliner
Journal of Functional Programming
Shrinking lambda expressions in linear time
Journal of Functional Programming
Modern Compiler Implementation in ML
Modern Compiler Implementation in ML
A survey of strategies in rule-based program transformation systems
Journal of Symbolic Computation
CC'05 Proceedings of the 14th international conference on Compiler Construction
Specification of rewriting strategies
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
A generic recursion toolbox for Haskell or: scrap your boilerplate systematically
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Jeannie: granting java native interface developers their wishes
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Designing Syntax Embeddings and Assimilations for Language Libraries
Models in Software Engineering
Code Generation by Model Transformation
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
WebDSL: A Case Study in Domain-Specific Language Engineering
Generative and Transformational Techniques in Software Engineering II
A Haskell Hosted DSL for Writing Transformation Systems
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Semantics Driven Disambiguation: A Comparison of Different Approaches
Electronic Notes in Theoretical Computer Science (ENTCS)
Mumbo: A Rule-Based Implementation of a Run-time Program Generation Language
Electronic Notes in Theoretical Computer Science (ENTCS)
The spoofax language workbench: rules for declarative specification of languages and IDEs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Static consistency checking of web applications with WebDSL
Journal of Symbolic Computation
A comparison of configuration techniques for model transformations
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
Hi-index | 0.00 |
The applicability of term rewriting to program transformation is limited by the lack of control over rule application and by the context-free nature of rewrite rules. The first problem is addressed by languages supporting user-definable rewriting strategies. The second problem is addressed by the extension of rewriting strategies with scoped dynamic rewrite rules. Dynamic rules are defined at run-time and can access variables available from their definition context. Rules defined within a rule scope are automatically retracted at the end of that scope. In this paper, we explore the design space of dynamic rules, and their application to transformation problems. The technique is formally defined by extending the operational semantics underlying the program transformation language Stratego, and illustrated by means of several program transformations in Stratego, including constant propagation, bound variable renaming, dead code elimination, function inlining, and function specialization.