@article{WachsmuthKV14, title = {Language Design with the Spoofax Language Workbench}, author = {Guido Wachsmuth and Gabriël Konat and Eelco Visser}, year = {2014}, doi = {10.1109/MS.2014.100}, url = {http://dx.doi.org/10.1109/MS.2014.100}, researchr = {https://researchr.org/publication/WachsmuthKV14}, cites = {0}, citedby = {0}, journal = {IEEE Software}, volume = {31}, number = {5}, pages = {35-43}, } @inproceedings{DeursenV02, title = {{The Reengineering Wiki}}, author = {Arie van Deursen and Eelco Visser}, year = {2002}, doi = {10.1109/CSMR.2002.995808}, url = {https://doi.org/10.1109/CSMR.2002.995808}, tags = {rule-based, bibliography, reverse engineering, visitor, web engineering, wiki, annotated bibliography, reengineering, taxonomy}, researchr = {https://researchr.org/publication/DeursenV02}, cites = {0}, citedby = {0}, pages = {217-220}, booktitle = {6th European Conference on Software Maintenance and Reengineering (CSMR 2002), 11-13 March 2002, Budapest, Hungary, Proceedings}, publisher = {IEEE Computer Society}, isbn = {0-7695-1438-3}, } @inproceedings{JongeV11, title = {An Algorithm for Layout Preservation in Refactoring Transformations}, author = {Maartje de Jonge and Eelco Visser}, year = {2011}, doi = {10.1007/978-3-642-28830-2_3}, url = {http://dx.doi.org/10.1007/978-3-642-28830-2_3}, researchr = {https://researchr.org/publication/JongeV11}, cites = {0}, citedby = {0}, pages = {40-59}, booktitle = {Software Language Engineering - 4th International Conference, SLE 2011, Braga, Portugal, July 3-4, 2011, Revised Selected Papers}, editor = {Anthony M. Sloane and Uwe Aßmann}, volume = {6940}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-28829-6}, } @article{PoulsenRTKV18, title = {Intrinsically-typed definitional interpreters for imperative languages}, author = {Casper Bach Poulsen and Arjen Rouvoet and Andrew P. Tolmach and Robbert Krebbers and Eelco Visser}, year = {2018}, doi = {10.1145/3158104}, url = {http://doi.acm.org/10.1145/3158104}, tags = {Intrinsic-Verification}, researchr = {https://researchr.org/publication/PoulsenRTKV18}, cites = {0}, citedby = {0}, journal = {Proceedings of the ACM on Programming Languages}, volume = {2}, number = {POPL}, } @inproceedings{GroenewegenV08, title = {Declarative Access Control for {WebDSL}: Combining Language Integration and Separation of Concerns}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2008}, doi = {10.1109/ICWE.2008.15}, url = {http://dx.doi.org/10.1109/ICWE.2008.15}, tags = {WebDSL, semantics, rule-based, separation of concerns, transformation language, action semantics, language design, weaving, rules, web applications, DSL, abstraction, access control policies, access control, aspect weaving, design, role-based access control, systematic-approach, transformation, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenV08}, cites = {26}, citedby = {7}, pages = {175-188}, booktitle = {Proceedings of the Eighth International Conference on Web Engineering, ICWE 2008, 14-18 July 2008, Yorktown Heights, New York, USA}, editor = {Daniel Schwabe and Francisco Curbera and Paul Dantzig}, publisher = {IEEE}, isbn = {978-0-7695-3261-5}, } @mastersthesis{Visser93, title = {Combinatory Algebraic Specification \& Compilation of List Matching}, author = {Eelco Visser}, year = {1993}, month = {June}, tags = {SDF, graph transformation, transformation language, term rewriting, reuse, graph-rewriting, algebraic specification, transformation system, compiler, algebra, higher-order transformations, rewriting, ASF+SDF, transformation}, researchr = {https://researchr.org/publication/Visser93}, cites = {0}, citedby = {0}, school = {Department of Computer Science, University of Amsterdam}, address = {Amsterdam}, advisor = {Paul Klint}, } @article{Visser01-WRS, title = {A Survey of Strategies in Program Transformation Systems}, author = {Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00270-1}, url = {https://doi.org/10.1016/S1571-0661(04)00270-1}, tags = {programming languages, optimization, rule-based, transformation engineering, graph transformation, reverse engineering, refactoring, language engineering, transformation language, software language engineering, language design, strategies, graph-rewriting, survey, software engineering, rules, transformation system, rule-based refactoring, compiler, programming, program optimization, rewriting, design, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser01-WRS}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {57}, pages = {109-143}, } @book{DslEngineering2013, title = {{DSL} Engineering - Designing, Implementing and Using Domain-Specific Languages}, author = {Markus Völter and Sebastian Benz and Christian Dietrich and Birgit Engelmann and Mats Helander and Lennart C. L. Kats and Eelco Visser and Guido Wachsmuth}, year = {2013}, url = {http://www.dslbook.org}, researchr = {https://researchr.org/publication/DslEngineering2013}, cites = {0}, citedby = {0}, publisher = {dslbook.org}, isbn = {978-1-4812-1858-0}, } @inproceedings{FischerV03, title = {Adding Concrete Syntax to a {Prolog}-Based Program Synthesis System (Extended Abstract)}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25938-1_5}, url = {https://doi.org/10.1007/978-3-540-25938-1_5}, tags = {programming languages, model-to-model transformation, object-oriented programming, concrete object syntax, Prolog, rule-based, meta programming, AutoBayes, meta-model, abstract syntax, Stratego/XT, transformation language, source-to-source, transformation system, model transformation, programming, subject-oriented programming, Meta-Environment, systematic-approach, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/FischerV03}, cites = {0}, citedby = {0}, pages = {56-58}, booktitle = {Logic Based Program Synthesis and Transformation, 13th International Symposium LOPSTR 2003, Uppsala, Sweden, August 25-27, 2003, Revised Selected Papers}, editor = {Maurice Bruynooghe}, volume = {3018}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22174-3}, } @inproceedings{GroenewegenHKV08-DSM, title = {When Frameworks Let You Down. {P}latform-Imposed Constraints on the Design and Evolution of Domain-Specific Languages}, author = {Danny M. Groenewegen and Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, month = {October}, tags = {framework, optimization, WebDSL, application framework, domain analysis, analysis, language design, static analysis, constraints, reuse, software evolution, C++, DSL, abstraction, incremental, design, systematic-approach, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenHKV08-DSM}, cites = {0}, citedby = {2}, booktitle = {Proceedings of the 8th OOPSLA Workshop on Domain Specific Modelling (DSM'08)}, editor = {Jeffrey G. Gray and Jonathan Sprinkle and Juha-Pekka Tolvanen and Matti Rossi}, address = {Nashville, Tennessee, USA}, } @techreport{Visser97-CCG, title = {From Context-free Grammars with Priorities to Character Class Grammars}, author = {Eelco Visser}, year = {1997}, month = {October}, tags = {translation, transformation language, context-aware, parsing, transformation, grammar}, researchr = {https://researchr.org/publication/Visser97-CCG}, cites = {17}, citedby = {0}, institution = {Programming Research Group, University of Amsterdam}, type = {Technical Report}, number = {P9717}, address = {Amsterdam, The Netherlands}, } @techreport{ChasteletVisserAnslow2015preprint, title = {{Conf.Researchr.Org}: Towards a Domain-Specific Content Management System for Managing Large Conference Websites}, author = {Elmer van Chastelet and Eelco Visser and Craig Anslow}, year = {2015}, researchr = {https://researchr.org/publication/ChasteletVisserAnslow2015preprint}, cites = {0}, citedby = {0}, type = {Preprint}, } @inproceedings{Visser00, title = {Language Independent Traversals for Program Transformation}, author = {Eelco Visser}, year = {2000}, month = {July}, tags = {programming languages, rule-based, syntax definition, data-flow language, pattern language, generic programming, abstract syntax, traversal, transformation language, data-flow programming, data-flow, rules, C++, pattern matching, code generation, logic programming, compiler, programming, logic, higher-order transformations, systematic-approach, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser00}, cites = {0}, citedby = {0}, booktitle = {Workshop on Generic Programming (WGP 2000)}, address = {Ponte de Lima, Portugal}, publisher = {Technical Report UU-CS-2000-19, Department of Information and Computing Sciences, Universiteit Utrecht}, } @inproceedings{KatsSV09, title = {Decorated Attribute Grammars: Attribute Evaluation Meets Strategic Programming}, author = {Lennart C. L. Kats and Anthony M. Sloane and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-00722-4_11}, url = {http://dx.doi.org/10.1007/978-3-642-00722-4_11}, tags = {programming languages, rule-based, attribute grammars, program analysis, etaps, data-flow language, pattern language, generic programming, Stratego/XT, traversal, analysis, data-flow programming, data-flow, graph-rewriting, rules, C++, strategic programming, programming, rewriting, data-flow analysis, Aster, grammar, Stratego}, researchr = {https://researchr.org/publication/KatsSV09}, cites = {36}, citedby = {1}, pages = {142-157}, booktitle = {Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings}, editor = {Oege de Moor and Michael I. Schwartzbach}, volume = {5501}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00721-7}, } @inproceedings{AmorimSV17, title = {Deep priority conflicts in the wild: a pilot study}, author = {Luis Eduardo de Souza Amorim and Michael J. Steindorfer and Eelco Visser}, year = {2017}, doi = {10.1145/3136014.3136020}, url = {http://doi.acm.org/10.1145/3136014.3136020}, researchr = {https://researchr.org/publication/AmorimSV17}, cites = {0}, citedby = {0}, pages = {55-66}, booktitle = {Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, Vancouver, BC, Canada, October 23-24, 2017}, editor = {Benoît Combemale and Marjan Mernik and Bernhard Rumpe}, publisher = {ACM}, isbn = {978-1-4503-5525-4}, } @inproceedings{VeenHV18, title = {PixieDust: Declarative Incremental User Interface Rendering Through Static Dependency Tracking}, author = {Nick ten Veen and Daco Harkes and Eelco Visser}, year = {2018}, doi = {10.1145/3184558.3185978}, url = {http://doi.acm.org/10.1145/3184558.3185978}, researchr = {https://researchr.org/publication/VeenHV18}, cites = {0}, citedby = {0}, pages = {721-729}, booktitle = {Companion of the The Web Conference 2018 on The Web Conference 2018, WWW 2018, Lyon , France, April 23-27, 2018}, editor = {Pierre-Antoine Champin and Fabien L. Gandon and Mounia Lalmas and Panagiotis G. Ipeirotis}, publisher = {ACM}, } @techreport{preprint-BravenboerDV-SCP-2009, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2010}, month = {July}, tags = {programming languages, Java, generic programming, injection attack, XML, embedded software, XML Schema, SQL, programming, context-aware, systematic-approach, grammar, query language}, researchr = {https://researchr.org/publication/preprint-BravenboerDV-SCP-2009}, cites = {0}, citedby = {0}, type = {Preprint}, } @inproceedings{KatsV10a, title = {The {Spoofax} language workbench}, author = {Lennart C. L. Kats and Eelco Visser}, year = {2010}, doi = {10.1145/1869542.1869592}, url = {http://doi.acm.org/10.1145/1869542.1869592}, tags = {programming languages, workbench, syntax definition, meta programming, transformation language, C++, code generation, language workbench, Spoofax, Meta-Environment, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/KatsV10a}, cites = {0}, citedby = {0}, pages = {237-238}, booktitle = {Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, SPLASH/OOPSLA 2010, October 17-21, 2010, Reno/Tahoe, Nevada, USA}, editor = {William R. Cook and Siobhán Clarke and Martin C. Rinard}, publisher = {ACM}, isbn = {978-1-4503-0240-1}, } @techreport{WijngaardenV03, title = {Program Transformation Mechanics. A Classification of Mechanisms for Program Transformation with a Survey of Existing Transformation Systems}, author = {J. van Wijngaarden and Eelco Visser}, year = {2003}, tags = {classification, survey, transformation system, transformation, program transformation}, researchr = {https://researchr.org/publication/WijngaardenV03}, cites = {0}, citedby = {1}, institution = {Institute of Information and Computing Sciences, Utrecht University}, number = {UU-CS-2003-048}, address = {Utrecht, The Netherlands}, } @techreport{DeJongeVisser2012-TUD-SERG-2011-027, title = {An Algorithm for Layout Preservation in Refactoring Transformations}, author = {Maartje de Jonge and Eelco Visser}, year = {2011}, month = {August}, tags = {model-to-model transformation, rule-based, layout, abstract syntax, model refactoring, refactoring, points-to analysis, analysis, source-to-source, rules, rule-based refactoring, model transformation, context-aware, open-source, transformation}, researchr = {https://researchr.org/publication/DeJongeVisser2012-TUD-SERG-2011-027}, cites = {0}, citedby = {0}, institution = {Delft University of Technology}, number = {TUD-SERG-2011-027}, address = {Delft, The Netherlands}, } @article{DolstraV02, title = {Building Interpreters with Rewriting Strategies}, author = {Eelco Dolstra and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80427-4}, url = {https://doi.org/10.1016/S1571-0661(04)80427-4}, tags = {laziness, programming languages, optimization, semantics, rule-based, pattern language, dynamic rewrite rules, interpreter, Stratego/XT, dynamic rules, parallel programming, reuse, graph-rewriting, rules, pattern matching, programming, program optimization, rewriting, systematic-approach, rewriting strategies, interpreters, Stratego}, researchr = {https://researchr.org/publication/DolstraV02}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {65}, number = {3}, pages = {57-76}, } @inproceedings{KonatEV18, title = {Scalable incremental building with dynamic task dependencies}, author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser}, year = {2018}, doi = {10.1145/3238147.3238196}, url = {https://doi.org/10.1145/3238147.3238196}, researchr = {https://researchr.org/publication/KonatEV18}, cites = {0}, citedby = {0}, pages = {76-86}, booktitle = {Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering}, editor = {Marianne Huchard and Christian Kästner and Gordon Fraser}, publisher = {ACM}, } @techreport{JongeVV01-SEN, title = {Collaborative Software Development}, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, year = {2001}, month = {May}, researchr = {https://researchr.org/publication/JongeVV01-SEN}, cites = {0}, citedby = {0}, institution = {Software Engineering (SEN), CWI}, number = {SEN-R0113}, address = {Amsterdam}, } @inproceedings{KatsVV11a, title = {Testing domain-specific languages}, author = {Lennart C. L. Kats and Rob Vermaas and Eelco Visser}, year = {2011}, doi = {10.1145/2048147.2048160}, url = {http://doi.acm.org/10.1145/2048147.2048160}, researchr = {https://researchr.org/publication/KatsVV11a}, cites = {0}, citedby = {0}, pages = {25-26}, booktitle = {Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011}, editor = {Cristina Videira Lopes and Kathleen Fisher}, publisher = {ACM}, isbn = {978-1-4503-0942-4}, } @inproceedings{Visser05-SCAM, title = {Transformations for Abstractions}, author = {Eelco Visser}, year = {2005}, month = {October}, doi = {10.1109/SCAM.2005.26}, url = {http://dx.doi.org/10.1109/SCAM.2005.26}, tags = {programming languages, meta programming, case study, Stratego/XT, transformation language, extensible languages, programming, abstraction, Meta-Environment, extensible language, interpreters, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser05-SCAM}, cites = {0}, citedby = {1}, booktitle = {5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2005), 30 September - 1 October 2005, Budapest, Hungary}, publisher = {IEEE Computer Society}, isbn = {0-7695-2292-0}, } @inproceedings{KallebergV07, title = {Spoofax: An Interactive Development Environment for Program Transformation with Stratego/XT}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2007}, month = {March}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-018.pdf}, tags = {model-to-model transformation, meta programming, meta-model, model-driven development, model transformation, Spoofax, Meta-Environment, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/KallebergV07}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the Seventh Workshop on Language Descriptions, Tools and Applications (LDTA 2007)}, series = {Electronic Notes in Theoretical Computer Science}, address = {Braga, Portugal}, publisher = {Elsevier}, } @article{ErdwegSVTBCGH0L15, title = {Evaluating and comparing language workbenches: Existing results and benchmarks for the future}, author = {Sebastian Erdweg and Tijs van der Storm and Markus Völter and Laurence Tratt and Remi Bosman and William R. Cook and Albert Gerritsen and Angelo Hulshout and Steven Kelly and Alex Loh and Gabriël Konat and Pedro J. Molina and Martin Palatnik and Risto Pohjonen and Eugen Schindler and Klemens Schindler and Riccardo Solmi and Vlad A. Vergu and Eelco Visser and Kevin van der Vlist and Guido Wachsmuth and Jimi van der Woning}, year = {2015}, doi = {10.1016/j.cl.2015.08.007}, url = {http://dx.doi.org/10.1016/j.cl.2015.08.007}, researchr = {https://researchr.org/publication/ErdwegSVTBCGH0L15}, cites = {0}, citedby = {0}, journal = {Computer Languages, Systems \& Structures}, volume = {44}, pages = {24-47}, } @article{BravenboerKVV08, title = {{Stratego/XT 0.17}. {A} language and toolset for program transformation}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2008}, doi = {10.1016/j.scico.2007.11.003}, url = {http://dx.doi.org/10.1016/j.scico.2007.11.003}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, DSL, programming, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV08}, cites = {0}, citedby = {7}, journal = {Science of Computer Programming}, volume = {72}, number = {1-2}, pages = {52-70}, } @techreport{Visser97-SGLR, title = {Scannerless Generalized-{LR} Parsing}, author = {Eelco Visser}, year = {1997}, month = {July}, tags = {parsing algorithm, GLR parsing, rule-based, SDF, lexical syntax, disambiguation, GLR, analysis, rules, context-aware, parsing, scannerless parsing, systematic-approach, ASF+SDF, SGLR, grammar}, researchr = {https://researchr.org/publication/Visser97-SGLR}, cites = {0}, citedby = {6}, institution = {Programming Research Group, University of Amsterdam}, number = {P9707}, } @inproceedings{KonatKWV12, title = {Declarative Name Binding and Scope Rules}, author = {Gabriël Konat and Lennart C. L. Kats and Guido Wachsmuth and Eelco Visser}, year = {2012}, doi = {10.1007/978-3-642-36089-3_18}, url = {http://dx.doi.org/10.1007/978-3-642-36089-3_18}, researchr = {https://researchr.org/publication/KonatKWV12}, cites = {0}, citedby = {0}, pages = {311-331}, booktitle = {Software Language Engineering, 5th International Conference, SLE 2012, Dresden, Germany, September 26-28, 2012, Revised Selected Papers}, editor = {Krzysztof Czarnecki and Görel Hedin}, volume = {7745}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-36089-3}, } @inproceedings{VerguNV15, title = {DynSem: A {DSL} for Dynamic Semantics Specification}, author = {Vlad A. Vergu and Pierre Néron and Eelco Visser}, year = {2015}, doi = {10.4230/LIPIcs.RTA.2015.365}, url = {http://dx.doi.org/10.4230/LIPIcs.RTA.2015.365}, researchr = {https://researchr.org/publication/VerguNV15}, cites = {0}, citedby = {0}, pages = {365-378}, booktitle = {26th International Conference on Rewriting Techniques and Applications, RTA 2015, June 29 to July 1, 2015, Warsaw, Poland}, editor = {Maribel Fernández}, volume = {36}, series = {LIPIcs}, publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik}, isbn = {978-3-939897-85-9}, } @inproceedings{LuttikV97, title = {Specification of Rewriting Strategies}, author = {Bas Luttik and Eelco Visser}, year = {1997}, month = {November}, tags = {control systems, rule-based, case study, SDF, graph transformation, traversal, transformation language, term rewriting, composition, traversal combinators, graph-rewriting, rules, transformation system, rewriting, rewriting strategies, ASF+SDF, transformation, Stratego}, researchr = {https://researchr.org/publication/LuttikV97}, cites = {0}, citedby = {0}, booktitle = {2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997)}, editor = {M. P. A. Sellink}, series = {Electronic Workshops in Computing}, address = {Berlin}, publisher = {Springer-Verlag}, } @inproceedings{RestWSSV13, title = {Robust Real-Time Synchronization between Textual and Graphical Editors}, author = {Oskar van Rest and Guido Wachsmuth and Jim R. H. Steel and Jörn Guy Süß and Eelco Visser}, year = {2013}, doi = {10.1007/978-3-642-38883-5_11}, url = {http://dx.doi.org/10.1007/978-3-642-38883-5_11}, researchr = {https://researchr.org/publication/RestWSSV13}, cites = {0}, citedby = {0}, pages = {92-107}, booktitle = {Theory and Practice of Model Transformations - 6th International Conference, ICMT 2013, Budapest, Hungary, June 18-19, 2013. Proceedings}, editor = {Keith Duddy and Gerti Kappel}, volume = {7909}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-38882-8}, } @inproceedings{HemelV09, title = {{PIL}: A Platform Independent Language for Retargetable {DSLs}}, author = {Zef Hemel and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-12107-4_17}, url = {http://dx.doi.org/10.1007/978-3-642-12107-4_17}, tags = {DSL}, researchr = {https://researchr.org/publication/HemelV09}, cites = {0}, citedby = {1}, pages = {224-243}, booktitle = {Software Language Engineering, Second International Conference, SLE 2009}, editor = {Mark G. J. van den Brand and Dragan Gasevic and Jeffrey G. Gray}, volume = {5969}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-12106-7}, } @techreport{BravenboerV01, title = {Guiding visitors: separating navigation from computation}, author = {Martin Bravenboer and Eelco Visser}, year = {2001}, tags = {programming languages, object-oriented programming, rule-based, Java, meta programming, caching, pattern language, generic programming, traversal, visitor, reuse, e-science, programming, subject-oriented programming, Meta-Environment, systematic-approach, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/BravenboerV01}, cites = {0}, citedby = {0}, institution = {Department of Information and Computing Sciences, Utrecht University}, number = {UU-CS-2001-42}, } @article{KatsKV10, title = {Domain-Specific Languages for Composable Editor Plugins}, author = {Lennart C. L. Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2010}, doi = {10.1016/j.entcs.2010.08.038}, url = {http://dx.doi.org/10.1016/j.entcs.2010.08.038}, tags = {C++, domain-specific language}, researchr = {https://researchr.org/publication/KatsKV10}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {253}, number = {7}, pages = {149-163}, } @inproceedings{ErdwegSV13, title = {The State of the Art in Language Workbenches - Conclusions from the Language Workbench Challenge}, author = {Sebastian Erdweg and Tijs van der Storm and Markus Völter and Meinte Boersma and Remi Bosman and William R. Cook and Albert Gerritsen and Angelo Hulshout and Steven Kelly and Alex Loh and Gabriël Konat and Pedro J. Molina and Martin Palatnik and Risto Pohjonen and Eugen Schindler and Klemens Schindler and Riccardo Solmi and Vlad A. Vergu and Eelco Visser and Kevin van der Vlist and Guido Wachsmuth and Jimi van der Woning}, year = {2013}, doi = {10.1007/978-3-319-02654-1_11}, url = {http://dx.doi.org/10.1007/978-3-319-02654-1_11}, researchr = {https://researchr.org/publication/ErdwegSV13}, cites = {0}, citedby = {0}, pages = {197-217}, booktitle = {Software Language Engineering - 6th International Conference, SLE 2013, Indianapolis, IN, USA, October 26-28, 2013. Proceedings}, editor = {Martin Erwig and Richard F. Paige and Eric {Van Wyk}}, volume = {8225}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-319-02653-4}, } @article{HarkesV17-ART, title = {IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition (Artifact)}, author = {Daco Harkes and Eelco Visser}, year = {2017}, doi = {10.4230/DARTS.3.2.1}, url = {https://doi.org/10.4230/DARTS.3.2.1}, researchr = {https://researchr.org/publication/HarkesV17-ART}, cites = {0}, citedby = {0}, journal = {DARTS}, volume = {3}, number = {2}, } @inproceedings{FischerV04-dagstuhl, title = {Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_14}, url = {https://doi.org/10.1007/978-3-540-25935-0_14}, tags = {programming languages, object-oriented programming, concrete object syntax, Prolog, rule-based, program analysis, meta programming, data-flow language, generic programming, program synthesis, AutoBayes, SDF, meta-model, XML, abstract syntax, XML Schema, Stratego/XT, analysis, constraints, data-flow programming, data-flow, migration, code generation, language embedding, programming, subject-oriented programming, Meta-Environment, data-flow analysis, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, Stratego}, researchr = {https://researchr.org/publication/FischerV04-dagstuhl}, cites = {0}, citedby = {0}, pages = {239-253}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @techreport{KallebergV05, title = {Combining Aspect-Oriented and Strategic Programming}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2005}, month = {August}, researchr = {https://researchr.org/publication/KallebergV05}, cites = {0}, citedby = {0}, institution = {Department of Information and Computing Sciences. Universiteit Utrecht}, number = {UU-CS-2005-030}, } @article{RamalingamV11, title = {Special issue on Partial Evaluation and Program Manipulation (selected papers from PEPM 2007)}, author = {Ganesan Ramalingam and Eelco Visser}, year = {2011}, month = {June}, doi = {10.1016/j.scico.2011.01.001}, url = {http://dx.doi.org/10.1016/j.scico.2011.01.001}, tags = {partial evaluation}, researchr = {https://researchr.org/publication/RamalingamV11}, cites = {0}, citedby = {0}, journal = {Science of Computer Programming}, volume = {76}, number = {6}, pages = {467-468}, } @inproceedings{ErdwegVMV14, title = {Modular specification and dynamic enforcement of syntactic language constraints when generating code}, author = {Sebastian Erdweg and Vlad A. Vergu and Mira Mezini and Eelco Visser}, year = {2014}, doi = {10.1145/2577080.2577089}, url = {http://doi.acm.org/10.1145/2577080.2577089}, researchr = {https://researchr.org/publication/ErdwegVMV14}, cites = {0}, citedby = {0}, pages = {241-252}, booktitle = {13th International Conference on Modularity, MODULARITY '14, Lugano, Switzerland, April 22-26, 2014}, editor = {Walter Binder and Erik Ernst and Achille Peternier and Robert Hirschfeld}, publisher = {ACM}, isbn = {978-1-4503-2772-5}, } @inproceedings{HemelV11, title = {Declaratively programming the mobile web with {Mobl}}, author = {Zef Hemel and Eelco Visser}, year = {2011}, doi = {10.1145/2048066.2048121}, url = {http://doi.acm.org/10.1145/2048066.2048121}, researchr = {https://researchr.org/publication/HemelV11}, cites = {0}, citedby = {0}, pages = {695-712}, booktitle = {Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011}, editor = {Cristina Videira Lopes and Kathleen Fisher}, publisher = {ACM}, isbn = {978-1-4503-0940-0}, } @inproceedings{OlmosV03, title = {Turning Dynamic Typing into Static Typing by Program Specialization in a Compiler Front-end for {Octave}}, author = {Karina Olmos and Eelco Visser}, year = {2003}, doi = {10.1109/SCAM.2003.1238040}, url = {https://doi.org/10.1109/SCAM.2003.1238040}, tags = {programming languages, type inference, dynamic typing, interpreter, Stratego/XT, transformation language, Octave, language design, type system, type checking, transformation system, compiler, higher-order transformations, program specialization, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/OlmosV03}, cites = {0}, citedby = {0}, pages = {141-150}, booktitle = {3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands}, publisher = {IEEE Computer Society}, isbn = {0-7695-2005-7}, } @article{RouvoetKV21, title = {Intrinsically typed compilation with nameless labels}, author = {Arjen Rouvoet and Robbert Krebbers and Eelco Visser}, year = {2021}, doi = {10.1145/3434303}, url = {https://doi.org/10.1145/3434303}, tags = {Intrinsic-Verification}, researchr = {https://researchr.org/publication/RouvoetKV21}, cites = {0}, citedby = {0}, journal = {Proceedings of the ACM on Programming Languages}, volume = {5}, number = {POPL}, pages = {1-28}, } @article{SloaneKV10, title = {A Pure Object-Oriented Embedding of Attribute Grammars}, author = {Anthony M. Sloane and Lennart C. L. Kats and Eelco Visser}, year = {2010}, doi = {10.1016/j.entcs.2010.08.043}, url = {http://dx.doi.org/10.1016/j.entcs.2010.08.043}, tags = {attribute grammars, C++, Meta-Environment, meta-objects, grammar}, researchr = {https://researchr.org/publication/SloaneKV10}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {253}, number = {7}, pages = {205-219}, } @inproceedings{Visser99, title = {Strategic Pattern Matching}, author = {Eelco Visser}, year = {1999}, doi = {10.1007/3-540-48685-2_3}, url = {https://doi.org/10.1007/3-540-48685-2_3}, tags = {rule-based, data-flow language, pattern language, graph transformation, Stratego/XT, traversal, transformation language, term rewriting, data-flow, graph-rewriting, rules, views, pattern matching, Strategic term rewriting, overlays, higher-order transformations, rewriting, rewriting strategies, transformation, Stratego, domain-specific language}, researchr = {https://researchr.org/publication/Visser99}, cites = {0}, citedby = {0}, pages = {30-44}, booktitle = {Rewriting Techniques and Applications, 10th International Conference, RTA-99, Trento, Italy, July 2-4, 1999, Proceedings}, editor = {Paliath Narendran and Michaël Rusinowitch}, volume = {1631}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-66201-4}, } @article{AntwerpenPRV18, title = {Scopes as types}, author = {Hendrik van Antwerpen and Casper Bach Poulsen and Arjen Rouvoet and Eelco Visser}, year = {2018}, doi = {10.1145/3276484}, url = {https://doi.org/10.1145/3276484}, researchr = {https://researchr.org/publication/AntwerpenPRV18}, cites = {0}, citedby = {0}, journal = {Proceedings of the ACM on Programming Languages}, volume = {2}, number = {OOPSLA}, } @article{JongeVV01, title = {{XT}: a bundle of program transformation tools}, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)80921-6}, url = {http://dx.doi.org/10.1016/S1571-0661(04)80921-6}, tags = {model-to-model transformation, rule-based, Stratego/XT, model-driven development, source-to-source, transformation system, model transformation, programming, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/JongeVV01}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {44}, number = {2}, pages = {79-86}, } @article{AntwerpenV21-artifact, title = {Scope States (Artifact)}, author = {Hendrik van Antwerpen and Eelco Visser}, year = {2021}, doi = {10.4230/DARTS.7.2.1}, url = {https://doi.org/10.4230/DARTS.7.2.1}, researchr = {https://researchr.org/publication/AntwerpenV21-artifact}, cites = {0}, citedby = {0}, journal = {DARTS}, volume = {7}, number = {2}, } @article{Visser15, title = {Understanding software through linguistic abstraction}, author = {Eelco Visser}, year = {2015}, doi = {10.1016/j.scico.2013.12.001}, url = {http://dx.doi.org/10.1016/j.scico.2013.12.001}, researchr = {https://researchr.org/publication/Visser15}, cites = {0}, citedby = {0}, journal = {Science of Computer Programming}, volume = {97}, pages = {11-16}, } @inproceedings{SmitsV20, title = {Gradually typing strategies}, author = {Jeff Smits and Eelco Visser}, year = {2020}, doi = {10.1145/3426425.3426928}, url = {https://doi.org/10.1145/3426425.3426928}, researchr = {https://researchr.org/publication/SmitsV20}, cites = {0}, citedby = {0}, pages = {1-15}, booktitle = {Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2020, Virtual Event, USA, November 16-17, 2020}, editor = {Ralf Lämmel and Laurence Tratt and Juan de Lara}, publisher = {ACM}, isbn = {978-1-4503-8176-5}, } @inproceedings{BravenboerV07, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, author = {Martin Bravenboer and Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-69073-3_5}, url = {http://dx.doi.org/10.1007/978-3-540-69073-3_5}, tags = {syntax embedding, syntax definition, assimilation, transformation language, architecture, language design, DSL, language libraries, design, transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV07}, cites = {24}, citedby = {1}, pages = {34-46}, booktitle = {Models in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers}, editor = {Holger Giese}, volume = {5002}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69069-6}, } @inproceedings{KatsKV10-SLE, title = {Interactive Disambiguation of Meta Programs with Concrete Object Syntax}, author = {Lennart C. L. Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2010}, doi = {10.1007/978-3-642-19440-5_22}, url = {http://dx.doi.org/10.1007/978-3-642-19440-5_22}, tags = {programming languages, object-oriented programming, concrete object syntax, rule-based, meta programming, meta-model, abstract syntax, tagging, disambiguation, model-driven development, source-to-source, C++, programming, subject-oriented programming, Meta-Environment, feature-oriented programming, concrete syntax, open-source, meta-objects, grammar}, researchr = {https://researchr.org/publication/KatsKV10-SLE}, cites = {0}, citedby = {0}, pages = {327-336}, booktitle = {Software Language Engineering - Third International Conference, SLE 2010, Eindhoven, The Netherlands, October 12-13, 2010, Revised Selected Papers}, editor = {Brian A. Malloy and Steffen Staab and Mark van den Brand}, volume = {6563}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-19439-9}, } @inproceedings{WachsmuthKVGV13, title = {A Language Independent Task Engine for Incremental Name and Type Analysis}, author = {Guido Wachsmuth and Gabriël Konat and Vlad A. Vergu and Danny M. Groenewegen and Eelco Visser}, year = {2013}, doi = {10.1007/978-3-319-02654-1_15}, url = {http://dx.doi.org/10.1007/978-3-319-02654-1_15}, researchr = {https://researchr.org/publication/WachsmuthKVGV13}, cites = {0}, citedby = {0}, pages = {260-280}, booktitle = {Software Language Engineering - 6th International Conference, SLE 2013, Indianapolis, IN, USA, October 26-28, 2013. Proceedings}, editor = {Martin Erwig and Richard F. Paige and Eric {Van Wyk}}, volume = {8225}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-319-02653-4}, } @inproceedings{KatsVW10, title = {Pure and declarative syntax definition: paradise lost and regained}, author = {Lennart C. L. Kats and Eelco Visser and Guido Wachsmuth}, year = {2010}, doi = {10.1145/1869459.1869535}, url = {http://doi.acm.org/10.1145/1869459.1869535}, tags = {parsing algorithm, syntax definition, composition, software evolution, C++, compiler, parsing}, researchr = {https://researchr.org/publication/KatsVW10}, cites = {0}, citedby = {1}, pages = {918-932}, booktitle = {Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010}, editor = {William R. Cook and Siobhán Clarke and Martin C. Rinard}, address = {Reno/Tahoe, Nevada}, publisher = {ACM}, isbn = {978-1-4503-0203-6}, } @techreport{Visser97-SDF, title = {A Family of Syntax Definition Formalisms}, author = {Eelco Visser}, year = {1997}, month = {August}, tags = {syntax definition, SDF, lexical syntax, scannerless, disambiguation, context-aware, parsing, design, scannerless parsing, ASF+SDF, grammar}, researchr = {https://researchr.org/publication/Visser97-SDF}, cites = {0}, citedby = {2}, institution = {Programming Research Group, University of Amsterdam}, number = {P9706}, } @article{JongeKVS12, title = {Natural and Flexible Error Recovery for Generated Modular Language Environments}, author = {Maartje de Jonge and Lennart C. L. Kats and Eelco Visser and Emma Söderberg}, year = {2012}, doi = {10.1145/2400676.2400678}, url = {http://doi.acm.org/10.1145/2400676.2400678}, researchr = {https://researchr.org/publication/JongeKVS12}, cites = {0}, citedby = {0}, journal = {ACM Transactions on Programming Languages and Systems}, volume = {34}, number = {4}, pages = {15}, } @manual{StrategoXTReferenceManual, title = {Stratego/XT Reference Manual}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2008}, url = {http://releases.strategoxt.org/strategoxt-manual/strategoxt-manual-0.17pre18721-8c3vml4h/manual/}, researchr = {https://researchr.org/publication/StrategoXTReferenceManual}, cites = {0}, citedby = {0}, } @inproceedings{Visser97-0, title = {A Case Study in Optimizing Parsing Schemata by Disambiguation Filters}, author = {Eelco Visser}, year = {1997}, url = {https://www.aclweb.org/anthology/1997.iwpt-1.24/}, researchr = {https://researchr.org/publication/Visser97-0}, cites = {0}, citedby = {0}, pages = {210-224}, booktitle = {International Workshop on Parsing Technologies, IWPT 1997, Boston, MA, USA, September 17-20, 1997}, editor = {Sandiway Fong}, } @inproceedings{KatsV10, title = {The {Spoofax} language workbench: rules for declarative specification of languages and {IDEs}}, author = {Lennart C. L. Kats and Eelco Visser}, year = {2010}, doi = {10.1145/1869459.1869497}, url = {https://doi.org/10.1145/1869459.1869497}, tags = {programming languages, model-to-model transformation, workbench, semantics, rule-based, Eclipse, meta programming, model editor, graph transformation, meta-model, transformation language, architecture, reuse, model-driven development, graph-rewriting, rules, C++, code completion, code generation, model transformation, programming, language workbench, Spoofax, Meta-Environment, rewriting, parsing, meta-objects, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/KatsV10}, cites = {0}, citedby = {2}, pages = {444-463}, booktitle = {Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010}, editor = {William R. Cook and Siobhán Clarke and Martin C. Rinard}, address = {Reno/Tahoe, Nevada}, publisher = {ACM}, isbn = {978-1-4503-0203-6}, } @inproceedings{HuismanBBDGLPV16, title = {Software that Meets Its Intent}, author = {Marieke Huisman and Herbert Bos and Sjaak Brinkkemper and Arie van Deursen and Jan Friso Groote and Patricia Lago and Jaco van de Pol and Eelco Visser}, year = {2016}, doi = {10.1007/978-3-319-47169-3_47}, url = {http://dx.doi.org/10.1007/978-3-319-47169-3_47}, researchr = {https://researchr.org/publication/HuismanBBDGLPV16}, cites = {0}, citedby = {0}, pages = {609-625}, booktitle = {Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications - 7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, October 10-14, 2016, Proceedings, Part II}, editor = {Tiziana Margaria and Bernhard Steffen}, volume = {9953}, series = {Lecture Notes in Computer Science}, isbn = {978-3-319-47168-6}, } @inproceedings{BravenboerDV07, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2007}, doi = {10.1145/1289971.1289975}, url = {http://doi.acm.org/10.1145/1289971.1289975}, tags = {programming languages, syntax embedding, Java, preventing injection attacks, generic programming, injection attack, SDF, XML, embedded software, XML Schema, SQL, security, language embedding, DSL, programming, systematic-approach, ASF+SDF, grammar, query language}, researchr = {https://researchr.org/publication/BravenboerDV07}, cites = {0}, citedby = {4}, pages = {3-12}, booktitle = {Generative Programming and Component Engineering, 6th International Conference, GPCE 2007}, editor = {Charles Consel and Julia L. Lawall}, address = {Salzburg, Austria}, publisher = {ACM}, isbn = {978-1-59593-855-8}, } @inproceedings{DenkersBGV21, title = {Configuration Space Exploration for Digital Printing Systems}, author = {Jasper Denkers and Marvin Brunner and Louis van Gool and Eelco Visser}, year = {2021}, doi = {10.1007/978-3-030-92124-8_24}, url = {https://doi.org/10.1007/978-3-030-92124-8_24}, researchr = {https://researchr.org/publication/DenkersBGV21}, cites = {0}, citedby = {0}, pages = {423-442}, booktitle = {Software Engineering and Formal Methods - 19th International Conference, SEFM 2021, Virtual Event, December 6-10, 2021, Proceedings}, editor = {Radu Calinescu and Corina S. Pasareanu}, volume = {13085}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-030-92124-8}, } @article{PoulsenNTV16Artifact, title = {Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics (Artifact)}, author = {Casper Bach Poulsen and Pierre Néron and Andrew P. Tolmach and Eelco Visser}, year = {2016}, doi = {10.4230/DARTS.2.1.10}, url = {http://dx.doi.org/10.4230/DARTS.2.1.10}, researchr = {https://researchr.org/publication/PoulsenNTV16Artifact}, cites = {0}, citedby = {0}, journal = {DARTS}, volume = {2}, number = {1}, } @inproceedings{GroenewegenHKV08, title = {WebDSL: a domain-specific language for dynamic web applications}, author = {Danny M. Groenewegen and Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, doi = {10.1145/1449814.1449858}, url = {http://doi.acm.org/10.1145/1449814.1449858}, tags = {WebDSL, meta-model, modeling language, modeling, language engineering, language modeling, web engineering, model-driven engineering, C++, web applications, DSL, logic, abstraction, Meta-Environment, access control, workflow, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenHKV08}, cites = {0}, citedby = {0}, pages = {779-780}, booktitle = {Companion to the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-13, 2007, Nashville, TN, USA}, editor = {Gail E. Harris}, publisher = {ACM}, isbn = {978-1-60558-220-7}, } @techreport{TUD-SERG-2015-009, title = {A Constraint Language for Static Semantic Analysis based on Scope Graphs with Proofs}, author = {Hendrik van Antwerpen and Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, month = {September}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2015-009.pdf}, note = {Available at \url{http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2015-009.pdf}}, researchr = {https://researchr.org/publication/TUD-SERG-2015-009}, cites = {0}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2015-009}, } @inproceedings{VisserModularity14, title = {Separation of concerns in language definition}, author = {Eelco Visser}, year = {2014}, doi = {10.1145/2584469.2584662}, url = {http://doi.acm.org/10.1145/2584469.2584662}, researchr = {https://researchr.org/publication/VisserModularity14}, cites = {0}, citedby = {0}, pages = {1-2}, booktitle = {13th International Conference on Modularity, MODULARITY '14, Lugano, Switzerland, April 22-26, 2014}, editor = {Walter Binder and Erik Ernst and Achille Peternier and Robert Hirschfeld}, publisher = {ACM}, isbn = {978-1-4503-2772-5}, } @inproceedings{BaggeKHV03, title = {Design of the {CodeBoost} Transformation System for Domain-Specific Optimisation of {C++} Programs}, author = {Anya Helene Bagge and Karl Trygve Kalleberg and Magne Haveraaen and Eelco Visser}, year = {2003}, doi = {10.1109/SCAM.2003.1238032}, url = {https://doi.org/10.1109/SCAM.2003.1238032}, tags = {programming languages, model-to-model transformation, rule-based, program analysis, application framework, graph transformation, CodeBoost, embedded software, Stratego/XT, transformation language, points-to analysis, domain analysis, analysis, language design, source-to-source, graph-rewriting, rules, C++, transformation system, compiler, model transformation, rewriting, parsing, design, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BaggeKHV03}, cites = {0}, citedby = {0}, pages = {65}, booktitle = {3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands}, publisher = {IEEE Computer Society}, isbn = {0-7695-2005-7}, } @inproceedings{VermolenWV11, title = {Generating database migrations for evolving web applications}, author = {Sander Vermolen and Guido Wachsmuth and Eelco Visser}, year = {2011}, doi = {10.1145/2047862.2047876}, url = {http://doi.acm.org/10.1145/2047862.2047876}, researchr = {https://researchr.org/publication/VermolenWV11}, cites = {0}, citedby = {0}, pages = {83-92}, booktitle = {Generative Programming And Component Engineering, Proceedings of the 10th International Conference on Generative Programming and Component Engineering, GPCE 2011, Portland, Oregon, USA, October 22-24, 2011}, editor = {Ewen Denney and Ulrik Pagh Schultz}, publisher = {ACM}, isbn = {978-1-4503-0689-8}, } @software{RouvoetAPKV20-artifact, title = {Knowing When to Ask: Artifact}, author = {Arjen Rouvoet and Hendrik van Antwerpen and Casper Bach Poulsen and Robbert Krebbers and Eelco Visser}, year = {2020}, month = {oct}, doi = {10.5281/zenodo.4068065}, url = {https://doi.org/10.5281/zenodo.4068065}, researchr = {https://researchr.org/publication/RouvoetAPKV20-artifact}, cites = {0}, citedby = {0}, version = {1.0}, } @article{ZwaanAV22, title = {Incremental type-checking for free: using scope graphs to derive incremental type-checkers}, author = {Aron Zwaan and Hendrik van Antwerpen and Eelco Visser}, year = {2022}, doi = {10.1145/3563303}, url = {https://doi.org/10.1145/3563303}, researchr = {https://researchr.org/publication/ZwaanAV22}, cites = {0}, citedby = {0}, journal = {Proceedings of the ACM on Programming Languages}, volume = {6}, number = {OOPSLA2}, pages = {424-448}, } @article{GroenewegenV13, title = {Integration of data validation and user interface concerns in a {DSL} for web applications}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2013}, doi = {10.1007/s10270-010-0173-9}, url = {http://dx.doi.org/10.1007/s10270-010-0173-9}, tags = {WebDSL}, researchr = {https://researchr.org/publication/GroenewegenV13}, cites = {0}, citedby = {0}, journal = {Software and Systems Modeling}, volume = {12}, number = {1}, pages = {35-52}, } @techreport{preprint-KonatEV16-0, title = {Towards Live Language Development}, author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/preprint-KonatEV16-0}, cites = {0}, citedby = {0}, type = {Preprint}, } @proceedings{VoelterVisserDimensions2011, title = {Dimensions of DSL Design}, author = {Markus Völter and Eelco Visser}, year = {2011}, tags = {semantics, completeness, case study, meta-model, modeling language, separation of concerns, language engineering, software language engineering, language modeling, language design, software engineering, model-driven engineering, DSL, context-aware, abstraction, Meta-Environment, design, coverage, domain-specific language}, researchr = {https://researchr.org/publication/VoelterVisserDimensions2011}, cites = {0}, citedby = {0}, booktitle = {Dimensions of DSL Design}, } @article{SmitsWV20, title = {FlowSpec: A Declarative Specification Language for Intra-Procedural Flow-Sensitive Data-Flow Analysis}, author = {Jeff Smits and Guido Wachsmuth and Eelco Visser}, year = {2020}, doi = {10.1016/j.cola.2019.100924}, url = {https://doi.org/10.1016/j.cola.2019.100924}, researchr = {https://researchr.org/publication/SmitsWV20}, cites = {0}, citedby = {0}, journal = {Journal of Computer Languages}, volume = {57}, pages = {100924}, } @techreport{TUD-SERG-2008-042, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, author = {Martin Bravenboer and Eelco Visser}, year = {2008}, tags = {assimilation, transformation language, architecture, language design, DSL, design, transformation, domain-specific language}, researchr = {https://researchr.org/publication/TUD-SERG-2008-042}, cites = {0}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2008-042}, } @inproceedings{KatsKV08, title = {Generating Editors for Embedded Languages. Integrating SGLR into IMP}, author = {Lennart C. L. Kats and Karl Trygve Kalleberg and Eelco Visser}, year = {2008}, month = {April}, tags = {rule-based, Eclipse, syntax definition, completeness, SDF, SQL, C++, code generation, abstraction, Spoofax, Meta-Environment, parsing, scannerless parsing, extensible language, ASF+SDF, SGLR, query language, domain-specific language}, researchr = {https://researchr.org/publication/KatsKV08}, cites = {0}, citedby = {1}, booktitle = {Proceedings of the Eight Workshop on Language Descriptions, Tools, and Applications}, editor = {Jurgen J. Vinju and Adrian Johnstone}, volume = {238}, number = {5}, series = {Electronic Notes in Theoretical Computer Science }, publisher = {Elsevier}, } @article{HemelKGV10, title = {Code generation by model transformation: a case study in transformation modularity}, author = {Zef Hemel and Lennart C. L. Kats and Danny M. Groenewegen and Eelco Visser}, year = {2010}, doi = {10.1007/s10270-009-0136-1}, tags = {model-to-model transformation, case study, meta-model, source-to-source, C++, code generation, model transformation, Meta-Environment, transformation}, researchr = {https://researchr.org/publication/HemelKGV10}, cites = {0}, citedby = {0}, journal = {Software and Systems Modeling}, volume = {9}, number = {3}, pages = {375-402}, } @inproceedings{HarkesCV18, title = {Migrating business logic to an incremental computing DSL: a case study}, author = {Daco Harkes and Elmer van Chastelet and Eelco Visser}, year = {2018}, doi = {10.1145/3276604.3276617}, url = {https://doi.org/10.1145/3276604.3276617}, researchr = {https://researchr.org/publication/HarkesCV18}, cites = {0}, citedby = {0}, pages = {83-96}, booktitle = {Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, Boston, MA, USA, November 05-06, 2018}, editor = {David Pearce 0005 and Tanja Mayerhofer and Friedrich Steimann}, publisher = {ACM}, isbn = {978-1-4503-6029-6}, } @misc{KonatAEV16, title = {Bootstrapping, Default Formatting, and Skeleton Editing in the Spoofax Language Workbench}, author = {Gabriël Konat and Luis Eduardo de Souza Amorim and Sebastian Erdweg and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/KonatAEV16}, cites = {0}, citedby = {0}, howpublished = {Language Workbench Challenge (LWC@SLE)}, } @inproceedings{BrandV95, title = {The {Asf+Sdf} Meta-Environment Documentation Tools for Free!}, author = {Mark G. J. van den Brand and Eelco Visser}, year = {1995}, doi = {10.1007/3-540-59293-8_242}, url = {http://dx.doi.org/10.1007/3-540-59293-8_242}, tags = {SDF, meta-model, documentation, software documentation, pretty-printing, Meta-Environment, ASF+SDF, meta-objects}, researchr = {https://researchr.org/publication/BrandV95}, cites = {0}, citedby = {0}, pages = {803-804}, booktitle = {TAPSOFT 95: Theory and Practice of Software Development, 6th International Joint Conference CAAP/FASE, Aarhus, Denmark, May 22-26, 1995, Proceedings}, editor = {Peter D. Mosses and Mogens Nielsen and Michael I. Schwartzbach}, volume = {915}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-59293-8}, } @techreport{preprint-KatsVKV12, title = {Software development environments on the web: a research agenda}, author = {Lennart C. L. Kats and Richard Vogelij and Karl Trygve Kalleberg and Eelco Visser}, year = {2012}, researchr = {https://researchr.org/publication/preprint-KatsVKV12}, cites = {0}, citedby = {0}, type = {Preprint}, } @inproceedings{BravenboerTV06, title = {Declarative, formal, and extensible syntax definition for {AspectJ}}, author = {Martin Bravenboer and Éric Tanter and Eelco Visser}, year = {2006}, doi = {10.1145/1167473.1167491}, url = {http://doi.acm.org/10.1145/1167473.1167491}, tags = {programming languages, AspectJ, object-oriented programming, Java, syntax definition, SDF, lexical syntax, design complexity, composition, design research, language design, aspect oriented programming, compiler, programming, subject-oriented programming, context-aware, language composition, parsing, design, scannerless parsing, extensible language, ASF+SDF, feature-oriented programming, SGLR, grammar}, researchr = {https://researchr.org/publication/BravenboerTV06}, cites = {0}, citedby = {1}, pages = {209-228}, booktitle = {Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006}, editor = {Peri L. Tarr and William R. Cook}, publisher = {ACM}, isbn = {1-59593-348-4}, } @article{GroenewegenHV10, title = {Separation of Concerns and Linguistic Integration in {WebDSL}}, author = {Danny M. Groenewegen and Zef Hemel and Eelco Visser}, year = {2010}, doi = {10.1109/MS.2010.92}, url = {http://dx.doi.org/10.1109/MS.2010.92}, tags = {WebDSL, separation of concerns}, researchr = {https://researchr.org/publication/GroenewegenHV10}, cites = {0}, citedby = {0}, journal = {IEEE Software}, volume = {27}, number = {5}, pages = {31-37}, } @inproceedings{DolstraBV05, title = {Service configuration management}, author = {Eelco Dolstra and Martin Bravenboer and Eelco Visser}, year = {2005}, doi = {10.1145/1109128.1109135}, url = {http://doi.acm.org/10.1145/1109128.1109135}, tags = {programming languages, SCM, deployment, software components, software deployment, Nix, software component, software configuration, service configuration management, context-aware, systematic-approach}, researchr = {https://researchr.org/publication/DolstraBV05}, cites = {0}, citedby = {0}, pages = {83-98}, booktitle = {Proceedings of the 12th International Workshop on Software Configuration Management, SCM 2005, Lisbon, Portugal, September 5-6, 2005}, publisher = {ACM}, isbn = {1-59593-310-7}, } @inproceedings{VolterV11, title = {Product Line Engineering Using Domain-Specific Languages}, author = {Markus Völter and Eelco Visser}, year = {2011}, doi = {10.1109/SPLC.2011.25}, url = {http://dx.doi.org/10.1109/SPLC.2011.25}, researchr = {https://researchr.org/publication/VolterV11}, cites = {0}, citedby = {0}, pages = {70-79}, booktitle = {Software Product Lines - 15th International Conference, SPLC 2011, Munich, Germany, August 22-26, 2011}, editor = {Eduardo Santana de Almeida and Tomoji Kishi and Christa Schwanninger and Isabel John and Klaus Schmid}, publisher = {IEEE}, isbn = {978-1-4577-1029-2}, } @article{BouwersBV08, title = {Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking}, author = {Eric Bouwers and Martin Bravenboer and Eelco Visser}, year = {2008}, doi = {10.1016/j.entcs.2008.03.046}, url = {http://dx.doi.org/10.1016/j.entcs.2008.03.046}, tags = {programming languages, semantics, rule-based, syntax definition, YACC, precedence rule, SDF, Stratego/XT, language engineering, grammar engineering, PHP, rules, C++, migration, compiler, programming, operational semantics, priority, parsing, scannerless parsing, systematic-approach, ASF+SDF, grammar, Stratego}, researchr = {https://researchr.org/publication/BouwersBV08}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {85-101}, } @article{KallebergV06, title = {Combining Aspect-Oriented and Strategic Programming}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2006}, doi = {10.1016/j.entcs.2005.06.035}, url = {http://dx.doi.org/10.1016/j.entcs.2005.06.035}, tags = {programming languages, object-oriented programming, rule-based, transformation aspects, data-flow language, graph transformation, exceptions, Stratego/XT, transformation language, term rewriting, type system, data-flow programming, data-flow, graph-rewriting, rules, programming paradigms, type checking, strategic programming, debugging, transformation system, Strategic term rewriting, aspect oriented programming, programming, subject-oriented programming, rewriting, feature-oriented programming, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/KallebergV06}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {147}, number = {1}, pages = {5-30}, } @techreport{HuismanSV19, title = {A Research Agenda for Formal Methods in the Netherlands}, author = {Marieke Huisman and Wouter Swierstra and Eelco Visser}, year = {2019}, month = {July}, url = {http://www.staff.science.uu.nl/~swier004/publications/2019-CS-004.pdf}, researchr = {https://researchr.org/publication/HuismanSV19}, cites = {0}, citedby = {0}, institution = {Department of Information and Computing Sciences, Utrecht University, Utrecht, The Netherlands}, number = {UU-CS-2019-004}, } @incollection{Visser19-0, title = {Fast and Safe Linguistic Abstraction for the Masses}, author = {Eelco Visser}, year = {2019}, month = {July}, url = {http://eelcovisser.org/blog/2019/09/29/fast-and-safe-linguistic-abstraction-for-the-masses/}, note = {Technical Report UU-CS-2019-004}, researchr = {https://researchr.org/publication/Visser19-0}, cites = {0}, citedby = {0}, pages = {10-11}, booktitle = {A Research Agenda for Formal Methods in the Netherlands}, organization = {Department of Information and Computing Sciences, Utrecht University, Utrecht, The Netherlands}, } @inproceedings{NeronTVW15, title = {A Theory of Name Resolution}, author = {Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, doi = {10.1007/978-3-662-46669-8_9}, url = {http://dx.doi.org/10.1007/978-3-662-46669-8_9}, researchr = {https://researchr.org/publication/NeronTVW15}, cites = {0}, citedby = {0}, pages = {205-231}, booktitle = {Programming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings}, editor = {Jan Vitek}, volume = {9032}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-662-46668-1}, } @inproceedings{AmorimV20, title = {Multi-purpose Syntax Definition with {SDF3}}, author = {Luis Eduardo de Souza Amorim and Eelco Visser}, year = {2020}, doi = {10.1007/978-3-030-58768-0_1}, url = {https://doi.org/10.1007/978-3-030-58768-0_1}, researchr = {https://researchr.org/publication/AmorimV20}, cites = {0}, citedby = {0}, pages = {1-23}, booktitle = {Software Engineering and Formal Methods - 18th International Conference, SEFM 2020, Amsterdam, The Netherlands, September 14-18, 2020, Proceedings}, editor = {Frank S. de Boer and Antonio Cerone}, volume = {12310}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-030-58768-0}, } @inproceedings{KatsVKV12, title = {Software development environments on the web: a research agenda}, author = {Lennart C. L. Kats and Richard Vogelij and Karl Trygve Kalleberg and Eelco Visser}, year = {2012}, doi = {10.1145/2384592.2384603}, url = {http://doi.acm.org/10.1145/2384592.2384603}, researchr = {https://researchr.org/publication/KatsVKV12}, cites = {0}, citedby = {0}, pages = {99-116}, booktitle = {ACM Symposium on New Ideas in Programming and Reflections on Software, Onward! 2012, part of SPLASH '12, Tucson, AZ, USA, October 21-26, 2012}, editor = {Gary T. Leavens and Jonathan Edwards}, publisher = {ACM}, isbn = {978-1-4503-1562-3}, } @inproceedings{KatsVV11, title = {Integrated language definition testing: enabling test-driven language development}, author = {Lennart C. L. Kats and Rob Vermaas and Eelco Visser}, year = {2011}, doi = {10.1145/2048066.2048080}, url = {http://doi.acm.org/10.1145/2048066.2048080}, researchr = {https://researchr.org/publication/KatsVV11}, cites = {0}, citedby = {0}, pages = {139-154}, booktitle = {Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011}, editor = {Cristina Videira Lopes and Kathleen Fisher}, publisher = {ACM}, isbn = {978-1-4503-0940-0}, } @inproceedings{AmorimEWV16, title = {Principled syntactic code completion using placeholders}, author = {Luis Eduardo de Souza Amorim and Sebastian Erdweg and Guido Wachsmuth and Eelco Visser}, year = {2016}, doi = {10.1145/2997364.2997374}, url = {http://dx.doi.org/10.1145/2997364.2997374}, researchr = {https://researchr.org/publication/AmorimEWV16}, cites = {0}, citedby = {0}, pages = {163-175}, booktitle = {Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering, Amsterdam, The Netherlands, October 31 - November 1, 2016}, editor = {Tijs van der Storm and Emilie Balland and Dániel Varró}, publisher = {ACM}, isbn = {978-1-4503-4447-0}, } @inproceedings{DolstraVJ04, title = {Imposing a Memory Management Discipline on Software Deployment}, author = {Eelco Dolstra and Eelco Visser and Merijn de Jonge}, year = {2004}, doi = {10.1109/ICSE.2004.1317480}, url = {https://doi.org/10.1109/ICSE.2004.1317480}, tags = {programming languages, rule-based, program analysis, deployment, completeness, meta programming, generic programming, software components, program verification, meta-model, memory management, modeling language, language modeling, software deployment, Nix, software component, analysis, programming, Meta-Environment, systematic-approach}, researchr = {https://researchr.org/publication/DolstraVJ04}, cites = {0}, citedby = {0}, pages = {583-592}, booktitle = {26th International Conference on Software Engineering (ICSE 2004), 23-28 May 2004, Edinburgh, United Kingdom}, publisher = {IEEE Computer Society}, isbn = {0-7695-2163-0}, } @inproceedings{DeursenVW07, title = {Model-driven software evolution: A research agenda}, author = {Arie van Deursen and Eelco Visser and Jos Warmer}, year = {2007}, researchr = {https://researchr.org/publication/DeursenVW07}, cites = {0}, citedby = {0}, pages = {41-49}, booktitle = {Proceedings 1st International Workshop on Model-Driven Software Evolution}, } @inproceedings{GeestVDV08, title = {Generating Version Convertors for Domain-Specific Languages}, author = {Gerardo de Geest and Sander Vermolen and Arie van Deursen and Eelco Visser}, year = {2008}, doi = {10.1109/WCRE.2008.50}, url = {http://dx.doi.org/10.1109/WCRE.2008.50}, tags = {case study, meta-model, evolution, modeling language, modeling, dsl-tools, language modeling, model-driven development, software evolution, DSL, abstraction, Meta-Environment, convertors, systematic-approach, language, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/GeestVDV08}, cites = {0}, citedby = {0}, pages = {197-201}, booktitle = {WCRE 2008, Proceedings of the 15th Working Conference on Reverse Engineering, Antwerp, Belgium, October 15-18, 2008}, publisher = {IEEE}, } @inproceedings{Visser97-IWPT, title = {A Case Study in Optimizing Parsing Schemata by Disambiguation Filters}, author = {Eelco Visser}, year = {1997}, month = {September}, tags = {parsing algorithm, programming languages, optimization, application framework, case study, XML, XML Schema, disambiguation, context-aware, program optimization, parsing, grammar}, researchr = {https://researchr.org/publication/Visser97-IWPT}, cites = {0}, citedby = {0}, pages = {210-224}, booktitle = {International Workshop on Parsing Technology (IWPT 1997)}, address = {Boston, USA}, organization = {Massachusetts Institute of Technology}, } @inproceedings{BravenboerKVV06, title = {{Stratego/XT 0.16}: components for transformation systems}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2006}, doi = {10.1145/1111542.1111558}, url = {http://doi.acm.org/10.1145/1111542.1111558}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV06}, cites = {0}, citedby = {0}, pages = {95-99}, booktitle = {Proceedings of the 2006 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2006, Charleston, South Carolina, USA, January 9-10, 2006}, editor = {John Hatcliff and Frank Tip}, publisher = {ACM}, isbn = {1-59593-196-1}, } @inproceedings{DolstraJV04, title = {Nix: A Safe and Policy-Free System for Software Deployment}, author = {Eelco Dolstra and Merijn de Jonge and Eelco Visser}, year = {2004}, url = {http://www.usenix.org/publications/library/proceedings/lisa04/tech/dolstra.html}, tags = {deployment, software components, software deployment, Nix, software component}, researchr = {https://researchr.org/publication/DolstraJV04}, cites = {0}, citedby = {0}, pages = {79-92}, booktitle = {Proceedings of the 18th Conference on Systems Administration (LISA 2004), Atlanta, USA, November 14-19, 2004}, publisher = {USENIX}, } @inproceedings{MensingAPV19, title = {From definitional interpreter to symbolic executor}, author = {Adrian D. Mensing and Hendrik van Antwerpen and Casper Bach Poulsen and Eelco Visser}, year = {2019}, doi = {10.1145/3358502.3361269}, url = {https://doi.org/10.1145/3358502.3361269}, researchr = {https://researchr.org/publication/MensingAPV19}, cites = {0}, citedby = {0}, pages = {11-20}, booktitle = {Proceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection, META@SPLASH 2019, Athens, Greece, October 20, 2019}, editor = {Christophe Scholliers and Guido Chari}, publisher = {ACM}, isbn = {978-1-4503-6985-5}, } @inproceedings{LippeSPV16, title = {A scalable infrastructure for teaching concepts of programming languages in {Scala} with {WebLab}: an experience report}, author = {Tim van der Lippe and Thomas Smith and Daniël A. A. Pelsmaeker and Eelco Visser}, year = {2016}, doi = {10.1145/2998392.2998402}, url = {http://doi.acm.org/10.1145/2998392.2998402}, researchr = {https://researchr.org/publication/LippeSPV16}, cites = {0}, citedby = {0}, pages = {65-74}, booktitle = {Proceedings of the 7th ACM SIGPLAN Symposium on Scala, SCALA@SPLASH 2016, Amsterdam, Netherlands, October 30 - November 4, 2016}, editor = {Aggelos Biboudis and Manohar Jonnalagedda and Sandro Stucki and Vlad Ureche}, publisher = {ACM}, isbn = {978-1-4503-4648-1}, } @inproceedings{VisserBT98, title = {Building Program Optimizers with Rewriting Strategies}, author = {Eelco Visser and Zine-El-Abidine Benaissa and Andrew P. Tolmach}, year = {1998}, doi = {10.1145/289423.289425}, url = {http://doi.acm.org/10.1145/289423.289425}, tags = {programming languages, optimization, semantics, rule-based, meta programming, graph transformation, variable binding, Stratego/XT, transformation language, term rewriting, composition, graph-rewriting, rules, C++, program optimization, Meta-Environment, higher-order transformations, rewriting, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/VisserBT98}, cites = {0}, citedby = {5}, pages = {13-26}, booktitle = {Proceedings of the third ACM SIGPLAN international conference on Functional programming}, editor = {Matthias Felleisen and Paul Hudak and Christian Queinnec}, address = {Baltimore, Maryland, United States}, publisher = {ACM}, } @inproceedings{HemelV11a, title = {Mobl: the new language of the mobile web}, author = {Zef Hemel and Eelco Visser}, year = {2011}, doi = {10.1145/2048147.2048159}, url = {http://doi.acm.org/10.1145/2048147.2048159}, researchr = {https://researchr.org/publication/HemelV11a}, cites = {0}, citedby = {0}, pages = {23-24}, booktitle = {Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011}, editor = {Cristina Videira Lopes and Kathleen Fisher}, publisher = {ACM}, isbn = {978-1-4503-0942-4}, } @inproceedings{JongeNKV09, title = {Natural and Flexible Error Recovery for Generated Parsers}, author = {Maartje de Jonge and Emma Nilsson-Nyman and Lennart C. L. Kats and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-12107-4_16}, url = {http://dx.doi.org/10.1007/978-3-642-12107-4_16}, tags = {semantics, rule-based, Java, Eclipse, rules, C++, search suggestions, context-aware, search, parsing, error recovery, systematic-approach, SGLR, grammar}, researchr = {https://researchr.org/publication/JongeNKV09}, cites = {0}, citedby = {0}, pages = {204-223}, booktitle = {Software Language Engineering, Second International Conference, SLE 2009}, editor = {Mark G. J. van den Brand and Dragan Gasevic and Jeffrey G. Gray}, volume = {5969}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-12106-7}, } @misc{AmorimV20-IWC, title = {Safety and Completeness of Disambiguation corresponds to Termination and Confluence of Reordering}, author = {Luí­s Eduardo Amorim de Souza and Eelco Visser}, year = {2020}, month = {June}, note = {Extended abstract for talk presented at International Workshop on Confluence 2020 (IWC 2020) in Paris, June 2020.}, researchr = {https://researchr.org/publication/AmorimV20-IWC}, cites = {0}, citedby = {0}, } @techreport{preprint-VanRestWSSV2013, title = {Robust Real-Time Synchronization between Textual and Graphical Editors}, author = {Oskar van Rest and Guido Wachsmuth and Jim Steel and Jörn Guy Süss and Eelco Visser}, year = {2013}, month = {June}, researchr = {https://researchr.org/publication/preprint-VanRestWSSV2013}, cites = {0}, citedby = {0}, type = {Preprint}, } @article{DuranRBBEKKMSV09, title = {The Second Rewrite Engines Competition}, author = {Francisco Durán and Manuel Roldán and Emilie Balland and Mark G. J. van den Brand and Steven Eker and Karl Trygve Kalleberg and Lennart C. L. Kats and Pierre-Etienne Moreau and Ruslan Shevchenko and Eelco Visser}, year = {2009}, doi = {10.1016/j.entcs.2009.05.025}, url = {http://dx.doi.org/10.1016/j.entcs.2009.05.025}, tags = {rewrite engine, SDF, term rewriting, graph-rewriting, C++, logic, rewriting logic, rewriting, rewriting strategies, ASF+SDF, Stratego}, researchr = {https://researchr.org/publication/DuranRBBEKKMSV09}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {238}, number = {3}, pages = {281-291}, } @inproceedings{KonatEV16, title = {Bootstrapping Domain-Specific Meta-Languages in Language Workbenches}, author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser}, year = {2016}, doi = {10.1145/2993236.2993242}, url = {http://doi.acm.org/10.1145/2993236.2993242}, researchr = {https://researchr.org/publication/KonatEV16}, cites = {0}, citedby = {0}, pages = {47-58}, booktitle = {Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016, Amsterdam, The Netherlands, October 31 - November 1, 2016}, editor = {Bernd Fischer and Ina Schaefer}, publisher = {ACM}, isbn = {978-1-4503-4446-3}, } @inproceedings{GroenewegenV09-demo, title = {Weaving web applications with WebDSL: (demonstration)}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2009}, doi = {10.1145/1639950.1640020}, url = {http://doi.acm.org/10.1145/1639950.1640020}, tags = {data validation, WebDSL, Java, completeness, data-flow language, meta-model, modeling language, modeling, language modeling, model-driven development, data-flow, weaving, compiler, web applications, consistency, Meta-Environment, access control, workflow, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenV09-demo}, cites = {0}, citedby = {0}, pages = {797-798}, booktitle = {Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA}, editor = {Shail Arora and Gary T. Leavens}, publisher = {ACM}, isbn = {978-1-60558-768-4}, } @inproceedings{RouvoetPKV20, title = {Intrinsically-typed definitional interpreters for linear, session-typed languages}, author = {Arjen Rouvoet and Casper Bach Poulsen and Robbert Krebbers and Eelco Visser}, year = {2020}, doi = {10.1145/3372885.3373818}, url = {https://doi.org/10.1145/3372885.3373818}, researchr = {https://researchr.org/publication/RouvoetPKV20}, cites = {0}, citedby = {0}, pages = {284-298}, booktitle = {Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2020, New Orleans, LA, USA, January 20-21, 2020}, editor = {Jasmin Blanchette and Catalin Hritcu}, publisher = {ACM}, isbn = {978-1-4503-7097-4}, } @inproceedings{BrandSVV02, title = {Disambiguation Filters for Scannerless Generalized {LR} Parsers}, author = {Mark G. J. van den Brand and Jeroen Scheerder and Jurgen J. Vinju and Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45937-5_12}, url = {https://doi.org/10.1007/3-540-45937-5_12}, tags = {GLR parsing, syntax definition, SDF, lexical syntax, scannerless, disambiguation, GLR, context-aware, parsing, scannerless parsing, ASF+SDF, SGLR, grammar}, researchr = {https://researchr.org/publication/BrandSVV02}, cites = {0}, citedby = {4}, pages = {143-158}, booktitle = {Compiler Construction, 11th International Conference, CC 2002, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8-12, 2002, Proceedings}, editor = {R. Nigel Horspool}, volume = {2304}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-43369-4}, } @inproceedings{BravenboerV02, title = {Rewriting Strategies for Instruction Selection}, author = {Martin Bravenboer and Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45610-4_17}, url = {https://doi.org/10.1007/3-540-45610-4_17}, tags = {programming languages, optimization, rule-based, graph transformation, Stratego/XT, instruction selection, transformation language, term rewriting, graph-rewriting, rules, programming paradigms, code generation, programming, program optimization, rewriting, compilers, compilation, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerV02}, cites = {0}, citedby = {0}, pages = {237-251}, booktitle = {Rewriting Techniques and Applications, 13th International Conference, RTA 2002, Copenhagen, Denmark, July 22-24, 2002, Proceedings}, editor = {Sophie Tison}, volume = {2378}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-43916-1}, } @inproceedings{OlmosV05, title = {Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules}, author = {Karina Olmos and Eelco Visser}, year = {2005}, doi = {10.1007/978-3-540-31985-6_14}, url = {https://doi.org/10.1007/978-3-540-31985-6_14}, tags = {programming languages, model-to-model transformation, optimization, rule-based, intermediate representation, program analysis, meta programming, data-flow language, graph transformation, meta-model, dynamic rewrite rules, modeling language, modeling, variable binding, Stratego/XT, model refactoring, refactoring, transformation language, language modeling, composition, dynamic rules, points-to analysis, domain analysis, dependent dynamic rewrite rules, analysis, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, rule-based refactoring, compiler, model transformation, programming, program optimization, Meta-Environment, rewriting, data-flow analysis, systematic-approach, rewriting strategies, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/OlmosV05}, cites = {0}, citedby = {0}, pages = {204-220}, booktitle = {Compiler Construction, 14th International Conference, CC 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, UK, April 4-8, 2005, Proceedings}, editor = {Rastislav Bodík}, volume = {3443}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-25411-0}, } @misc{SmitsV18, title = {Towards Incremental Compilation for Stratego}, author = {Jeff Smits and Eelco Visser}, year = {2018}, month = {10}, researchr = {https://researchr.org/publication/SmitsV18}, cites = {3}, citedby = {0}, howpublished = {Poster at SPLASH}, } @techreport{TUD-SERG-2013-018, title = {A Language Independent Task Engine for Incremental Name and Type Analysis}, author = {Guido Wachsmuth and Gabriël Konat and Vlad A. Vergu and Danny M. Groenewegen and Eelco Visser}, year = {2013}, month = {October}, researchr = {https://researchr.org/publication/TUD-SERG-2013-018}, cites = {0}, citedby = {0}, institution = {Delft University of Technology}, number = {TUD-SERG-2013-018}, address = {Delft, The Netherlands}, } @inproceedings{ErdwegVMV14-demo, title = {Finding bugs in program generators by dynamic analysis of syntactic language constraints}, author = {Sebastian Erdweg and Vlad A. Vergu and Mira Mezini and Eelco Visser}, year = {2014}, doi = {10.1145/2584469.2584474}, url = {http://doi.acm.org/10.1145/2584469.2584474}, researchr = {https://researchr.org/publication/ErdwegVMV14-demo}, cites = {0}, citedby = {0}, pages = {17-20}, booktitle = {13th International Conference on Modularity, MODULARITY '14, Lugano, Switzerland, April 22-26, 2014}, editor = {Walter Binder and Erik Ernst and Achille Peternier and Robert Hirschfeld}, publisher = {ACM}, isbn = {978-1-4503-2772-5}, } @inproceedings{AntwerpenNTVW16, title = {A constraint language for static semantic analysis based on scope graphs}, author = {Hendrik van Antwerpen and Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2016}, doi = {10.1145/2847538.2847543}, url = {http://doi.acm.org/10.1145/2847538.2847543}, researchr = {https://researchr.org/publication/AntwerpenNTVW16}, cites = {0}, citedby = {0}, pages = {49-60}, booktitle = {Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2016, St. Petersburg, FL, USA, January 20 - 22, 2016}, editor = {Martin Erwig and Tiark Rompf}, publisher = {ACM}, isbn = {978-1-4503-4097-7}, } @inproceedings{PoulsenNTV16, title = {Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics}, author = {Casper Bach Poulsen and Pierre Néron and Andrew P. Tolmach and Eelco Visser}, year = {2016}, doi = {10.4230/LIPIcs.ECOOP.2016.20}, researchr = {https://researchr.org/publication/PoulsenNTV16}, cites = {0}, citedby = {0}, booktitle = {30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18-22, 2016, Rome, Italy}, editor = {Shriram Krishnamurthi and Benjamin S. Lerner}, volume = {56}, series = {LIPIcs}, publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik}, isbn = {978-3-95977-014-9}, } @techreport{HemelVisser2011A, title = {Programming the Mobile Web with {Mobl}}, author = {Zef Hemel and Eelco Visser}, year = {2011}, month = {January}, tags = {programming languages, optimization, interaction design, rule-based, meta programming, data-flow language, pattern language, meta-model, modeling language, modeling, web service, language modeling, language design, constraints, data-flow programming, data-flow, mobile code, code generation, web services, web applications, programming, program optimization, Meta-Environment, design, mobile, query language, domain-specific language}, researchr = {https://researchr.org/publication/HemelVisser2011A}, cites = {0}, citedby = {0}, institution = {Delft University of Technology}, number = {TUD-SERG-2011-01}, } @inproceedings{HarkesV17, title = {IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition}, author = {Daco Harkes and Eelco Visser}, year = {2017}, doi = {10.4230/LIPIcs.ECOOP.2017.14}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2017.14}, researchr = {https://researchr.org/publication/HarkesV17}, cites = {0}, citedby = {0}, booktitle = {31st European Conference on Object-Oriented Programming, ECOOP 2017, June 19-23, 2017, Barcelona, Spain}, editor = {Peter Müller}, volume = {74}, series = {LIPIcs}, publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik}, isbn = {978-3-95977-035-4}, } @inproceedings{ErdwegKRKOV11gpce, title = {Growing a language environment with editor libraries}, author = {Sebastian Erdweg and Lennart C. L. Kats and Tillmann Rendel and Christian Kästner and Klaus Ostermann and Eelco Visser}, year = {2011}, doi = {10.1145/2047862.2047891}, url = {http://doi.acm.org/10.1145/2047862.2047891}, researchr = {https://researchr.org/publication/ErdwegKRKOV11gpce}, cites = {0}, citedby = {0}, pages = {167-176}, booktitle = {Generative Programming And Component Engineering, Proceedings of the 10th International Conference on Generative Programming and Component Engineering, GPCE 2011, Portland, Oregon, USA, October 22-24, 2011}, editor = {Ewen Denney and Ulrik Pagh Schultz}, publisher = {ACM}, isbn = {978-1-4503-0689-8}, } @techreport{HemelVisser2011-TUD-SERG-2011-024, title = {Declaratively Programming the Mobile Web with Mobl}, author = {Zef Hemel and Eelco Visser}, year = {2011}, month = {August}, tags = {programming languages, optimization, interaction design, rule-based, meta programming, data-flow language, pattern language, meta-model, modeling language, modeling, language modeling, language design, constraints, data-flow programming, data-flow, mobile code, code generation, logic programming, web applications, programming, logic, program optimization, Meta-Environment, design, mobile, query language, domain-specific language}, researchr = {https://researchr.org/publication/HemelVisser2011-TUD-SERG-2011-024}, cites = {0}, citedby = {0}, institution = {Delft University of Technology}, number = {TUD-SERG-2011-024}, address = {Delft, The Netherlands}, } @article{BrandV96, title = {Generation of Formatters for Context-Free Languages}, author = {Mark G. J. van den Brand and Eelco Visser}, year = {1996}, doi = {10.1145/226155.226156}, url = {https://doi.org/10.1145/226155.226156}, tags = {programming languages, rule-based, translation, meta programming, SDF, interpreter, abstract syntax, language engineering, software language engineering, reuse, source-to-source, software engineering, rules, algebraic specification, source code formatting, code generation, pretty-printing, algebra, programming, context-aware, Meta-Environment, systematic-approach, ASF+SDF, open-source, grammar}, researchr = {https://researchr.org/publication/BrandV96}, cites = {46}, citedby = {12}, journal = {ACM Transactions on Software Engineering Methodology}, volume = {5}, number = {1}, pages = {1-41}, } @inproceedings{Visser99-bootstrap, title = {A Bootstrapped Compiler for Strategies (Extended Abstract)}, author = {Eelco Visser}, year = {1999}, month = {July 5}, researchr = {https://researchr.org/publication/Visser99-bootstrap}, cites = {0}, citedby = {0}, pages = {73-83}, booktitle = {Strategies in Automated Deduction (STRATEGIES'99)}, address = {Trento, Italy}, } @inproceedings{ChasteletVA15, title = {Conf.Researchr.Org: towards a domain-specific content management system for managing large conference websites}, author = {Elmer van Chastelet and Eelco Visser and Craig Anslow}, year = {2015}, doi = {10.1145/2814189.2817270}, url = {http://doi.acm.org/10.1145/2814189.2817270}, researchr = {https://researchr.org/publication/ChasteletVA15}, cites = {0}, citedby = {0}, pages = {50-51}, booktitle = {Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity}, editor = {Jonathan Aldrich and Patrick Eugster}, publisher = {ACM}, isbn = {978-1-4503-3722-9}, } @article{SloaneKV13, title = {A pure embedding of attribute grammars}, author = {Anthony M. Sloane and Lennart C. L. Kats and Eelco Visser}, year = {2013}, doi = {10.1016/j.scico.2011.11.005}, url = {http://dx.doi.org/10.1016/j.scico.2011.11.005}, researchr = {https://researchr.org/publication/SloaneKV13}, cites = {0}, citedby = {0}, journal = {Science of Computer Programming}, volume = {78}, number = {10}, pages = {1752-1769}, } @inproceedings{KonatSEV19, title = {Precise, Efficient, and Expressive Incremental Build Scripts with {PIE}}, author = {Gabriël Konat and Roelof Sol and Sebastian Erdweg and Eelco Visser}, year = {2019}, researchr = {https://researchr.org/publication/KonatSEV19}, cites = {0}, citedby = {0}, booktitle = {Second Workshop on Incremental Computing (IC 2019)}, } @incollection{Visser96, title = {Multi-Level Specifications}, author = {Eelco Visser}, year = {1996}, month = {September}, tags = {semantics, rule-based, syntax definition, SDF, multi-level specification, language design, type system, rules, algebraic specification, C++, type checking, algebra, abstraction, design, ASF+SDF, language prototyping}, researchr = {https://researchr.org/publication/Visser96}, cites = {0}, citedby = {0}, booktitle = {Language Prototyping. An Algebraic Specification Approach}, editor = {Arie van Deursen and Jan Heering and Paul Klint}, volume = {5}, series = {AMAST Series in Computing}, address = {Singapore}, publisher = {World Scientific}, } @article{OlmosV02, title = {Strategies for Source-to-Source Constant Progagation}, author = {Karina Olmos and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80605-4}, url = {https://doi.org/10.1016/S1571-0661(04)80605-4}, tags = {control systems, model-to-model transformation, optimization, rule-based, graph transformation, dynamic rewrite rules, abstract syntax, Stratego/XT, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, transformation system, model transformation, program optimization, rewriting, constant propagation, rewriting strategies, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/OlmosV02}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {70}, number = {6}, pages = {156-175}, } @inproceedings{GroenewegenCV20, title = {Evolution of the WebDSL runtime: reliability engineering of the WebDSL web programming language}, author = {Danny M. Groenewegen and Elmer van Chastelet and Eelco Visser}, year = {2020}, doi = {10.1145/3397537.3397553}, url = {https://doi.org/10.1145/3397537.3397553}, tags = {WebDSL}, researchr = {https://researchr.org/publication/GroenewegenCV20}, cites = {0}, citedby = {0}, pages = {77-83}, booktitle = {Programming'20: 4th International Conference on the Art, Science, and Engineering of Programming, Porto, Portugal, March 23-26, 2020}, editor = {Ademar Aguiar and Shigeru Chiba and Elisa Gonzalez Boix}, publisher = {ACM}, isbn = {978-1-4503-7507-8}, } @article{SmitsKV20, title = {Constructing Hybrid Incremental Compilers for Cross-Module Extensibility with an Internal Build System}, author = {Jeff Smits and Gabriël Konat and Eelco Visser}, year = {2020}, doi = {10.22152/programming-journal.org/2020/4/16}, url = {https://doi.org/10.22152/programming-journal.org/2020/4/16}, researchr = {https://researchr.org/publication/SmitsKV20}, cites = {0}, citedby = {0}, journal = {Programming Journal}, volume = {4}, number = {3}, pages = {16}, } @inproceedings{Visser07, title = {{WebDSL}: {A} Case Study in Domain-Specific Language Engineering}, author = {Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-88643-3_7}, url = {http://dx.doi.org/10.1007/978-3-540-88643-3_7}, tags = {WebDSL, reusable components, DSL engineering, web application development, data-flow language, pattern language, case study, software components, SDF, meta-model, abstract syntax, modeling language, Stratego/XT, language engineering, software language engineering, language modeling, software component, web engineering, language design, reuse, model-driven development, data-flow, survey, software engineering, model-driven engineering, web applications, DSL, Meta-Environment, incremental, design, process modeling, systematic-approach, ASF+SDF, language, Stratego, domain-specific language}, researchr = {https://researchr.org/publication/Visser07}, cites = {0}, citedby = {9}, pages = {291-373}, booktitle = {Generative and Transformational Techniques in Software Engineering II, International Summer School, {GTTSE} 2007}, editor = {Ralf Lämmel and Joost Visser and João Saraiva}, volume = {5235}, series = {Lecture Notes in Computer Science}, address = {Braga, Portugal}, publisher = {Springer}, isbn = {978-3-540-88642-6}, } @inproceedings{AmorimSEV18, title = {Declarative specification of indentation rules: a tooling perspective on parsing and pretty-printing layout-sensitive languages}, author = {Luis Eduardo de Souza Amorim and Michael J. Steindorfer and Sebastian Erdweg and Eelco Visser}, year = {2018}, doi = {10.1145/3276604.3276607}, url = {https://doi.org/10.1145/3276604.3276607}, researchr = {https://researchr.org/publication/AmorimSEV18}, cites = {0}, citedby = {0}, pages = {3-15}, booktitle = {Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, Boston, MA, USA, November 05-06, 2018}, editor = {David Pearce 0005 and Tanja Mayerhofer and Friedrich Steimann}, publisher = {ACM}, isbn = {978-1-4503-6029-6}, } @misc{PelsmaekerV18, title = {Toward a Language-Parametric Code Completion Editor Service}, author = {Daniel A. A. Pelsmaeker and Eelco Visser}, year = {2018}, researchr = {https://researchr.org/publication/PelsmaekerV18}, cites = {0}, citedby = {0}, howpublished = {Poster at SPLASH}, } @article{ErdwegEPV15, title = {Domain-Specific Languages (Dagstuhl Seminar 15062)}, author = {Sebastian Erdweg and Martin Erwig and Richard F. Paige and Eelco Visser}, year = {2015}, doi = {10.4230/DagRep.5.2.26}, url = {http://dx.doi.org/10.4230/DagRep.5.2.26}, researchr = {https://researchr.org/publication/ErdwegEPV15}, cites = {0}, citedby = {0}, journal = {Dagstuhl Reports}, volume = {5}, number = {2}, pages = {26-43}, } @inproceedings{PelsmaekerAV19-SPLASH, title = {Towards language-parametric semantic editor services based on declarative type system specifications}, author = {Daniël A. A. Pelsmaeker and Hendrik van Antwerpen and Eelco Visser}, year = {2019}, doi = {10.1145/3359061.3362782}, url = {https://doi.org/10.1145/3359061.3362782}, researchr = {https://researchr.org/publication/PelsmaekerAV19-SPLASH}, cites = {0}, citedby = {0}, pages = {19-20}, booktitle = {Proceedings Companion of the 2019 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, SPLASH 2019, Athens, Greece, October 20-25, 2019}, editor = {Yannis Smaragdakis}, publisher = {ACM}, isbn = {978-1-4503-6992-3}, } @techreport{TUD-SERG-2015-006, title = {Language-Independent Type-Dependent Name Resolution}, author = {Hendrik van Antwerpen and Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, month = {July}, researchr = {https://researchr.org/publication/TUD-SERG-2015-006}, cites = {0}, citedby = {0}, institution = {Delft University of Technology, Software Engineering Research Group}, number = {TUD-SERG-2015-006}, address = {Delft, The Netherlands}, } @inproceedings{KonatEV16-LIVE, title = {Towards Live Language Development}, author = {Gabriël Konat and Sebastian Erdweg and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/KonatEV16-LIVE}, cites = {0}, citedby = {0}, booktitle = {Workshop on Live Programming Systems (LIVE)}, } @techreport{DeJongeVisser2012-TR, title = {Automated Evaluation of Syntax Error Recovery }, author = {Maartje de Jonge and Eelco Visser}, year = {2012}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2012-009.pdf}, tags = {rule-based, source-to-source, parsing, systematic-approach, open-source}, researchr = {https://researchr.org/publication/DeJongeVisser2012-TR}, cites = {0}, citedby = {0}, institution = {Delft University of Technology, Software Engineering Research Group}, number = {TUD-SERG-2012-035}, address = {Delft, The Netherlands}, } @inproceedings{VerguV18, title = {Specializing a meta-interpreter: JIT compilation of {D}ynsem specifications on the {G}raal VM}, author = {Vlad A. Vergu and Eelco Visser}, year = {2018}, doi = {10.1145/3237009.3237018}, url = {https://doi.org/10.1145/3237009.3237018}, researchr = {https://researchr.org/publication/VerguV18}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the 15th International Conference on Managed Languages \& Runtimes, ManLang 2018, Linz, Austria, September 12-14, 2018}, editor = {Eli Tilevich and Hanspeter Mössenböck}, publisher = {ACM}, isbn = {978-1-4503-6424-9}, } @inproceedings{Visser95, title = {A Family of Syntax Definition Formalisms}, author = {Eelco Visser}, year = {1995}, month = {May}, tags = {syntax definition, SDF, lexical syntax, syntax definition formalism, abstract syntax, disambiguation, algebraic specification, algebra, context-aware, parsing, design, ASF+SDF}, researchr = {https://researchr.org/publication/Visser95}, cites = {0}, citedby = {0}, booktitle = {{ASF+SDF 1995}. A Workshop on Generating Tools from Algebraic Specifications}, editor = {Mark G. J. van den Brand and Vania Vieira Estrela}, publisher = {Technical Report P9504, Programming Research Group, University of Amsterdam}, } @inproceedings{SmitsV17, title = {{FlowSpec}: declarative dataflow analysis specification}, author = {Jeff Smits and Eelco Visser}, year = {2017}, doi = {10.1145/3136014.3136029}, url = {http://doi.acm.org/10.1145/3136014.3136029}, researchr = {https://researchr.org/publication/SmitsV17}, cites = {0}, citedby = {0}, pages = {221-231}, booktitle = {Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, Vancouver, BC, Canada, October 23-24, 2017}, editor = {Benoît Combemale and Marjan Mernik and Bernhard Rumpe}, publisher = {ACM}, isbn = {978-1-4503-5525-4}, } @inproceedings{LammelVV03, title = {Strategic programming meets adaptive programming}, author = {Ralf Lämmel and Eelco Visser and Joost Visser}, year = {2003}, doi = {10.1145/643603.643621}, url = {http://doi.acm.org/10.1145/643603.643621}, tags = {object-oriented programming, meta programming, generic programming, separation of concerns, traversal, data-flow programming, data-flow, strategies, graph-rewriting, adaptive programming, strategic programming, aspect oriented programming, programming, subject-oriented programming, Meta-Environment, rewriting, systematic-approach, rewriting strategies, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/LammelVV03}, cites = {0}, citedby = {1}, pages = {168-177}, booktitle = {AOSD}, } @inproceedings{PelsmaekerAV19, title = {Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications (Brave New Idea Paper)}, author = {Daniël A. A. Pelsmaeker and Hendrik van Antwerpen and Eelco Visser}, year = {2019}, doi = {10.4230/LIPIcs.ECOOP.2019.26}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2019.26}, researchr = {https://researchr.org/publication/PelsmaekerAV19}, cites = {0}, citedby = {0}, booktitle = {33rd European Conference on Object-Oriented Programming, ECOOP 2019, July 15-19, 2019, London, United Kingdom}, editor = {Alastair F. Donaldson}, volume = {134}, series = {LIPIcs}, publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik}, isbn = {978-3-95977-111-5}, } @inproceedings{Visser02, title = {Meta-programming with Concrete Object Syntax}, author = {Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45821-2_19}, url = {https://doi.org/10.1007/3-540-45821-2_19}, tags = {programming languages, model-to-model transformation, object-oriented programming, concrete object syntax, syntax definition, meta programming, case study, SDF, meta-model, abstract syntax, Stratego/XT, transformation language, source-to-source, model transformation, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser02}, cites = {23}, citedby = {6}, pages = {299-315}, booktitle = {Generative Programming and Component Engineering, ACM SIGPLAN/SIGSOFT Conference, GPCE 2002, Pittsburgh, PA, USA, October 6-8, 2002, Proceedings}, editor = {Don S. Batory and Charles Consel and Walid Taha}, volume = {2487}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-44284-7}, } @techreport{TUD-SERG-2017-011, title = {The Semantics of Name Resolution in Grace}, author = {Vlad Vergu and Michiel Haisma and Eelco Visser}, year = {2017}, doi = {10.1145/3170472.3133847}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2017-011.pdf}, note = {Available at \url{http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2017-011.pdf}}, researchr = {https://researchr.org/publication/TUD-SERG-2017-011}, cites = {0}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2017-011}, } @inproceedings{GroenewegenV09, title = {Integration of Data Validation and User Interface Concerns in a DSL for Web Applications}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-12107-4_13}, url = {http://dx.doi.org/10.1007/978-3-642-12107-4_13}, tags = {data validation, data-flow, web applications, DSL}, researchr = {https://researchr.org/publication/GroenewegenV09}, cites = {0}, citedby = {0}, pages = {164-173}, booktitle = {Software Language Engineering, Second International Conference, SLE 2009}, editor = {Mark G. J. van den Brand and Dragan Gasevic and Jeffrey G. Gray}, volume = {5969}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-12106-7}, } @techreport{preprint-Vis00, title = {Language Independent Traversals for Program Transformation}, author = {Eelco Visser}, year = {2000}, month = {July}, tags = {programming languages, rule-based, syntax definition, data-flow language, pattern language, generic programming, abstract syntax, traversal, transformation language, data-flow programming, data-flow, rules, C++, pattern matching, code generation, logic programming, compiler, programming, logic, higher-order transformations, systematic-approach, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/preprint-Vis00}, cites = {0}, citedby = {0}, type = {Preprint}, } @techreport{TUD-SERG-2015-001, title = {A Theory of Name Resolution with extended Coverage and Proofs}, author = {Pierre Neron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, month = {January}, note = {Extended version of ESOP 2015 paper "A Theory of Name Resolution"}, researchr = {https://researchr.org/publication/TUD-SERG-2015-001}, cites = {0}, citedby = {0}, institution = {Software Engineering Research Group. Delft University of Technology}, type = {Technical Report}, number = {TUD-SERG-2015-001}, } @inproceedings{BurgDV09, title = {Software deployment in a dynamic cloud: From device to service orientation in a hospital environment}, author = {Sander van der Burg and Eelco Dolstra and Eelco Visser and Merijn de Jonge}, year = {2009}, month = {May}, doi = {10.1109/CLOUD.2009.5071534}, url = {http://dx.doi.org/10.1109/CLOUD.2009.5071534}, tags = {deployment, software architecture, software components, distributed deployment, meta-model, architecture, software deployment, Nix, software component, Meta-Environment}, researchr = {https://researchr.org/publication/BurgDV09}, cites = {0}, citedby = {0}, booktitle = {CLOUD '09: Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing}, editor = {Kamal Bhattacharya and Martin Bichler and Stefan Tai}, address = {Vancouver, Canada}, publisher = {IEEE Computer Society}, } @inproceedings{ErdwegKRKOV11-extensibility, title = {SugarJ: library-based language extensibility}, author = {Sebastian Erdweg and Lennart C. L. Kats and Tillmann Rendel and Christian Kästner and Klaus Ostermann and Eelco Visser}, year = {2011}, doi = {10.1145/2048147.2048199}, url = {http://doi.acm.org/10.1145/2048147.2048199}, tags = {rule-based, C++, extensible language}, researchr = {https://researchr.org/publication/ErdwegKRKOV11-extensibility}, cites = {0}, citedby = {0}, pages = {187-188}, booktitle = {Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011}, publisher = {ACM}, isbn = {978-1-4503-0942-4}, } @misc{Visser99-compiler, title = {The Stratego Compiler. Specification of a Strategy Language}, author = {Eelco Visser}, year = {1999}, researchr = {https://researchr.org/publication/Visser99-compiler}, cites = {0}, citedby = {0}, howpublished = {Draft}, } @misc{SmitsV20-Artifact, title = {Gradually Typing Strategies - Artifact}, author = {Jeff Smits and Eelco Visser}, year = {2020}, month = {September}, doi = {10.5281/zenodo.4032445}, url = {https://doi.org/10.5281/zenodo.4032445}, researchr = {https://researchr.org/publication/SmitsV20-Artifact}, cites = {0}, citedby = {0}, howpublished = {Zenodo}, } @inproceedings{Visser03, title = {Program Transformation with {Stratego/XT}: Rules, Strategies, Tools, and Systems in {Stratego/XT 0.9}}, author = {Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_13}, url = {https://doi.org/10.1007/978-3-540-25935-0_13}, tags = {control systems, programming languages, rule-based, graph transformation, Stratego/XT, transformation language, composition, graph-rewriting, rules, programming paradigms, transformation system, abstraction, rewriting, parsing, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser03}, cites = {0}, citedby = {4}, pages = {216-238}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @inproceedings{VermolenV08, title = {Heterogeneous Coupled Evolution of Software Languages}, author = {Sander Vermolen and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-87875-9_44}, url = {http://dx.doi.org/10.1007/978-3-540-87875-9_44}, tags = {model-to-model transformation, software architecture, coupled, data-flow language, meta-model, XML, evolution, modeling language, heterogeneous, XML Schema, languages, modeling, transformation language, coupled evolution, architecture, language modeling, model, data-flow, software evolution, format evolution, source-to-source, model transformation, database, abstraction, software languages, Meta-Environment, systematic-approach, meta-objects, transformation, grammar, domain-specific language}, researchr = {https://researchr.org/publication/VermolenV08}, cites = {0}, citedby = {3}, pages = {630-644}, booktitle = {Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings}, editor = {Krzysztof Czarnecki and Ileana Ober and Jean-Michel Bruel and Axel Uhl and Markus Völter}, volume = {5301}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-87874-2}, } @unpublished{JongeVV01-CSD, title = {Collaborative Software Development}, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, year = {2001}, note = {Unpublished draft}, researchr = {https://researchr.org/publication/JongeVV01-CSD}, cites = {0}, citedby = {0}, } @article{KonatSEV18, title = {{PIE}: A Domain-Specific Language for Interactive Software Development Pipelines}, author = {Gabriël Konat and Michael J. Steindorfer and Sebastian Erdweg and Eelco Visser}, year = {2018}, doi = {10.22152/programming-journal.org/2018/2/9}, url = {https://doi.org/10.22152/programming-journal.org/2018/2/9}, researchr = {https://researchr.org/publication/KonatSEV18}, cites = {0}, citedby = {0}, journal = {Programming Journal}, volume = {2}, number = {3}, pages = {9}, } @techreport{preprint-PoulsenRTKV18, title = {Intrinsically-typed definitional interpreters for imperative languages}, author = {Casper Bach Poulsen and Arjen Rouvoet and Andrew P. Tolmach and Robbert Krebbers and Eelco Visser}, year = {2018}, researchr = {https://researchr.org/publication/preprint-PoulsenRTKV18}, cites = {0}, citedby = {0}, type = {Preprint}, } @misc{Visser92, title = {Syntax and Static Semantics of Eiffel. A Case Study in Algebraic Specification Techniques}, author = {Eelco Visser}, year = {1992}, month = {December}, researchr = {https://researchr.org/publication/Visser92}, cites = {0}, citedby = {0}, } @techreport{KlintV94-P9426, title = {Using Filters for the Disambiguation of Context-free Grammars}, author = {Paul Klint and Eelco Visser}, year = {1994}, month = {October}, tags = {case study, disambiguation, context-aware, parsing, grammar, domain-specific language}, researchr = {https://researchr.org/publication/KlintV94-P9426}, cites = {0}, citedby = {0}, institution = {Programming Research Group, University of Amsterdam}, type = {Technical Report}, number = {P9426}, } @misc{HarkesV17-IC, title = {IceDust Calculation Strategy Composition Performance in Web Applications}, author = {Daco Harkes and Eelco Visser}, year = {2017}, researchr = {https://researchr.org/publication/HarkesV17-IC}, cites = {0}, citedby = {0}, } @article{RouvoetAPKV20, title = {Knowing when to ask: sound scheduling of name resolution in type checkers derived from declarative specifications}, author = {Arjen Rouvoet and Hendrik van Antwerpen and Casper Bach Poulsen and Robbert Krebbers and Eelco Visser}, year = {2020}, doi = {10.1145/3428248}, url = {https://doi.org/10.1145/3428248}, researchr = {https://researchr.org/publication/RouvoetAPKV20}, cites = {0}, citedby = {0}, journal = {Proceedings of the ACM on Programming Languages}, volume = {4}, number = {OOPSLA}, } @article{CabotV12-0, title = {ICMT 2011 Special Section}, author = {Jordi Cabot and Eelco Visser}, year = {2012}, doi = {10.5381/jot.2012.11.2.e2}, url = {http://dx.doi.org/10.5381/jot.2012.11.2.e2}, researchr = {https://researchr.org/publication/CabotV12-0}, cites = {0}, citedby = {0}, journal = {Journal of Object Technology}, volume = {11}, number = {2}, } @inproceedings{VerguHV17, title = {The semantics of name resolution in grace}, author = {Vlad A. Vergu and Michiel Haisma and Eelco Visser}, year = {2017}, doi = {10.1145/3133841.3133847}, url = {https://doi.org/10.1145/3133841.3133847}, researchr = {https://researchr.org/publication/VerguHV17}, cites = {0}, citedby = {0}, pages = {63-74}, booktitle = {Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages, Vancouver, BC, Canada, October 23 - 27, 2017}, editor = {Davide Ancona}, publisher = {ACM}, isbn = {978-1-4503-5526-1}, } @inproceedings{KlintV94, title = {Using Filters for the Disambiguation of Context-free Grammars}, author = {Paul Klint and Eelco Visser}, year = {1994}, month = {October}, tags = {case study, disambiguation, context-aware, parsing, grammar, domain-specific language}, researchr = {https://researchr.org/publication/KlintV94}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the ASMICS Workshop on Parsing Theory}, address = {Milano, Italy}, publisher = {Tech. Rep. 126--1994, Dipartimento di Scienze dell'Informazione, Universit\`a di Milano}, } @phdthesis{Visser97, title = {Syntax Definition for Language Prototyping}, author = {Eelco Visser}, year = {1997}, month = {September}, tags = {syntax definition, SDF, syntax definition formalism, disambiguation, testing, language design, graph-rewriting, algebraic specification, algebra, context-aware, rewriting, parsing, design, scannerless parsing, ASF+SDF, SGLR}, researchr = {https://researchr.org/publication/Visser97}, cites = {0}, citedby = {6}, school = {University of Amsterdam}, advisor = {Paul Klint}, } @inproceedings{KatsV10scam, title = {Encapsulating Software Platform Logic by Aspect-Oriented Programming: A Case Study in Using Aspects for Language Portability}, author = {Lennart C. L. Kats and Eelco Visser}, year = {2010}, doi = {10.1109/SCAM.2010.11}, url = {http://dx.doi.org/10.1109/SCAM.2010.11}, tags = {programming languages, object-oriented programming, case study, C++, logic programming, aspect oriented programming, programming, subject-oriented programming, logic, feature-oriented programming}, researchr = {https://researchr.org/publication/KatsV10scam}, cites = {0}, citedby = {0}, pages = {147-156}, booktitle = {Tenth IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2010, Timisoara, Romania, 12-13 September 2010}, publisher = {IEEE Computer Society}, isbn = {978-0-7695-4178-5}, } @inproceedings{KatsJNV09, title = {Providing rapid feedback in generated modular language environments: adding error recovery to scannerless {generalized-LR} parsing}, author = {Lennart C. L. Kats and Maartje de Jonge and Emma Nilsson-Nyman and Eelco Visser}, year = {2009}, doi = {10.1145/1640089.1640122}, url = {http://doi.acm.org/10.1145/1640089.1640122}, tags = {parsing algorithm, semantics, rule-based, Java, SDF, composition, analysis, principles, C++, code generation, context-aware, Meta-Environment, parsing, scannerless parsing, systematic-approach, island grammars, ASF+SDF, grammar, Stratego}, researchr = {https://researchr.org/publication/KatsJNV09}, cites = {0}, citedby = {1}, pages = {445-464}, booktitle = {Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009}, editor = {Shail Arora and Gary T. Leavens}, publisher = {ACM}, isbn = {978-1-60558-766-0}, } @techreport{TUD-SERG-2016-010, title = {Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics}, author = {Casper Bach Poulsen and Pierre Neron and Andrew P. Tolmach and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/TUD-SERG-2016-010}, cites = {0}, citedby = {0}, institution = {Delft University of Technology, Programming Languages Research Group}, number = {TUD-SERG-2016-010}, address = {Delft, The Netherlands}, } @techreport{TUD-SERG-2013-017, title = {Understanding Software through Linguistic Abstraction}, author = {Eelco Visser}, year = {2013}, month = {October}, note = {(To appear in Science of Computer Programming)}, researchr = {https://researchr.org/publication/TUD-SERG-2013-017}, cites = {19}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, type = {Technical Report}, number = {TUD-SERG-2013-017}, address = {Delft, The Netherlands}, } @inproceedings{BravenboerV08, title = {Parse Table Composition}, author = {Martin Bravenboer and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-00434-6_6}, url = {http://dx.doi.org/10.1007/978-3-642-00434-6_6}, tags = {parsing algorithm, programming languages, deployment, syntax definition, SDF, composition, source-to-source, parse table composition, compiler, programming, language composition, parsing, extensible language, ASF+SDF, open-source, grammar, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV08}, cites = {0}, citedby = {0}, pages = {74-94}, booktitle = {Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers}, editor = {Dragan Gasevic and Ralf Lämmel and Eric {Van Wyk}}, volume = {5452}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00433-9}, } @article{JohannV01, title = {Fusing Logic and Control with Local Transformations: An Example Optimization}, author = {Patricia Johann and Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00271-3}, url = {https://doi.org/10.1016/S1571-0661(04)00271-3}, tags = {programming languages, optimization, reusable components, rule-based, generic programming, graph transformation, separation of concerns, Stratego/XT, transformation language, term rewriting, reuse, graph-rewriting, rules, logic programming, programming, context-aware, logic, program optimization, innermost rewriting, rewriting logic, rewriting, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/JohannV01}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {57}, pages = {144-162}, } @inproceedings{HarkesV14, title = {Unifying and Generalizing Relations in Role-Based Data Modeling and Navigation}, author = {Daco Harkes and Eelco Visser}, year = {2014}, doi = {10.1007/978-3-319-11245-9_14}, url = {http://dx.doi.org/10.1007/978-3-319-11245-9_14}, researchr = {https://researchr.org/publication/HarkesV14}, cites = {0}, citedby = {0}, pages = {241-260}, booktitle = {Software Language Engineering - 7th International Conference, SLE 2014, V\"asteras, Sweden, September 15-16, 2014. Proceedings}, editor = {Benoît Combemale and David J. Pearce and Olivier Barais and Jurgen J. Vinju}, volume = {8706}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-319-11244-2}, } @inproceedings{KatsBV08, title = {Mixing source and bytecode: a case for compilation by normalization}, author = {Lennart C. L. Kats and Martin Bravenboer and Eelco Visser}, year = {2008}, doi = {10.1145/1449764.1449772}, url = {http://doi.acm.org/10.1145/1449764.1449772}, tags = {compilation by normalization, rule-based, Java, synchronization, translation, meta-model, modeling language, Stratego/XT, language modeling, composition, constraints, source-to-source, C++, Dryad, security, compiler, Meta-Environment, extensible language, systematic-approach, open-source, Stratego, JavaFront, domain-specific language}, researchr = {https://researchr.org/publication/KatsBV08}, cites = {44}, citedby = {3}, pages = {91-108}, booktitle = {Proceedings of the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-23, 2008, Nashville, TN, USA}, editor = {Gail E. Harris}, publisher = {ACM}, isbn = {978-1-60558-215-3}, } @article{GluckV11, title = {Special Issue on Generative Programming and Component Engineering (Selected Papers from GPCE 2004/2005)}, author = {Robert Glück and Eelco Visser}, year = {2011}, month = {May}, doi = {10.1016/j.scico.2011.02.001}, url = {http://dx.doi.org/10.1016/j.scico.2011.02.001}, tags = {generative programming, programming}, researchr = {https://researchr.org/publication/GluckV11}, cites = {0}, citedby = {0}, journal = {Science of Computer Programming}, volume = {76}, number = {5}, pages = {347-348}, } @techreport{VermolenWachsmuthVisser-TUD-SERG-2011-026, title = {Reconstructing Complex Metamodel Evolution}, author = {Sander Vermolen and Guido Wachsmuth and Eelco Visser}, year = {2011}, month = {August}, tags = {meta-model, migration, Meta-Environment, systematic-approach}, researchr = {https://researchr.org/publication/VermolenWachsmuthVisser-TUD-SERG-2011-026}, cites = {0}, citedby = {0}, institution = {Delft University of Technology}, number = {TUD-SERG-2011-026}, address = {Delft, The Netherlands}, } @misc{HaismaVV17, title = {Grace in {Spoofax}: Readable Specification and Implementation in One}, author = {Michiel Haisma and Vlad Vergu and Eelco Visser}, year = {2016}, researchr = {https://researchr.org/publication/HaismaVV17}, cites = {0}, citedby = {0}, howpublished = {Presented at GRACE 2016}, } @inproceedings{HarkesGV16, title = {IceDust: Incremental and Eventual Computation of Derived Values in Persistent Object Graphs}, author = {Daco Harkes and Danny M. Groenewegen and Eelco Visser}, year = {2016}, doi = {10.4230/LIPIcs.ECOOP.2016.11}, url = {http://dx.doi.org/10.4230/LIPIcs.ECOOP.2016.11}, researchr = {https://researchr.org/publication/HarkesGV16}, cites = {0}, citedby = {0}, booktitle = {30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18-22, 2016, Rome, Italy}, editor = {Shriram Krishnamurthi and Benjamin S. Lerner}, volume = {56}, series = {LIPIcs}, publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik}, isbn = {978-3-95977-014-9}, } @techreport{DolstraV01, title = {First-class Rules and Generic Traversal}, author = {Eelco Dolstra and Eelco Visser}, year = {2001}, researchr = {https://researchr.org/publication/DolstraV01}, cites = {0}, citedby = {0}, institution = {Utrecht University}, number = {CS-2001-38}, } @inproceedings{JongeV12-LDTA, title = {A language generic solution for name binding preservation in refactorings}, author = {Maartje de Jonge and Eelco Visser}, year = {2012}, doi = {10.1145/2427048.2427050}, url = {http://doi.acm.org/10.1145/2427048.2427050}, researchr = {https://researchr.org/publication/JongeV12-LDTA}, cites = {0}, citedby = {0}, pages = {2}, booktitle = {International Workshop on Language Descriptions, Tools, and Applications, LDTA '12, Tallinn, Estonia, March 31 - April 1, 2012}, editor = {Anthony Sloane and Suzana Andova}, publisher = {ACM}, isbn = {978-1-4503-1536-4}, } @inproceedings{VermolenWV11sle, title = {Reconstructing Complex Metamodel Evolution}, author = {Sander Vermolen and Guido Wachsmuth and Eelco Visser}, year = {2011}, doi = {10.1007/978-3-642-28830-2_11}, url = {http://dx.doi.org/10.1007/978-3-642-28830-2_11}, researchr = {https://researchr.org/publication/VermolenWV11sle}, cites = {0}, citedby = {0}, pages = {201-221}, booktitle = {Software Language Engineering - 4th International Conference, SLE 2011, Braga, Portugal, July 3-4, 2011, Revised Selected Papers}, editor = {Anthony M. Sloane and Uwe Aßmann}, volume = {6940}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-28829-6}, } @inproceedings{DuranRBBBCEEJK10, title = {The Third Rewrite Engines Competition}, author = {Francisco Durán and Manuel Roldán and Jean-Christophe Bach and Emilie Balland and Mark G. J. van den Brand and James R. Cordy and Steven Eker and Luc Engelen and Maartje de Jonge and Karl Trygve Kalleberg and Lennart C. L. Kats and Pierre-Etienne Moreau and Eelco Visser}, year = {2010}, doi = {10.1007/978-3-642-16310-4_16}, url = {http://dx.doi.org/10.1007/978-3-642-16310-4_16}, tags = {graph-rewriting, C++, rewriting}, researchr = {https://researchr.org/publication/DuranRBBBCEEJK10}, cites = {0}, citedby = {0}, pages = {243-261}, booktitle = {Rewriting Logic and Its Applications - 8th International Workshop, WRLA 2010, Held as a Satellite Event of ETAPS 2010, Paphos, Cyprus, March 20-21, 2010, Revised Selected Papers}, editor = {Peter Csaba Ölveczky}, volume = {6381}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-16309-8}, } @inproceedings{AntwerpenV21, title = {Scope States: Guarding Safety of Name Resolution in Parallel Type Checkers}, author = {Hendrik van Antwerpen and Eelco Visser}, year = {2021}, doi = {10.4230/LIPIcs.ECOOP.2021.1}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2021.1}, researchr = {https://researchr.org/publication/AntwerpenV21}, cites = {0}, citedby = {0}, booktitle = {35th European Conference on Object-Oriented Programming, ECOOP 2021, July 11-17, 2021, Aarhus, Denmark (Virtual Conference)}, editor = {Anders Møller and Manu Sridharan}, volume = {194}, series = {LIPIcs}, publisher = {Schloss Dagstuhl - Leibniz-Zentrum für Informatik}, isbn = {978-3-95977-190-0}, } @article{DolstraFJV04, title = {Transparantie in variabiliteit: Heldere keuzes in een eenduidige configuratieomgeving}, author = {Eelco Dolstra and Gert Florijn and Merijn de Jonge and Eelco Visser}, year = {2004}, month = {February}, researchr = {https://researchr.org/publication/DolstraFJV04}, cites = {0}, citedby = {0}, journal = {Informatie}, volume = {46}, number = {1}, pages = {18-21}, } @article{VisserB98, title = {A core language for rewriting}, author = {Eelco Visser and Zine-El-Abidine Benaissa}, year = {1998}, doi = {10.1016/S1571-0661(05)80027-1}, url = {http://dx.doi.org/10.1016/S1571-0661(05)80027-1}, tags = {rule-based, SDF, graph transformation, traversal, transformation language, term rewriting, graph-rewriting, rules, transformation system, abstraction, rewriting, rewriting strategies, ASF+SDF, transformation}, researchr = {https://researchr.org/publication/VisserB98}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {15}, pages = {422-441}, } @inproceedings{HemelVV08, title = {{WebWorkFlow}: An Object-Oriented Workflow Modeling Language for Web Applications}, author = {Zef Hemel and Ruben Verhaaf and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-87875-9_8}, url = {http://dx.doi.org/10.1007/978-3-540-87875-9_8}, tags = {workflow patterns, model-to-model transformation, interaction design, WebDSL, transformation engineering, completeness, pattern language, meta-model, modeling language, modeling, language engineering, transformation language, language modeling, web engineering, language design, model-driven development, source-to-source, model-driven engineering, object-role modeling, model transformation, web applications, DSL, abstraction, Meta-Environment, workflow, process modeling, WebWorkFlow, meta-objects, transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelVV08}, cites = {0}, citedby = {6}, pages = {113-127}, booktitle = {Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings}, editor = {Krzysztof Czarnecki and Ileana Ober and Jean-Michel Bruel and Axel Uhl and Markus Völter}, volume = {5301}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-87874-2}, } @article{KallebergV08, title = {Fusing a Transformation Language with an Open Compiler}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2008}, doi = {10.1016/j.entcs.2008.03.042}, url = {http://dx.doi.org/10.1016/j.entcs.2008.03.042}, tags = {programming languages, model-to-model transformation, object-oriented programming, rule-based, Java, program analysis, Eclipse, completeness, data-flow language, graph transformation, interpreter, abstract syntax, Stratego/XT, transformation language, term rewriting, functional programming, Eclipse Java Compiler, points-to analysis, domain analysis, analysis, type system, reuse, data-flow programming, data-flow, source-to-source, graph-rewriting, logic programming, transformation system, compiler, model transformation, open compiler, subject-oriented programming, context-aware, logic, Spoofax, rewriting logic, rewriting, data-flow analysis, parsing, feature-oriented programming, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/KallebergV08}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {21-36}, } @inproceedings{Visser01, title = {Stratego: A Language for Program Transformation Based on Rewriting Strategies}, author = {Eelco Visser}, year = {2001}, doi = {10.1007/3-540-45127-7_27}, url = {https://doi.org/10.1007/3-540-45127-7_27}, tags = {control systems, programming languages, optimization, object-oriented programming, rule-based, transformation engineering, pattern language, generic programming, graph transformation, Stratego/XT, traversal, refactoring, language engineering, transformation language, software language engineering, term rewriting, reuse, termination, graph-rewriting, software engineering, rules, programming paradigms, migration, transformation system, rule-based refactoring, compiler, subject-oriented programming, program optimization, higher-order transformations, rewriting, rewriting strategies, feature-oriented programming, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser01}, cites = {0}, citedby = {1}, pages = {357-362}, booktitle = {Rewriting Techniques and Applications, 12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22-24, 2001, Proceedings}, editor = {Aart Middeldorp}, volume = {2051}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-42117-3}, } @article{Visser01-DR, title = {Scoped Dynamic Rewrite Rules}, author = {Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00298-1}, url = {https://doi.org/10.1016/S1571-0661(04)00298-1}, tags = {programming languages, rule-based, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, graph-rewriting, rules, context-aware, access control, rewriting, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser01-DR}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {59}, number = {4}, pages = {375-396}, } @article{BravenboerDV10, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2010}, doi = {10.1016/j.scico.2009.05.004}, url = {http://dx.doi.org/10.1016/j.scico.2009.05.004}, tags = {injection attack}, researchr = {https://researchr.org/publication/BravenboerDV10}, cites = {0}, citedby = {0}, journal = {Science of Computer Programming}, volume = {75}, number = {7}, pages = {473-495}, } @inproceedings{VerguTV19, title = {Scopes and Frames Improve Meta-Interpreter Specialization}, author = {Vlad A. Vergu and Andrew P. Tolmach and Eelco Visser}, year = {2019}, doi = {10.4230/LIPIcs.ECOOP.2019.4}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2019.4}, researchr = {https://researchr.org/publication/VerguTV19}, cites = {0}, citedby = {0}, booktitle = {33rd European Conference on Object-Oriented Programming, ECOOP 2019, July 15-19, 2019, London, United Kingdom}, editor = {Alastair F. Donaldson}, volume = {134}, series = {LIPIcs}, publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik}, isbn = {978-3-95977-111-5}, } @techreport{TUD-SERG-2015-012, title = {A Constraint Language for Static Semantic Analysis based on Scope Graphs with Proofs}, author = {Hendrik van Antwerpen and Pierre Néron and Andrew P. Tolmach and Eelco Visser and Guido Wachsmuth}, year = {2015}, month = {November}, url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2015-012.pdf}, note = {Available at \url{http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2015-012.pdf}}, researchr = {https://researchr.org/publication/TUD-SERG-2015-012}, cites = {0}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2015-012}, } @article{AmorimSV18, title = {Towards Zero-Overhead Disambiguation of Deep Priority Conflicts}, author = {Luis Eduardo de Souza Amorim and Michael J. Steindorfer and Eelco Visser}, year = {2018}, doi = {10.22152/programming-journal.org/2018/2/13}, url = {https://doi.org/10.22152/programming-journal.org/2018/2/13}, researchr = {https://researchr.org/publication/AmorimSV18}, cites = {0}, citedby = {0}, journal = {Programming Journal}, volume = {2}, number = {3}, pages = {13}, } @techreport{Visser97-CC, title = {Character Classes}, author = {Eelco Visser}, year = {1997}, month = {August}, tags = {syntax definition, SDF, term rewriting, character class, graph-rewriting, algebraic specification, algebra, rewriting, ASF+SDF}, researchr = {https://researchr.org/publication/Visser97-CC}, cites = {0}, citedby = {0}, institution = {Programming Research Group, University of Amsterdam}, number = {P9708}, } @techreport{Visser2010, title = {Performing Systematic Literature Reviews with Researchr: Tool Demonstration}, author = {Eelco Visser}, year = {2010}, month = {May}, url = {http://resolver.tudelft.nl/uuid:22b480a7-d09e-4ae6-abe7-9a5769e03c2b}, tags = {digital library, literature review, digital libraries, reviewing, Meta-Environment, workflow, systematic-approach, systematic review}, researchr = {https://researchr.org/publication/Visser2010}, cites = {11}, citedby = {0}, institution = {Software Engineering Research Group, Delft University of Technology}, number = {TUD-SERG-2010-010}, address = {Delft, The Netherlands}, } @inproceedings{KonatVKWV2012, title = {The {Spoofax} Name Binding Language}, author = {Gabriël Konat and Vlad A. Vergu and Lennart C. L. Kats and Guido Wachsmuth and Eelco Visser}, year = {2012}, doi = {10.1145/2384716.2384748}, url = {https://doi.org/10.1145/2384716.2384748}, tags = {C++, Spoofax}, researchr = {https://researchr.org/publication/KonatVKWV2012}, cites = {0}, citedby = {0}, booktitle = {Companion to the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2012, Tucson, AR, USA, October 19 - 26, 2012}, publisher = {ACM}, } @article{Visser98, title = {Polymorphic Syntax Definition}, author = {Eelco Visser}, year = {1998}, doi = {10.1016/S0304-3975(97)00268-5}, url = {http://dx.doi.org/10.1016/S0304-3975(97)00268-5}, tags = {parsing algorithm, syntax definition, abstract syntax, data-flow, algebraic specification, algebra, context-aware, parsing, signature, grammar}, researchr = {https://researchr.org/publication/Visser98}, cites = {0}, citedby = {0}, journal = {Theoretical Computer Science}, volume = {199}, number = {1-2}, pages = {57-86}, } @inproceedings{ErdwegKRKOV11-mdsd, title = {Library-based model-driven software development with SugarJ}, author = {Sebastian Erdweg and Lennart C. L. Kats and Tillmann Rendel and Christian Kästner and Klaus Ostermann and Eelco Visser}, year = {2011}, doi = {10.1145/2048147.2048156}, url = {http://doi.acm.org/10.1145/2048147.2048156}, researchr = {https://researchr.org/publication/ErdwegKRKOV11-mdsd}, cites = {0}, citedby = {0}, pages = {17-18}, booktitle = {Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011}, editor = {Cristina Videira Lopes and Kathleen Fisher}, publisher = {ACM}, isbn = {978-1-4503-0942-4}, } @article{Visser05, title = {A survey of strategies in rule-based program transformation systems}, author = {Eelco Visser}, year = {2005}, doi = {10.1016/j.jsc.2004.12.011}, url = {http://dx.doi.org/10.1016/j.jsc.2004.12.011}, tags = {programming languages, transformation strategy, tree parsing, rule-based, attribute grammars, tree traversal, data-flow language, pattern language, generic programming, congruence operators, transformation strategies, graph transformation, traversal, transformation language, term rewriting, generic traversal strategies, tree pattern matching, data-flow programming, program transformation system, data-flow, graph-rewriting, survey, rules, pattern matching, strategy annotations, strategy combinators, transformation system, program representation, programming, context-aware, rule-based program transformation, context-sensitive transformation, higher-order transformations, rewriting, parsing, systematic-approach, rewriting strategies, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser05}, cites = {1}, citedby = {1}, journal = {Journal of Symbolic Computation}, volume = {40}, number = {1}, pages = {831-873}, } @inproceedings{JongeV12, title = {Automated evaluation of syntax error recovery}, author = {Maartje de Jonge and Eelco Visser}, year = {2012}, doi = {10.1145/2351676.2351736}, url = {http://doi.acm.org/10.1145/2351676.2351736}, researchr = {https://researchr.org/publication/JongeV12}, cites = {0}, citedby = {0}, pages = {322-325}, booktitle = {IEEE/ACM International Conference on Automated Software Engineering, ASE'12, Essen, Germany, September 3-7, 2012}, editor = {Michael Goedicke and Tim Menzies and Motoshi Saeki}, publisher = {ACM}, isbn = {978-1-4503-1204-2}, } @article{Visser19-PACMPL, title = {Editorial Message}, author = {Eelco Visser}, year = {2019}, researchr = {https://researchr.org/publication/Visser19-PACMPL}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {3}, number = {OOPSLA}, } @inproceedings{BrandDHJ01, title = {The {ASF+SDF} Meta-environment: A Component-Based Language Development Environment}, author = {Mark G. J. van den Brand and Arie van Deursen and Jan Heering and H. A. de Jong and Merijn de Jonge and Tobias Kuipers and Paul Klint and Leon Moonen and Pieter A. Olivier and Jeroen Scheerder and Jurgen J. Vinju and Eelco Visser and Joost Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)80917-4}, url = {https://doi.org/10.1016/S1571-0661(04)80917-4}, tags = {programming languages, rule-based, meta programming, SDF, meta-model, architecture, model-driven development, source-to-source, DSL, metaprogramming, Meta-Environment, Cobol, ASF+SDF, open-source, meta-objects}, researchr = {https://researchr.org/publication/BrandDHJ01}, cites = {0}, citedby = {3}, pages = {365-370}, booktitle = {Compiler Construction, 10th International Conference, CC 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2-6, 2001, Proceedings}, editor = {Reinhard Wilhelm}, volume = {2027}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-41861-X}, } @article{JohannV00, title = {Warm fusion in {Stratego}: A case study in generation of program transformation systems}, author = {Patricia Johann and Eelco Visser}, year = {2000}, doi = {10.1023/A:1018956702672}, url = {http://dx.doi.org/10.1023/A:1018956702672}, tags = {programming languages, optimization, rule-based, data-flow language, generic programming, case study, graph transformation, Stratego/XT, traversal, deforestation, transformation language, functional programming, language design, Haskell, data-flow programming, little language, data-flow, graph-rewriting, rules, programming paradigms, code generation, warm fusion, transformation system, programming, program optimization, higher-order transformations, rewriting, design, extensible language, rewriting strategies, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/JohannV00}, cites = {1}, citedby = {0}, journal = {Annals of Mathematics and Artificial Intelligence}, volume = {29}, number = {1-4}, pages = {1-34}, } @article{PelsmaekerAPV22, title = {Language-parametric static semantic code completion}, author = {Daniël A. A. Pelsmaeker and Hendrik van Antwerpen and Casper Bach Poulsen and Eelco Visser}, year = {2022}, doi = {10.1145/3527329}, url = {https://doi.org/10.1145/3527329}, researchr = {https://researchr.org/publication/PelsmaekerAPV22}, cites = {0}, citedby = {0}, journal = {Proceedings of the ACM on Programming Languages}, volume = {6}, number = {OOPSLA}, pages = {1-30}, } @inproceedings{DenkersGV18, title = {Migrating custom {DSL} implementations to a language workbench (tool demo)}, author = {Jasper Denkers and Louis van Gool and Eelco Visser}, year = {2018}, doi = {10.1145/3276604.3276608}, url = {https://doi.org/10.1145/3276604.3276608}, researchr = {https://researchr.org/publication/DenkersGV18}, cites = {0}, citedby = {0}, pages = {205-209}, booktitle = {Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, Boston, MA, USA, November 05-06, 2018}, editor = {David Pearce 0005 and Tanja Mayerhofer and Friedrich Steimann}, publisher = {ACM}, isbn = {978-1-4503-6029-6}, } @inproceedings{BravenboerVVV05, title = {Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax}, author = {Martin Bravenboer and Rob Vermaas and Jurgen J. Vinju and Eelco Visser}, year = {2005}, doi = {10.1007/11561347_12}, url = {http://dx.doi.org/10.1007/11561347_12}, tags = {programming languages, AspectJ, object-oriented programming, concrete object syntax, rule-based, Java, syntax definition, meta programming, SDF, meta-model, disambiguation, type system, reuse, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerVVV05}, cites = {0}, citedby = {2}, pages = {157-172}, booktitle = {Generative Programming and Component Engineering, 4th International Conference, GPCE 2005}, editor = {Robert Glück and Michael R. Lowry}, volume = {3676}, series = {Lecture Notes in Computer Science}, address = {Tallinn, Estonia}, publisher = {Springer}, isbn = {3-540-29138-5}, } @inproceedings{HemelKV08, title = {Code Generation by Model Transformation}, author = {Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-69927-9_13}, url = {http://dx.doi.org/10.1007/978-3-540-69927-9_13}, tags = {programming languages, model-to-model transformation, object-oriented programming, WebDSL, concrete object syntax, rule-based, transformation engineering, syntax definition, meta programming, data-flow language, pattern language, case study, graph transformation, meta-model, modeling language, modeling, language engineering, transformation language, software language engineering, language modeling, web engineering, data-flow programming, model-driven development, data-flow, source-to-source, graph-rewriting, software engineering, rules, model-driven engineering, C++, programming paradigms, code generation, object-role modeling, aspect oriented programming, model transformation, web applications, DSL, subject-oriented programming, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, open-source, meta-objects, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelKV08}, cites = {0}, citedby = {3}, pages = {183-198}, booktitle = {Theory and Practice of Model Transformations, First International Conference, ICMT 2008, Zürich, Switzerland, July 1-2, 2008, Proceedings}, editor = {Antonio Vallecillo and Jeffrey G. Gray and Alfonso Pierantonio}, volume = {5063}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69926-2}, } @inproceedings{BravenboerGV06, title = {{MetaBorg} in Action: Examples of Domain-Specific Language Embedding and Assimilation Using {Stratego/XT}}, author = {Martin Bravenboer and René de Groot and Eelco Visser}, year = {2006}, doi = {10.1007/11877028_10}, url = {http://dx.doi.org/10.1007/11877028_10}, tags = {generative programming, programming languages, rule-based, transformation engineering, Java, generic programming, assimilation, graph transformation, Stratego/XT, language engineering, domain-specific language embedding, transformation language, composition, MetaBorg, language design, graph-rewriting, transformation system, language embedding, DSL, programming, abstraction, language composition, rewriting, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerGV06}, cites = {0}, citedby = {3}, pages = {297-311}, booktitle = {Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers}, editor = {Ralf Lämmel and João Saraiva and Joost Visser}, volume = {4143}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-45778-X}, } @inproceedings{VisserOnward14, title = {A Language Designer's Workbench: A One-Stop-Shop for Implementation and Verification of Language Designs}, author = {Eelco Visser and Guido Wachsmuth and Andrew P. Tolmach and Pierre Néron and Vlad A. Vergu and Augusto Passalaqua and Gabriël Konat}, year = {2014}, doi = {10.1145/2661136.2661149}, url = {http://doi.acm.org/10.1145/2661136.2661149}, researchr = {https://researchr.org/publication/VisserOnward14}, cites = {0}, citedby = {0}, pages = {95-111}, booktitle = {Onward! 2014, Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming \& Software, part of SPLASH '14, Portland, OR, USA, October 20-24, 2014}, editor = {Andrew P. Black and Shriram Krishnamurthi and Bernd Bruegge and Joseph N. Ruskiewicz}, publisher = {ACM}, isbn = {978-1-4503-3210-1}, } @article{BravenboerDOV06, title = {Program Transformation with Scoped Dynamic Rewrite Rules}, author = {Martin Bravenboer and Arthur van Dam and Karina Olmos and Eelco Visser}, year = {2006}, url = {https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06}, tags = {programming languages, semantics, rule-based, formal semantics, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, language design, graph-rewriting, rules, operational semantics, context-aware, access control, rewriting, design, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerDOV06}, cites = {0}, citedby = {4}, journal = {Fundamenta Informaticae}, volume = {69}, number = {1-2}, pages = {123-178}, } @inproceedings{LindemanKV11, title = {Declaratively defining domain-specific language debuggers}, author = {Ricky T. Lindeman and Lennart C. L. Kats and Eelco Visser}, year = {2011}, doi = {10.1145/2047862.2047885}, url = {http://doi.acm.org/10.1145/2047862.2047885}, researchr = {https://researchr.org/publication/LindemanKV11}, cites = {0}, citedby = {0}, pages = {127-136}, booktitle = {Generative Programming And Component Engineering, Proceedings of the 10th International Conference on Generative Programming and Component Engineering, GPCE 2011, Portland, Oregon, USA, October 22-24, 2011}, editor = {Ewen Denney and Ulrik Pagh Schultz}, publisher = {ACM}, isbn = {978-1-4503-0689-8}, } @inbook{RouvoetAPKV20-ext, title = {Knowing When to Ask: Sound scheduling of name resolution in type checkers derived from declarative specifications (Extended Version)}, author = {Arjen Rouvoet and Hendrik van Antwerpen and Casper Bach Poulsen and Robbert Krebbers and Eelco Visser}, year = {2020}, month = {Oct}, doi = {10.5281/zenodo.4091445}, url = {http://doi.org/10.5281/zenodo.4091445}, researchr = {https://researchr.org/publication/RouvoetAPKV20-ext}, cites = {0}, citedby = {0}, publisher = {Zenodo}, } @article{HemelGKV11, title = {Static consistency checking of web applications with {WebDSL}}, author = {Zef Hemel and Danny M. Groenewegen and Lennart C. L. Kats and Eelco Visser}, year = {2011}, doi = {10.1016/j.jsc.2010.08.006}, url = {https://doi.org/10.1016/j.jsc.2010.08.006}, tags = {model-to-model transformation, WebDSL, rule-based, application framework, model checking, XML, XML Schema, transformation language, points-to analysis, domain analysis, analysis, language design, static analysis, model-driven development, source-to-source, rules, C++, compiler, model transformation, web applications, consistency, abstraction, design, systematic-approach, open-source, transformation, Ruby on Rails, Stratego, Ruby, query language, domain-specific language}, researchr = {https://researchr.org/publication/HemelGKV11}, cites = {0}, citedby = {0}, journal = {Journal of Symbolic Computation}, volume = {46}, number = {2}, pages = {150-182}, } @inproceedings{SmitsKV19, title = {From Whole Program Compilation to Incremental Compilation: A Critical Case}, author = {Jeff Smits and Gabriël Konat and Eelco Visser}, year = {2019}, month = {10}, researchr = {https://researchr.org/publication/SmitsKV19}, cites = {0}, citedby = {0}, booktitle = {Second Workshop on Incremental Computing (IC 2019)}, } @misc{LaemmelVV02, title = {The Essence of Strategic Programming. An inquiry into trans-paradigmatic genericity}, author = {Ralf Lämmel and Eelco Visser and Joost Visser}, year = {2002}, researchr = {https://researchr.org/publication/LaemmelVV02}, cites = {0}, citedby = {0}, } @techreport{BrandV94, title = {From Box to {\TeX}: An algebraic approach to the generation of documentation tools}, author = {Eelco Visser and Mark G. J. van den Brand}, year = {1994}, month = {July}, url = {ftp://ftp.wins.uva.nl/pub/programming-research/reports/1994/P9420.ps.Z}, tags = {programming languages, model-to-model transformation, semantics, translation, meta programming, case study, SDF, meta-model, transformation language, process algebra, algebraic specification, code generation, model transformation, algebra, programming, Meta-Environment, systematic-approach, ASF+SDF, meta-objects, transformation, program transformation}, researchr = {https://researchr.org/publication/BrandV94}, cites = {0}, citedby = {0}, institution = {Programming Research Group, University of Amsterdam}, number = {P9420}, } @inproceedings{VollebregtKV12, title = {Declarative specification of template-based textual editors}, author = {Tobi Vollebregt and Lennart C. L. Kats and Eelco Visser}, year = {2012}, doi = {10.1145/2427048.2427056}, url = {http://doi.acm.org/10.1145/2427048.2427056}, researchr = {https://researchr.org/publication/VollebregtKV12}, cites = {0}, citedby = {0}, pages = {1-7}, booktitle = {International Workshop on Language Descriptions, Tools, and Applications, LDTA '12, Tallinn, Estonia, March 31 - April 1, 2012}, editor = {Anthony Sloane and Suzana Andova}, publisher = {ACM}, isbn = {978-1-4503-1536-4}, } @inproceedings{VolterV10, title = {Language extension and composition with language workbenches}, author = {Markus Völter and Eelco Visser}, year = {2010}, doi = {10.1145/1869542.1869623}, url = {http://doi.acm.org/10.1145/1869542.1869623}, tags = {workbench, composition, language workbench}, researchr = {https://researchr.org/publication/VolterV10}, cites = {0}, citedby = {0}, pages = {301-304}, booktitle = {Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, SPLASH/OOPSLA 2010, October 17-21, 2010, Reno/Tahoe, Nevada, USA}, editor = {William R. Cook and Siobhán Clarke and Martin C. Rinard}, publisher = {ACM}, isbn = {978-1-4503-0240-1}, } @inproceedings{BravenboerV04, title = {Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions}, author = {Martin Bravenboer and Eelco Visser}, year = {2004}, doi = {10.1145/1028976.1029007}, url = {http://doi.acm.org/10.1145/1028976.1029007}, tags = {programming languages, object-oriented programming, concrete object syntax, syntax definition, meta programming, assimilation, SDF, XML, XML Schema, Stratego/XT, transformation language, composition, MetaBorg, language design, reuse, code generation, subject-oriented programming, abstraction, Meta-Environment, extensible language, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV04}, cites = {51}, citedby = {8}, pages = {365-383}, booktitle = {Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004}, editor = {John M. Vlissides and Douglas C. Schmidt}, address = {Vancouver, BC, Canada}, publisher = {ACM}, isbn = {1-58113-831-8}, } @proceedings{onward-2011, title = {{Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software (Onward 2011)}}, year = {2011}, tags = {Spiral, application framework, software engineering, writing, programming paradigms, programming, reflection}, researchr = {https://researchr.org/publication/onward-2011}, cites = {0}, citedby = {0}, booktitle = {{Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software (Onward 2011)}}, conference = {Onward!}, editor = {Eelco Visser and Robert Hirschfeld}, publisher = {ACM Press}, } @proceedings{gpce-2010-2, title = {Generative Programming And Component Engineering, Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE 2010, Eindhoven, The Netherlands, October 10-13, 2010 }, year = {2010}, month = {October}, tags = {generative programming, programming languages, software components, language engineering, software language engineering, software product quality, software component, software engineering, reviewing, programming}, researchr = {https://researchr.org/publication/gpce-2010-2}, cites = {0}, citedby = {0}, booktitle = {Generative Programming And Component Engineering, Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE 2010, Eindhoven, The Netherlands, October 10-13, 2010 }, editor = {Eelco Visser and Jaakko Järvi}, publisher = {ACM}, } @proceedings{oopsla-2011onward, title = {ACM Symposium on New Ideas in Programming and Reflections on Software, Onward! 2011, part of SPLASH '11, Portland, OR, USA, October 22-27, 2011}, year = {2011}, url = {http://dl.acm.org/citation.cfm?id=2048237}, researchr = {https://researchr.org/publication/oopsla-2011onward}, cites = {0}, citedby = {0}, booktitle = {ACM Symposium on New Ideas in Programming and Reflections on Software, Onward! 2011, part of SPLASH '11, Portland, OR, USA, October 22-27, 2011}, conference = {OOPSLA}, editor = {Robert Hirschfeld and Eelco Visser}, publisher = {ACM}, isbn = {978-1-4503-0941-7}, } @proceedings{oopsla-2016, title = {Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016, Amsterdam, The Netherlands, October 30 - November 4, 2016}, year = {2016}, doi = {10.1145/2983990}, url = {http://doi.acm.org/10.1145/2983990}, researchr = {https://researchr.org/publication/oopsla-2016}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016, Amsterdam, The Netherlands, October 30 - November 4, 2016}, conference = {OOPSLA}, editor = {Eelco Visser and Yannis Smaragdakis}, publisher = {ACM}, isbn = {978-1-4503-4444-9}, } @proceedings{wir-2011, title = {Proceedings of the Workshop on Intermediate Representations}, year = {2011}, tags = {programming languages, intermediate representation, meta programming, transformation language, language design, programming, Meta-Environment, design, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/wir-2011}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the Workshop on Intermediate Representations}, conference = {WIR}, editor = {Florent Bouchez and Sebastian Hack and Eelco Visser}, } @proceedings{icmt-2011-0, title = {Theory and Practice of Model Transformations - 4th International Conference, ICMT 2011, Zurich, Switzerland, June 27-28, 2011. Proceedings}, year = {2011}, doi = {10.1007/978-3-642-21732-6}, url = {http://dx.doi.org/10.1007/978-3-642-21732-6}, tags = {model-to-model transformation, meta-model, source-to-source, model transformation, peer-to-peer, Meta-Environment, transformation}, researchr = {https://researchr.org/publication/icmt-2011-0}, cites = {0}, citedby = {0}, booktitle = {Theory and Practice of Model Transformations - 4th International Conference, ICMT 2011, Zurich, Switzerland, June 27-28, 2011. Proceedings}, conference = {ICMT}, editor = {Jordi Cabot and Eelco Visser}, volume = {6707}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-21731-9}, } @proceedings{pepm:2007, title = {Proceedings of the 2007 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2007, Nice, France, January 15-16, 2007}, year = {2007}, tags = {semantics, partial evaluation}, researchr = {https://researchr.org/publication/pepm%3A2007}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the 2007 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2007, Nice, France, January 15-16, 2007}, conference = {PEPM}, editor = {Ganesan Ramalingam and Eelco Visser}, publisher = {ACM}, isbn = {978-1-59593-620-2}, } @proceedings{oopsla-2016c, title = {Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH 2016, Amsterdam, Netherlands, October 30 - November 4, 2016}, year = {2016}, doi = {10.1145/2984043}, url = {http://doi.acm.org/10.1145/2984043}, researchr = {https://researchr.org/publication/oopsla-2016c}, cites = {0}, citedby = {0}, booktitle = {Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH 2016, Amsterdam, Netherlands, October 30 - November 4, 2016}, conference = {OOPSLA}, editor = {Eelco Visser}, publisher = {ACM}, isbn = {978-1-4503-4437-1}, } @proceedings{gpce-2010, title = {Generative Programming And Component Engineering, Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE 2010, Eindhoven, The Netherlands, October 10-13, 2010}, year = {2010}, tags = {generative programming, programming}, researchr = {https://researchr.org/publication/gpce-2010}, cites = {0}, citedby = {0}, booktitle = {Generative Programming And Component Engineering, Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE 2010, Eindhoven, The Netherlands, October 10-13, 2010}, conference = {GPCE}, editor = {Eelco Visser and Jaakko Järvi}, publisher = {ACM}, isbn = {978-1-4503-0154-1}, } @proceedings{gpce:2004, title = {Generative Programming and Component Engineering: Third International Conference, GPCE 2004, Vancouver, Canada, October 24-28, 2004. Proceedings}, year = {2004}, tags = {generative programming, programming}, researchr = {https://researchr.org/publication/gpce%3A2004}, cites = {0}, citedby = {0}, booktitle = {Generative Programming and Component Engineering: Third International Conference, GPCE 2004, Vancouver, Canada, October 24-28, 2004. Proceedings}, conference = {GPCE}, editor = {Gabor Karsai and Eelco Visser}, volume = {3286}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-23580-9}, } @proceedings{icmt-2011, title = {Theory and Practice of Model Transformations, Fourth International Conference, ICMT 2011, Zurich, Switzerland, June 27-28, 2011. Proceedings}, year = {2011}, month = {June}, doi = {10.1007/978-3-642-21732-6}, url = {http://dx.doi.org/10.1007/978-3-642-21732-6}, tags = {model-to-model transformation, meta-model, source-to-source, model transformation, Meta-Environment, transformation}, researchr = {https://researchr.org/publication/icmt-2011}, cites = {0}, citedby = {0}, booktitle = {Theory and Practice of Model Transformations, Fourth International Conference, ICMT 2011, Zurich, Switzerland, June 27-28, 2011. Proceedings}, conference = {ICMT}, editor = {Jordi Cabot and Eelco Visser}, volume = {6707}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, } @proceedings{sle-2021, title = {SLE '21: 14th ACM SIGPLAN International Conference on Software Language Engineering, Chicago, IL, USA, October 17 - 18, 2021}, year = {2021}, doi = {10.1145/3486608}, url = {https://doi.org/10.1145/3486608}, researchr = {https://researchr.org/publication/sle-2021}, cites = {0}, citedby = {0}, booktitle = {SLE '21: 14th ACM SIGPLAN International Conference on Software Language Engineering, Chicago, IL, USA, October 17 - 18, 2021}, conference = {SLE}, editor = {Eelco Visser and Dimitris S. Kolovos and Emma Söderberg}, publisher = {ACM}, isbn = {978-1-4503-9111-5}, } @proceedings{oopsla-2016onward, title = {2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2016, Amsterdam, The Netherlands, November 2-4, 2016}, year = {2016}, doi = {10.1145/2986012}, url = {http://doi.acm.org/10.1145/2986012}, researchr = {https://researchr.org/publication/oopsla-2016onward}, cites = {0}, citedby = {0}, booktitle = {2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2016, Amsterdam, The Netherlands, November 2-4, 2016}, conference = {OOPSLA}, editor = {Eelco Visser and Emerson R. Murphy-Hill and Crista Lopes}, publisher = {ACM}, isbn = {978-1-4503-4076-2}, } @proceedings{rule:2002, title = {Proceedings of the 2002 ACM SIGPLAN Workshop on Rule-Based Programming, Pittsburgh, Pennsylvania, USA, 2002}, year = {2002}, tags = {rule-based, rules, programming}, researchr = {https://researchr.org/publication/rule%3A2002}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the 2002 ACM SIGPLAN Workshop on Rule-Based Programming, Pittsburgh, Pennsylvania, USA, 2002}, conference = {RULE}, editor = {Bernd Fischer and Eelco Visser}, publisher = {ACM}, isbn = {1-58113-606-4}, }