% Bibliography downloaded from https://researchr.org/downloadbibtex/bibliography/tud-pl-tu-delft-programming-languages/compact @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 = {jot}, volume = {11}, number = {2}, } @phdthesis{Harkes19, title = {Declarative Specification of Information System Data Models and Business Logic}, author = {Daco Harkes}, year = {2019}, url = {https://www.base-search.net/Record/8ed1529807591ce29158f438f054ba5a45f902739190f75831ceb28ae7e30590}, note = {base-search.net (fttudelft:oai:tudelft.nl:uuid:5e9805ca-95d0-451e-a8f0-55decb26c94a)}, researchr = {https://researchr.org/publication/Harkes19}, cites = {0}, citedby = {0}, school = {Delft University of Technology, Netherlands}, advisor = {Eelco Visser}, } @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)}, } @article{BinsbergenMS19, title = {Executable component-based semantics}, author = {L. Thomas van Binsbergen and Peter D. Mosses and Neil Sculthorpe}, year = {2019}, doi = {10.1016/j.jlamp.2018.12.004}, url = {https://doi.org/10.1016/j.jlamp.2018.12.004}, researchr = {https://researchr.org/publication/BinsbergenMS19}, cites = {0}, citedby = {0}, journal = {jlp}, volume = {103}, pages = {184-212}, } @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 = {CPP}, } @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 = {SPLC}, } @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 = {OOPSLA}, } @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 = {ECOOP}, } @inproceedings{AhrensMM22, title = {Implementing a category-theoretic framework for typed abstract syntax}, author = {Benedikt Ahrens and Ralph Matthes and Anders Mörtberg}, year = {2022}, doi = {10.1145/3497775.3503678}, url = {https://doi.org/10.1145/3497775.3503678}, researchr = {https://researchr.org/publication/AhrensMM22}, cites = {0}, citedby = {0}, pages = {307-323}, booktitle = {CPP}, } @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 = {SCALA}, } @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 = {SCAM}, } @inproceedings{SmitsHC22, title = {Optimising First-Class Pattern Matching}, author = {Jeff Smits and Toine Hartman and Jesper Cockx}, year = {2022}, doi = {10.1145/3567512.3567519}, url = {https://doi.org/10.1145/3567512.3567519}, researchr = {https://researchr.org/publication/SmitsHC22}, cites = {0}, citedby = {0}, pages = {74-83}, booktitle = {SLE}, } @inproceedings{SzaboAVE16, title = {An extensible framework for variable-precision data-flow analyses in MPS}, author = {Tamás Szabó and Simon Alperovich and Markus Völter and Sebastian Erdweg}, year = {2016}, doi = {10.1145/2970276.2970296}, url = {http://doi.acm.org/10.1145/2970276.2970296}, researchr = {https://researchr.org/publication/SzaboAVE16}, cites = {0}, citedby = {0}, pages = {870-875}, booktitle = {ASE}, } @article{Mooij22, title = {Static type checking without downcast operator}, author = {Arjan J. Mooij}, year = {2022}, doi = {10.1016/j.ipl.2022.106285}, url = {https://doi.org/10.1016/j.ipl.2022.106285}, researchr = {https://researchr.org/publication/Mooij22}, cites = {0}, citedby = {0}, journal = {ipl}, volume = {178}, pages = {106285}, } @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 = {SLE}, } @article{AbelCDTW20, title = {Leibniz equality is isomorphic to Martin-Löf identity, parametrically}, author = {Andreas Abel 0001 and Jesper Cockx and Dominique Devriese and Amin Timany and Philip Wadler}, year = {2020}, doi = {10.1017/S0956796820000155}, url = {https://doi.org/10.1017/S0956796820000155}, researchr = {https://researchr.org/publication/AbelCDTW20}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {30}, } @inproceedings{GreweERM16, title = {Exploration of language specifications by compilation to first-order logic}, author = {Sylvia Grewe and Sebastian Erdweg and Michael Raulf and Mira Mezini}, year = {2016}, doi = {10.1145/2967973.2968606}, url = {http://doi.acm.org/10.1145/2967973.2968606}, researchr = {https://researchr.org/publication/GreweERM16}, cites = {0}, citedby = {0}, pages = {104-117}, booktitle = {ppdp}, } @article{Mosses18, title = {CoFI with Don Sannella}, author = {Peter D. Mosses}, year = {2018}, url = {https://www.wikidata.org/entity/Q57783357}, researchr = {https://researchr.org/publication/Mosses18}, cites = {0}, citedby = {0}, journal = {TCS}, volume = {741}, pages = {44-47}, } @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)}, } @article{RestS22, title = {A completely unique account of enumeration}, author = {Cas van der Rest and Wouter Swierstra}, year = {2022}, doi = {10.1145/3547636}, url = {https://doi.org/10.1145/3547636}, researchr = {https://researchr.org/publication/RestS22}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {6}, number = {ICFP}, pages = {411-437}, } @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}, } @mastersthesis{Denkers2018, title = {A Modular SGLR Parsing Architecture for Systematic Performance Optimization}, author = {Jasper Denkers}, year = {2018}, url = {http://resolver.tudelft.nl/uuid:7d9f9bcc-117c-4617-860a-4e3e0bbc8988}, researchr = {https://researchr.org/publication/Denkers2018}, cites = {0}, citedby = {1}, school = {Delft University of Technology}, } @inproceedings{SteindorferV18, title = {To-many or to-one? all-in-one! efficient purely functional multi-maps with type-heterogeneous hash-tries}, author = {Michael J. Steindorfer and Jurgen J. Vinju}, year = {2018}, doi = {10.1145/3192366.3192420}, url = {http://doi.acm.org/10.1145/3192366.3192420}, researchr = {https://researchr.org/publication/SteindorferV18}, cites = {0}, citedby = {0}, pages = {283-295}, booktitle = {PLDI}, } @article{SzaboBEV18, title = {Incrementalizing lattice-based program analyses in Datalog}, author = {Tamás Szabó and Gábor Bergmann and Sebastian Erdweg and Markus Voelter}, year = {2018}, doi = {10.1145/3276509}, url = {https://doi.org/10.1145/3276509}, researchr = {https://researchr.org/publication/SzaboBEV18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {OOPSLA}, } @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 = {OOPSLA}, } @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{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 = {MoDELS}, } @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 = {OOPSLA}, } @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 = {SoSyM}, volume = {9}, number = {3}, pages = {375-402}, } @phdthesis{dnb-22573, title = {Optimizing and Incrementalizing Higher-order Collection Queries by AST Transformation}, author = {Paolo G. Giarrusso}, year = {2020}, url = {http://d-nb.info/1205313524}, researchr = {https://researchr.org/publication/dnb-22573}, cites = {0}, citedby = {0}, school = {University of Tübingen, Germany}, } @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 = {LDTA}, } @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 = {OOPSLA}, } @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 = {OOPSLA}, } @article{DemetrescuEHK16, title = {Programming Language Techniques for Incremental and Reactive Computing (Dagstuhl Seminar 16402)}, author = {Camil Demetrescu and Sebastian Erdweg and Matthew A. Hammer and Shriram Krishnamurthi}, year = {2016}, doi = {10.4230/DagRep.6.10.1}, url = {http://dx.doi.org/10.4230/DagRep.6.10.1}, researchr = {https://researchr.org/publication/DemetrescuEHK16}, cites = {0}, citedby = {0}, journal = {dagstuhl-reports}, volume = {6}, number = {10}, pages = {1-12}, } @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 = {ENTCS}, volume = {203}, number = {2}, pages = {85-101}, } @article{Krebbers16, title = {A Formal C Memory Model for Separation Logic}, author = {Robbert Krebbers}, year = {2016}, doi = {10.1007/s10817-016-9369-1}, url = {http://dx.doi.org/10.1007/s10817-016-9369-1}, researchr = {https://researchr.org/publication/Krebbers16}, cites = {0}, citedby = {0}, journal = {JAR}, volume = {57}, number = {4}, pages = {319-387}, } @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}, } @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 = {GTTSE}, } @inproceedings{GreweEM16, title = {Automating Proof Steps of Progress Proofs: Comparing Vampire and Dafny}, author = {Sylvia Grewe and Sebastian Erdweg and Mira Mezini}, year = {2016}, url = {http://www.easychair.org/publications/paper/Automating_Proof_Steps_of_Progress_Proofs_Comparing_Vampire_and_Dafny}, researchr = {https://researchr.org/publication/GreweEM16}, cites = {0}, citedby = {0}, pages = {33-45}, booktitle = {cade}, } @inproceedings{Cockx19, title = {Type Theory Unchained: Extending Agda with User-Defined Rewrite Rules}, author = {Jesper Cockx}, year = {2019}, doi = {10.4230/LIPIcs.TYPES.2019.2}, url = {https://doi.org/10.4230/LIPIcs.TYPES.2019.2}, researchr = {https://researchr.org/publication/Cockx19}, cites = {0}, citedby = {0}, booktitle = {TYPES}, } @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{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 = {ECOOP}, } @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 = {SLE}, } @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}, } @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 = {OOPSLA}, } @article{KaiserZKRD18, title = {Mtac2: typed tactics for backward reasoning in Coq}, author = {Jan-Oliver Kaiser and Beta Ziliani and Robbert Krebbers and Yann Régis-Gianas and Derek Dreyer}, year = {2018}, doi = {10.1145/3236773}, url = {https://doi.org/10.1145/3236773}, researchr = {https://researchr.org/publication/KaiserZKRD18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {ICFP}, } @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 = {ECOOP}, } @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 = {ESOP}, } @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 = {LDTA}, } @article{BizjakGKB19, title = {Iron: managing obligations in higher-order concurrent separation logic}, author = {Ales Bizjak and Daniel Gratzer and Robbert Krebbers and Lars Birkedal}, year = {2019}, url = {https://dl.acm.org/citation.cfm?id=3290378}, researchr = {https://researchr.org/publication/BizjakGKB19}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {3}, } @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 = {JSC}, volume = {46}, number = {2}, pages = {150-182}, } @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 = {PPPJ}, } @article{PoulsenM17, title = {Flag-based big-step semantics}, author = {Casper Bach Poulsen and Peter D. Mosses}, year = {2017}, doi = {10.1016/j.jlamp.2016.05.001}, url = {http://dx.doi.org/10.1016/j.jlamp.2016.05.001}, researchr = {https://researchr.org/publication/PoulsenM17}, cites = {0}, citedby = {0}, journal = {jlp}, volume = {88}, pages = {174-190}, } @inproceedings{VoelterSLKEB16, title = {Efficient development of consistent projectional editors using grammar cells}, author = {Markus Völter and Tamás Szabó and Sascha Lisson and Bernd Kolb and Sebastian Erdweg and Thorsten Berger}, year = {2016}, url = {http://dl.acm.org/citation.cfm?id=2997365}, researchr = {https://researchr.org/publication/VoelterSLKEB16}, cites = {0}, citedby = {0}, pages = {28-40}, booktitle = {SLE}, } @proceedings{scala-2018, title = {Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, SCALA@ICFP 2018, St. Louis, MO, USA, September 28, 2018}, year = {2018}, doi = {10.1145/3241653}, url = {https://doi.org/10.1145/3241653}, researchr = {https://researchr.org/publication/scala-2018}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, SCALA@ICFP 2018, St. Louis, MO, USA, September 28, 2018}, conference = {SCALA}, editor = {Sebastian Erdweg and Bruno C. D. S. Oliveira}, publisher = {ACM}, } @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}, volume = {4}, number = {3}, pages = {16}, } @inproceedings{Denkers19, title = {A longitudinal field study on creation and use of domain-specific languages in industry}, author = {Jasper Denkers}, year = {2019}, doi = {10.1145/3338906.3341463}, url = {https://doi.org/10.1145/3338906.3341463}, researchr = {https://researchr.org/publication/Denkers19}, cites = {0}, citedby = {0}, pages = {1152-1155}, booktitle = {FSE}, } @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 = {SLE}, } @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}, } @article{GreweEPRM18, title = {Exploration of language specifications by compilation to first-order logic}, author = {Sylvia Grewe and Sebastian Erdweg and André Pacak and Michael Raulf and Mira Mezini}, year = {2018}, doi = {10.1016/j.scico.2017.08.001}, url = {https://doi.org/10.1016/j.scico.2017.08.001}, researchr = {https://researchr.org/publication/GreweEPRM18}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {155}, pages = {146-172}, } @article{Mosses19, title = {Software meta-language engineering and CBS}, author = {Peter D. Mosses}, year = {2019}, doi = {10.1016/j.jvlc.2018.11.003}, url = {https://doi.org/10.1016/j.jvlc.2018.11.003}, researchr = {https://researchr.org/publication/Mosses19}, cites = {0}, citedby = {0}, journal = {JCL (JVLC)}, volume = {50}, pages = {39-48}, } @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 = {ENTCS}, volume = {203}, number = {2}, pages = {21-36}, } @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{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 = {GPCE}, } @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 = {RTA}, } @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 = {OOPSLA}, } @article{JungJKD18, title = {RustBelt: securing the foundations of the rust programming language}, author = {Ralf Jung and Jacques-Henri Jourdan and Robbert Krebbers and Derek Dreyer}, year = {2018}, doi = {10.1145/3158154}, url = {http://doi.acm.org/10.1145/3158154}, researchr = {https://researchr.org/publication/JungJKD18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {POPL}, } @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 = {SLE}, } @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 = {ENTCS}, volume = {238}, number = {3}, pages = {281-291}, } @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 = {SLE}, } @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 = {TOPLAS}, volume = {34}, number = {4}, pages = {15}, } @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 = {OOPSLA}, } @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)}, } @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 = {SCP}, volume = {78}, number = {10}, pages = {1752-1769}, } @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}, } @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 = {AOSD}, } @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}, } @inproceedings{0002KBD16, title = {Higher-order ghost state}, author = {Ralf Jung 0002 and Robbert Krebbers and Lars Birkedal and Derek Dreyer}, year = {2016}, doi = {10.1145/2951913.2951943}, url = {http://doi.acm.org/10.1145/2951913.2951943}, researchr = {https://researchr.org/publication/0002KBD16}, cites = {0}, citedby = {0}, pages = {256-269}, booktitle = {ICFP}, } @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 = {OOPSLA}, } @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 = {DLS}, } @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}, } @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 = {OOPSLA}, } @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/}, 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}, } @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 = {SoSyM}, volume = {12}, number = {1}, pages = {35-52}, } @inproceedings{RochaS0GSCB22, title = {Lasagne: a static binary translator for weak memory model architectures}, author = {Rodrigo C. O. Rocha and Dennis Sprokholt and Martin Fink and Redha Gouicem and Tom Spink and Soham Chakraborty and Pramod Bhatotia}, year = {2022}, doi = {10.1145/3519939.3523719}, url = {https://doi.org/10.1145/3519939.3523719}, researchr = {https://researchr.org/publication/RochaS0GSCB22}, cites = {0}, citedby = {0}, pages = {888-902}, booktitle = {PLDI}, } @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 = {PEPM}, } @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 = {OOPSLA}, } @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 = {SLE}, } @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 = {AOSD}, } @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 = {SLE}, } @article{AhrensFMVW21, title = {Bicategories in univalent foundations}, author = {Benedikt Ahrens and Dan Frumin and Marco Maggesi and Niccolò Veltri and Niels van der Weide}, year = {2021}, doi = {10.1017/S0960129522000032}, url = {https://doi.org/10.1017/S0960129522000032}, researchr = {https://researchr.org/publication/AhrensFMVW21}, cites = {0}, citedby = {0}, journal = {mscs}, volume = {31}, number = {10}, pages = {1232-1269}, } @article{GilbertCST19, title = {Definitional proof-irrelevance without K}, author = {Gaëtan Gilbert and Jesper Cockx and Matthieu Sozeau and Nicolas Tabareau}, year = {2019}, url = {https://dl.acm.org/citation.cfm?id=3290316}, researchr = {https://researchr.org/publication/GilbertCST19}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {3}, } @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 = {SCP}, volume = {76}, number = {6}, pages = {467-468}, } @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 = {SCP}, volume = {76}, number = {5}, pages = {347-348}, } @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}, } @inproceedings{LorenzenE16, title = {Sound type-dependent syntactic language extension}, author = {Florian Lorenzen and Sebastian Erdweg}, year = {2016}, doi = {10.1145/2837614.2837644}, url = {http://doi.acm.org/10.1145/2837614.2837644}, researchr = {https://researchr.org/publication/LorenzenE16}, cites = {0}, citedby = {0}, pages = {204-216}, booktitle = {POPL}, } @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 = {JCL (JVLC)}, volume = {57}, pages = {100924}, } @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 = {OOPSLA}, } @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 = {ECOOP}, } @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}, } @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}, } @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 = {PACMPL}, volume = {5}, number = {POPL}, pages = {1-28}, } @inproceedings{FruminKB18, title = {ReLoC: A Mechanised Relational Logic for Fine-Grained Concurrency}, author = {Dan Frumin and Robbert Krebbers and Lars Birkedal}, year = {2018}, doi = {10.1145/3209108.3209174}, url = {http://doi.acm.org/10.1145/3209108.3209174}, researchr = {https://researchr.org/publication/FruminKB18}, cites = {0}, citedby = {0}, pages = {442-451}, booktitle = {lics}, } @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 = {SEFM}, } @inproceedings{FruminGK19, title = {Semi-automated Reasoning About Non-determinism in C Expressions}, author = {Dan Frumin and Léon Gondelman and Robbert Krebbers}, year = {2019}, doi = {10.1007/978-3-030-17184-1_3}, url = {https://doi.org/10.1007/978-3-030-17184-1_3}, researchr = {https://researchr.org/publication/FruminGK19}, cites = {0}, citedby = {0}, pages = {60-87}, booktitle = {ESOP}, } @article{CockxTW21, title = {The taming of the rew: a type theory with computational assumptions}, author = {Jesper Cockx and Nicolas Tabareau and Théo Winterhalter}, year = {2021}, doi = {10.1145/3434341}, url = {https://doi.org/10.1145/3434341}, researchr = {https://researchr.org/publication/CockxTW21}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {5}, number = {POPL}, pages = {1-29}, } @inproceedings{BrouwerCZ23, title = {Dependently Typed Languages in Statix}, author = {Jonathan Brouwer and Jesper Cockx and Aron Zwaan}, year = {2023}, doi = {10.4230/OASIcs.EVCS.2023.6}, url = {https://doi.org/10.4230/OASIcs.EVCS.2023.6}, researchr = {https://researchr.org/publication/BrouwerCZ23}, cites = {0}, citedby = {0}, booktitle = {BIRTHDAY}, } @inproceedings{ParreauxBG19, title = {Towards improved GADT reasoning in Scala}, author = {Lionel Parreaux and Aleksander Boruch-Gruszecki and Paolo G. Giarrusso}, year = {2019}, doi = {10.1145/3337932.3338813}, url = {https://doi.org/10.1145/3337932.3338813}, researchr = {https://researchr.org/publication/ParreauxBG19}, cites = {0}, citedby = {0}, pages = {12-16}, booktitle = {SCALA}, } @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 = {PACMPL}, volume = {2}, number = {POPL}, } @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{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 = {SEFM}, } @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 = {ICWE}, } @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 = {MoDELS}, } @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 = {ENTCS}, volume = {253}, number = {7}, pages = {149-163}, } @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 = {SLE}, } @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 = {DSM}, } @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 = {FUIN}, volume = {69}, number = {1-2}, pages = {123-178}, } @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 = {SLE}, } @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 = {SLE}, } @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}, } @inproceedings{SinkarovsC21, title = {Extracting the power of dependent types}, author = {Artjoms Sinkarovs and Jesper Cockx}, year = {2021}, doi = {10.1145/3486609.3487201}, url = {https://doi.org/10.1145/3486609.3487201}, researchr = {https://researchr.org/publication/SinkarovsC21}, cites = {0}, citedby = {0}, pages = {83-95}, booktitle = {GPCE}, } @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 = {PACMPL}, volume = {6}, number = {OOPSLA2}, pages = {424-448}, } @inproceedings{BracevacESM16, title = {CPL: a core language for cloud computing}, author = {Oliver Bracevac and Sebastian Erdweg and Guido Salvaneschi and Mira Mezini}, year = {2016}, doi = {10.1145/2889443.2889452}, url = {http://doi.acm.org/10.1145/2889443.2889452}, researchr = {https://researchr.org/publication/BracevacESM16}, cites = {0}, citedby = {0}, pages = {94-105}, booktitle = {AOSD}, } @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 = {ECOOP}, } @inproceedings{KrishnaG0C22, title = {Parameterized Verification under Release Acquire is PSPACE-complete}, author = {Shankara Narayanan Krishna and Adwait Godbole and Roland Meyer 0001 and Soham Chakraborty}, year = {2022}, doi = {10.1145/3519270.3538445}, url = {https://doi.org/10.1145/3519270.3538445}, researchr = {https://researchr.org/publication/KrishnaG0C22}, cites = {0}, citedby = {0}, pages = {482-492}, booktitle = {podc}, } @article{KeidelPE18, title = {Compositional soundness proofs of abstract interpreters}, author = {Sven Keidel and Casper Bach Poulsen and Sebastian Erdweg}, year = {2018}, doi = {10.1145/3236767}, url = {https://doi.org/10.1145/3236767}, researchr = {https://researchr.org/publication/KeidelPE18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {ICFP}, } @inproceedings{GiarrussoRS19, title = {Incremental \lambda -Calculus in Cache-Transfer Style - Static Memoization by Program Transformation}, author = {Paolo G. Giarrusso and Yann Régis-Gianas and Philipp Schuster}, year = {2019}, doi = {10.1007/978-3-030-17184-1_20}, url = {https://doi.org/10.1007/978-3-030-17184-1_20}, researchr = {https://researchr.org/publication/GiarrussoRS19}, cites = {0}, citedby = {0}, pages = {553-580}, booktitle = {ESOP}, } @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{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 = {AOSD}, } @inproceedings{KuciEBBM17, title = {A Co-contextual Type Checker for Featherweight Java }, author = { Edlira Kuci and Sebastian Erdweg and Oliver Bracevac and Andi Bejleri and Mira Mezini}, year = {2017}, doi = {10.4230/LIPIcs.ECOOP.2017.18}, url = {https://doi.org/10.4230/LIPIcs.ECOOP.2017.18}, researchr = {https://researchr.org/publication/KuciEBBM17}, cites = {0}, citedby = {0}, booktitle = {ECOOP}, } @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 = {PACMPL}, volume = {2}, number = {OOPSLA}, } @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 = {ASE}, } @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 = {WWW}, } @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 = {GPCE}, } @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 = {PACMPL}, volume = {6}, number = {OOPSLA}, pages = {1-30}, } @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 = {Comp. Lang., Syst. \& Struct.}, 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 = {SCP}, volume = {72}, number = {1-2}, pages = {52-70}, } @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 = {WRLA}, } @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}, } @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 = {ECOOP}, } @article{ErdwegO17, title = {A Module-System Discipline for Model-Driven Software Development}, author = {Sebastian Erdweg and Klaus Ostermann}, year = {2017}, doi = {10.22152/programming-journal.org/2017/1/9}, url = {https://doi.org/10.22152/programming-journal.org/2017/1/9}, researchr = {https://researchr.org/publication/ErdwegO17}, cites = {0}, citedby = {0}, journal = {Programming}, volume = {1}, number = {2}, pages = {9}, } @inproceedings{Harkes14, title = {Relations: a first class relationship and first class derivations programming language}, author = {Daco Harkes}, year = {2014}, doi = {10.1145/2584469.2584473}, url = {http://doi.acm.org/10.1145/2584469.2584473}, researchr = {https://researchr.org/publication/Harkes14}, cites = {0}, citedby = {0}, pages = {9-10}, booktitle = {AOSD}, } @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}, } @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 = {ISoLA}, } @inproceedings{BinsbergenSM16, title = {Tool support for component-based semantics}, author = {L. Thomas van Binsbergen and Neil Sculthorpe and Peter D. Mosses}, year = {2016}, doi = {10.1145/2892664.2893464}, url = {http://doi.acm.org/10.1145/2892664.2893464}, researchr = {https://researchr.org/publication/BinsbergenSM16}, cites = {0}, citedby = {0}, pages = {8-11}, booktitle = {AOSD}, } @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)}, } @inproceedings{Mosses17, title = {Engineering meta-languages for specifying software languages (keynote)}, author = {Peter D. Mosses}, year = {2017}, doi = {10.1145/3136014.3148041}, url = {http://doi.acm.org/10.1145/3136014.3148041}, researchr = {https://researchr.org/publication/Mosses17}, cites = {0}, citedby = {0}, pages = {1}, booktitle = {SLE}, } @inproceedings{KrebbersPS16, title = {Moessner's Theorem: An Exercise in Coinductive Reasoning in Coq}, author = {Robbert Krebbers and Louis Parlant and Alexandra Silva}, year = {2016}, doi = {10.1007/978-3-319-30734-3_21}, url = {http://dx.doi.org/10.1007/978-3-319-30734-3_21}, researchr = {https://researchr.org/publication/KrebbersPS16}, cites = {0}, citedby = {0}, pages = {309-324}, booktitle = {BIRTHDAY}, } @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{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 = {OOPSLA}, } @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}, volume = {2}, number = {3}, pages = {13}, } @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 = {OOPSLA}, } @article{SalvaneschiKSHE19, title = {Language-integrated privacy-aware distributed queries}, author = {Guido Salvaneschi and Mirko Köhler and Daniel Sokolowski and Philipp Haller and Sebastian Erdweg and Mira Mezini}, year = {2019}, doi = {10.1145/3360593}, url = {https://doi.org/10.1145/3360593}, researchr = {https://researchr.org/publication/SalvaneschiKSHE19}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {3}, number = {OOPSLA}, } @inproceedings{KeidelPE16, title = {The IDE portability problem and its solution in Monto}, author = {Sven Keidel and Wulf Pfeiffer and Sebastian Erdweg}, year = {2016}, url = {http://dl.acm.org/citation.cfm?id=2997368}, researchr = {https://researchr.org/publication/KeidelPE16}, cites = {0}, citedby = {0}, pages = {152-162}, booktitle = {SLE}, } @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 = {OOPSLA}, } @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 = {LDTA}, } @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 = {ICMT}, } @inproceedings{KrebbersTB17, title = {Interactive proofs in higher-order concurrent separation logic}, author = {Robbert Krebbers and Amin Timany and Lars Birkedal}, year = {2017}, url = {http://dl.acm.org/citation.cfm?id=3009855}, researchr = {https://researchr.org/publication/KrebbersTB17}, cites = {0}, citedby = {0}, pages = {205-217}, booktitle = {POPL}, } @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 = {OOPSLA}, } @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 = {PEPM}, } @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{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}, } @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 = {SLE}, } @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{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 = {SLE}, } @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}, volume = {2}, number = {3}, pages = {9}, } @inproceedings{SzaboEV16, title = {IncA: a DSL for the definition of incremental program analyses}, author = {Tamás Szabó and Sebastian Erdweg and Markus Völter}, year = {2016}, doi = {10.1145/2970276.2970298}, url = {http://doi.acm.org/10.1145/2970276.2970298}, researchr = {https://researchr.org/publication/SzaboEV16}, cites = {0}, citedby = {0}, pages = {320-331}, booktitle = {ASE}, } @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{PoulsenMT15, title = {Imperative Polymorphism by Store-Based Types as Abstract Interpretations}, author = {Casper Bach Poulsen and Peter D. Mosses and Paolo Torrini}, year = {2015}, doi = {10.1145/2678015.2682545}, url = {http://doi.acm.org/10.1145/2678015.2682545}, researchr = {https://researchr.org/publication/PoulsenMT15}, cites = {0}, citedby = {0}, pages = {3-8}, booktitle = {PEPM}, } @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 = {ENTCS}, volume = {147}, number = {1}, pages = {5-30}, } @inproceedings{AhrensNW22, title = {Semantics for two-dimensional type theory}, author = {Benedikt Ahrens and Paige Randall North and Niels van der Weide}, year = {2022}, doi = {10.1145/3531130.3533334}, url = {https://doi.org/10.1145/3531130.3533334}, researchr = {https://researchr.org/publication/AhrensNW22}, cites = {0}, citedby = {0}, booktitle = {lics}, } @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 = {GPCE}, } @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{Krebbers0BJDB17, title = {The Essence of Higher-Order Concurrent Separation Logic}, author = {Robbert Krebbers and Ralf Jung 0002 and Ales Bizjak and Jacques-Henri Jourdan and Derek Dreyer and Lars Birkedal}, year = {2017}, doi = {10.1007/978-3-662-54434-1_26}, url = {http://dx.doi.org/10.1007/978-3-662-54434-1_26}, researchr = {https://researchr.org/publication/Krebbers0BJDB17}, cites = {0}, citedby = {0}, pages = {696-723}, booktitle = {ESOP}, } @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}, } @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{GreweEPM18, title = {System Description: An Infrastructure for Combining Domain Knowledge with Automated Theorem Provers}, author = {Sylvia Grewe and Sebastian Erdweg and André Pacak and Mira Mezini}, year = {2018}, doi = {10.1145/3236950.3236960}, url = {https://doi.org/10.1145/3236950.3236960}, researchr = {https://researchr.org/publication/GreweEPM18}, cites = {0}, citedby = {0}, booktitle = {ppdp}, } @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}, } @article{JungKJBBD18, title = {Iris from the ground up: A modular foundation for higher-order concurrent separation logic}, author = {Ralf Jung 0002 and Robbert Krebbers and Jacques-Henri Jourdan and Ales Bizjak and Lars Birkedal and Derek Dreyer}, year = {2018}, doi = {10.1017/S0956796818000151}, url = {https://doi.org/10.1017/S0956796818000151}, researchr = {https://researchr.org/publication/JungKJBBD18}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {28}, } @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{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}, } @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 = {OOPSLA}, } @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 = {SLE}, } @article{CockxA20, title = {Elaborating dependent (co)pattern matching: No pattern left behind}, author = {Jesper Cockx and Andreas Abel}, year = {2020}, doi = {10.1017/S0956796819000182}, url = {https://doi.org/10.1017/S0956796819000182}, researchr = {https://researchr.org/publication/CockxA20}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {30}, } @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 = {SLE}, } @inproceedings{SzaboKBME18, title = {Incremental overload resolution in object-oriented programming languages}, author = {Tamás Szabó and Edlira Kuci and Matthijs Bijman and Mira Mezini and Sebastian Erdweg}, year = {2018}, doi = {10.1145/3236454.3236485}, url = {https://doi.org/10.1145/3236454.3236485}, researchr = {https://researchr.org/publication/SzaboKBME18}, cites = {0}, citedby = {0}, pages = {27-33}, booktitle = {ISSTA}, } @article{KeidelE19, title = {Sound and reusable components for abstract interpretation}, author = {Sven Keidel and Sebastian Erdweg}, year = {2019}, doi = {10.1145/3360602}, url = {https://doi.org/10.1145/3360602}, researchr = {https://researchr.org/publication/KeidelE19}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {3}, number = {OOPSLA}, } @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}, } @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{HinrichsenBK20, title = {Actris: session-type based reasoning in separation logic}, author = {Jonas Kastberg Hinrichsen and Jesper Bengtson and Robbert Krebbers}, year = {2020}, doi = {10.1145/3371074}, url = {https://doi.org/10.1145/3371074}, researchr = {https://researchr.org/publication/HinrichsenBK20}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {4}, number = {POPL}, } @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 = {PACMPL}, volume = {4}, number = {OOPSLA}, } @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 = {SLE}, } @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 = {SLE}, } @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 = {SCP}, volume = {75}, number = {7}, pages = {473-495}, } @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{BracevacASEEM18, title = {Versatile event correlation with algebraic effects}, author = {Oliver Bracevac and Nada Amin and Guido Salvaneschi and Sebastian Erdweg and Patrick Eugster and Mira Mezini}, year = {2018}, doi = {10.1145/3236762}, url = {https://doi.org/10.1145/3236762}, researchr = {https://researchr.org/publication/BracevacASEEM18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {ICFP}, } @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 = {OOPSLA}, } @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}, } @inproceedings{CockxME0N22, title = {Reasonable Agda is correct Haskell: writing verified Haskell using agda2hs}, author = {Jesper Cockx and Orestis Melkonian and Lucas Escot and James Chapman and Ulf Norell}, year = {2022}, doi = {10.1145/3546189.3549920}, url = {https://doi.org/10.1145/3546189.3549920}, researchr = {https://researchr.org/publication/CockxME0N22}, cites = {0}, citedby = {0}, pages = {108-122}, booktitle = {haskell}, } @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{KeidelE17, title = {Toward abstract interpretation of program transformations}, author = {Sven Keidel and Sebastian Erdweg}, year = {2017}, doi = {10.1145/3141517.3141855}, url = {https://doi.org/10.1145/3141517.3141855}, researchr = {https://researchr.org/publication/KeidelE17}, cites = {0}, citedby = {0}, pages = {1-5}, booktitle = {OOPSLA}, } @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 = {SLE}, } @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 = {SLE}, } @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 = {ASE}, } @article{KrebbersJ0TKTCD18, title = {MoSeL: a general, extensible modal framework for interactive proofs in separation logic}, author = {Robbert Krebbers and Jacques-Henri Jourdan and Ralf Jung 0002 and Joseph Tassarotti and Jan-Oliver Kaiser and Amin Timany and Arthur Charguéraud and Derek Dreyer}, year = {2018}, doi = {10.1145/3236772}, url = {https://doi.org/10.1145/3236772}, researchr = {https://researchr.org/publication/KrebbersJ0TKTCD18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {ICFP}, } @article{RestPRVM22, title = {Intrinsically-typed definitional interpreters à la carte}, author = {Cas van der Rest and Casper Bach Poulsen and Arjen Rouvoet and Eelco Visser and Peter D. Mosses}, year = {2022}, doi = {10.1145/3563355}, url = {https://doi.org/10.1145/3563355}, researchr = {https://researchr.org/publication/RestPRVM22}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {6}, number = {OOPSLA2}, pages = {1903-1932}, } @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 = {OOPSLA}, } @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 = {SCP}, volume = {97}, pages = {11-16}, } @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 = {ICMT}, } @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{PacakE19, title = {Generating incremental type services}, author = {André Pacak and Sebastian Erdweg}, year = {2019}, doi = {10.1145/3357766.3359534}, url = {https://doi.org/10.1145/3357766.3359534}, researchr = {https://researchr.org/publication/PacakE19}, cites = {0}, citedby = {0}, pages = {197-201}, booktitle = {SLE}, } @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 = {GPCE}, } @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 = {CC}, } @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 = {GTTSE}, } @inproceedings{Harkes18, title = {We should stop claiming generality in our domain-specific language papers (extended abstract)}, author = {Daco Harkes}, year = {2018}, doi = {10.1145/3276954.3276967}, url = {https://doi.org/10.1145/3276954.3276967}, researchr = {https://researchr.org/publication/Harkes18}, cites = {0}, citedby = {0}, pages = {131-132}, booktitle = {OOPSLA}, } @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 = {GPCE}, } @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 = {ENTCS}, volume = {253}, number = {7}, pages = {205-219}, } @article{EscotC22, title = {Practical generic programming over a universe of native datatypes}, author = {Lucas Escot and Jesper Cockx}, year = {2022}, doi = {10.1145/3547644}, url = {https://doi.org/10.1145/3547644}, researchr = {https://researchr.org/publication/EscotC22}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {6}, number = {ICFP}, pages = {625-649}, } @inproceedings{Zwaan22, title = {Specializing Scope Graph Resolution Queries}, author = {Aron Zwaan}, year = {2022}, doi = {10.1145/3567512.3567523}, url = {https://doi.org/10.1145/3567512.3567523}, researchr = {https://researchr.org/publication/Zwaan22}, cites = {0}, citedby = {0}, pages = {121-133}, booktitle = {SLE}, }