Lambda lifting: transforming programs to recursive equations
Proc. of a conference on Functional programming languages and computer architecture
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Specification and transformation of programs: a formal approach to software development
Specification and transformation of programs: a formal approach to software development
A notion of map between logic programs
Logic programming
Notions of computation and monads
Information and Computation
Action semantics
Composable attribute grammars: support for modularity in translator design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Modularity and reusability in attribute grammars
Acta Informatica
Rules and strategies for transforming functional and logic programs
ACM Computing Surveys (CSUR)
Automatic inheritance hierarchy restructuring and method refactoring
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Algebra of programming
Lambda-dropping: transforming recursive equations into programs with block structure
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
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
Lambda-dropping: transforming recursive equations into programs with block structure
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Preprocessors from an Abstract Point of View
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Typed Combinators for Generic Traversal
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Reuse by Program Transformation
SFP '99 Selected papers from the 1st Scottish Functional Programming Workshop (SFP99)
Folding: An Approach to Enable Program Understanding of Preprocessed Languages
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
A Strafunski Application Letter
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Tool support for refactoring functional programs
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
A technique for constructing aspect weavers using a program transformation engine
Proceedings of the 3rd international conference on Aspect-oriented software development
A language-independent approach to software maintenance using grammar adapters
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A language-independent approach to software maintenance using grammar adapters
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Static composition of refactorings
Science of Computer Programming - Special issue on program transformation
Architectural modifications to deployed software
Science of Computer Programming
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Scrap your nameplate: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Visual specification of measurements and redesigns for domain specific visual languages
Journal of Visual Languages and Computing
Generating Rewritable Abstract Syntax Trees
Software Language Engineering
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Source Code Rejuvenation Is Not Refactoring
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
Evolution Scenarios for Rule-Based Implementations of Language-Based Functionality
Electronic Notes in Theoretical Computer Science (ENTCS)
Specifying and implementing refactorings
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Towards an appropriate software refactoring tool support
ACS'09 Proceedings of the 9th WSEAS international conference on Applied computer science
Role-based generic model refactoring
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
A study of invasive composition for the evolution of a health information system
Proceedings of the 2nd international workshop on Variability & composition
Reusable model transformations
Software and Systems Modeling (SoSyM)
Changing programs correctly: refactoring with specifications
FM'06 Proceedings of the 14th international conference on Formal Methods
Metamodel adaptation and model co-adaptation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
A language generic solution for name binding preservation in refactorings
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Programming errors in traversal programs over structured data
Science of Computer Programming
On the reuse and recommendation of model refactoring specifications
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
We define a challenging and meaningful benchmark for genericity in language processing, namely the notion of generic program refactoring. We provide the first implementation of the benchmark based on functional strategic programming in Haskell. We use the basic refactoring of abstraction extraction as the running example. Our implementation comes as a functional programming framework with hot spots for the language-specific ingredients for refactoring, e.g., means for abstraction construction and destruction, and recognisers for name analysis. The language-parametric framework can be instantiated for various, rather different languages, e.g., Java, Prolog, Haskell, or XML schema.