publications: - title: "Language-integrated privacy-aware distributed queries" author: - name: "Guido Salvaneschi" link: "https://researchr.org/alias/guido-salvaneschi" - name: "Mirko Köhler" link: "https://researchr.org/alias/mirko-k%C3%B6hler" - name: "Daniel Sokolowski" link: "https://researchr.org/alias/daniel-sokolowski" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2019" doi: "https://doi.org/10.1145/3360593" links: doi: "https://doi.org/10.1145/3360593" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/SalvaneschiKSHE19" researchr: "https://researchr.org/publication/SalvaneschiKSHE19" cites: 0 citedby: 0 journal: "PACMPL" volume: "3" number: "OOPSLA" kind: "article" key: "SalvaneschiKSHE19" - title: "Modular specification and dynamic enforcement of syntactic language constraints when generating code" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Vlad A. Vergu" link: "http://www.linkedin.com/in/vladv" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2014" doi: "http://doi.acm.org/10.1145/2577080.2577089" abstract: "A key problem in metaprogramming and specifically in generative programming is to guarantee that generated code is well-formed with respect to the context-free and context-sensitive constraints of the target language. We propose typesmart constructors as a dynamic approach to enforcing the well-formedness of generated code. A typesmart constructor is a function that is used in place of a regular constructor to create values, but it may reject the creation of values if the given data violates some language-specific constraint. While typesmart constructors can be implemented individually, we demonstrate how to derive them automatically from a grammar, so that the grammar remains the sole specification of a language's syntax and is not duplicated. We have integrated support for typesmart constructors into the run-time system of Stratego to enforce usage of typesmart constructors implicitly whenever a regular constructor is called. We evaluate the applicability, performance, and usefulness of typesmart constructors for syntactic constraints in a compiler for MiniJava developed with Spoofax and in various language extensions of Java and Haskell implemented with SugarJ and SugarHaskell." links: doi: "http://doi.acm.org/10.1145/2577080.2577089" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/aosd/ErdwegVMV14a" researchr: "https://researchr.org/publication/ErdwegVMV14" cites: 0 citedby: 0 pages: "241-252" booktitle: "AOSD" kind: "inproceedings" key: "ErdwegVMV14" - title: "Template constructors for reusable object initialization" author: - name: "Marko Martin" link: "https://researchr.org/alias/marko-martin" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2013" doi: "http://doi.acm.org/10.1145/2517208.2517212" links: doi: "http://doi.acm.org/10.1145/2517208.2517212" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/MartinME13" researchr: "https://researchr.org/publication/MartinME13" cites: 0 citedby: 0 pages: "43-52" booktitle: "GPCE" kind: "inproceedings" key: "MartinME13" - title: "A framework for extensible languages" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Felix Rieger" link: "https://researchr.org/alias/felix-rieger" year: "2013" doi: "http://doi.acm.org/10.1145/2517208.2517210" links: doi: "http://doi.acm.org/10.1145/2517208.2517210" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/ErdwegR13" researchr: "https://researchr.org/publication/ErdwegR13" cites: 0 citedby: 0 pages: "3-12" booktitle: "GPCE" kind: "inproceedings" key: "ErdwegR13" - title: "Variability-aware parsing in the presence of lexical macros and conditional compilation" author: - name: "Christian Kästner" link: "https://researchr.org/alias/christian-k%C3%A4stner" - name: "Paolo G. Giarrusso" link: "https://www.informatik.uni-marburg.de/~pgiarrusso/" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" - name: "Thorsten Berger" link: "https://researchr.org/alias/thorsten-berger" year: "2011" doi: "http://doi.acm.org/10.1145/2048066.2048128" links: doi: "http://doi.acm.org/10.1145/2048066.2048128" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KastnerGREOB11" researchr: "https://researchr.org/publication/KastnerGREOB11" cites: 0 citedby: 0 pages: "805-824" booktitle: "OOPSLA" kind: "inproceedings" key: "KastnerGREOB11" - title: "IncA: a DSL for the definition of incremental program analyses" author: - name: "Tamás Szabó" link: "https://researchr.org/alias/tam%C3%A1s-szab%C3%B3" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Markus Völter" link: "http://www.voelter.de/" year: "2016" doi: "http://doi.acm.org/10.1145/2970276.2970298" links: doi: "http://doi.acm.org/10.1145/2970276.2970298" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/kbse/SzaboEV16" researchr: "https://researchr.org/publication/SzaboEV16" cites: 0 citedby: 0 pages: "320-331" booktitle: "ASE" kind: "inproceedings" key: "SzaboEV16" - title: "Abstract Features in Feature Modeling" author: - name: "Thomas Thüm" link: "http://www.ovgu.de/~tthuem/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Norbert Siegmund" link: "http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/" year: "2011" month: "August" tags: - "meta-model" - "modeling" - "Meta-Environment" researchr: "https://researchr.org/publication/TKES%3ASPLC11" cites: 0 citedby: 0 booktitle: "Proceedings of the International Software Product Line Conference (SPLC)" kind: "inproceedings" key: "TKES:SPLC11" - title: "A Module-System Discipline for Model-Driven Software Development" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" year: "2017" doi: "https://doi.org/10.22152/programming-journal.org/2017/1/9" links: doi: "https://doi.org/10.22152/programming-journal.org/2017/1/9" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/programming/ErdwegO17" researchr: "https://researchr.org/publication/ErdwegO17" cites: 0 citedby: 0 journal: "Programming" volume: "1" number: "2" pages: "9" kind: "article" key: "ErdwegO17" - title: "Finding bugs in program generators by dynamic analysis of syntactic language constraints" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Vlad A. Vergu" link: "http://www.linkedin.com/in/vladv" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2014" doi: "http://doi.acm.org/10.1145/2584469.2584474" abstract: "Program generators and transformations are hard to implement correctly, because the implementation needs to generically describe how to construct programs, for example, using templates or rewrite rules. We apply dynamic analysis to program generators in order to support developers in finding bugs and identifying the source of the bug. Our analysis focuses on syntactic language constraints and checks that generated programs are syntactically well-formed. To retain a language's grammar as the unique specification of the language's syntax, we devised mechanisms to derive the analysis from the grammar. Moreover, we designed a run-time system to support the modular activation/deactivation of the analysis, so that generators do not require adaption. We have implemented the analysis for the Stratego term-rewriting language and applied it in case studies based on Spoofax and SugarJ." links: doi: "http://doi.acm.org/10.1145/2584469.2584474" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/aosd/ErdwegVMV14" researchr: "https://researchr.org/publication/ErdwegVMV14-demo" cites: 0 citedby: 0 pages: "17-20" booktitle: "AOSD" kind: "inproceedings" key: "ErdwegVMV14-demo" - title: "A Co-contextual Type Checker for Featherweight Java " author: - name: " Edlira Kuci" link: "https://researchr.org/alias/edlira-kuci" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Oliver Bracevac" link: "https://researchr.org/alias/oliver-bracevac" - name: "Andi Bejleri" link: "https://researchr.org/alias/andi-bejleri" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2017" doi: "https://doi.org/10.4230/LIPIcs.ECOOP.2017.18" links: doi: "https://doi.org/10.4230/LIPIcs.ECOOP.2017.18" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/KuciEBBM17" researchr: "https://researchr.org/publication/KuciEBBM17" cites: 0 citedby: 0 booktitle: "ECOOP" kind: "inproceedings" key: "KuciEBBM17" - title: "PIE: A Domain-Specific Language for Interactive Software Development Pipelines" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Michael J. Steindorfer" link: "http://michael.steindorfer.name" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "https://doi.org/10.22152/programming-journal.org/2018/2/9" abstract: "Context. Software development pipelines are used for automating essential parts of software engineering processes, such as build automation and continuous integration testing. In particular, interactive pipelines, which process events in a live environment such as an IDE, require timely results for low-latency feedback, and persistence to retain low-latency feedback between restarts. Inquiry. Developing an incrementalized and persistent version of a pipeline is one way to reduce feedback latency, but requires implementation of dependency tracking, cache invalidation, and other complicated and error-prone techniques. Therefore, interactivity complicates pipeline development if timeliness and persistence become responsibilities of the pipeline programmer, rather than being supported by the underlying system. Systems for programming incremental and persistent pipelines exist, but do not focus on ease of development, requiring a high degree of boilerplate, increasing development and maintenance effort. Approach. We develop Pipelines for Interactive Environments (PIE), a Domain-Specific Language (DSL), API, and runtime for developing interactive software development pipelines, where ease of development is a focus. The PIE DSL is a statically typed and lexically scoped language. PIE programs are compiled to programs implementing the API, which the PIE runtime executes in an incremental and persistent way. Knowledge. PIE provides a straightforward programming model that enables direct and concise expression of pipelines without boilerplate, reducing the development and maintenance effort of pipelines. Compiled pipeline programs can be embedded into interactive environments such as code editors and IDEs, enabling timely feedback at a low cost. Grounding. Compared to the state of the art, PIE reduces the code required to express an interactive pipeline by a factor of 6 in a case study on syntax-aware editors. Furthermore, we evaluate PIE in two case studies of complex interactive software development scenarios, demonstrating that PIE can handle complex interactive pipelines in a straightforward and concise way. Importance. Interactive pipelines are complicated software artifacts that power many important systems such as continuous feedback cycles in IDEs and code editors, and live language development in language workbenches. New pipelines, and evolution of existing pipelines, is frequently necessary. Therefore, a system for easily developing and maintaining interactive pipelines, such as PIE, is important." links: doi: "https://doi.org/10.22152/programming-journal.org/2018/2/9" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/programming/KonatSEV18" researchr: "https://researchr.org/publication/KonatSEV18" cites: 0 citedby: 0 journal: "Programming" volume: "2" number: "3" pages: "9" kind: "article" key: "KonatSEV18" - title: "Compositional soundness proofs of abstract interpreters" author: - name: "Sven Keidel" link: "https://researchr.org/alias/sven-keidel" - name: "Casper Bach Poulsen" link: "http://www.casperbp.net" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2018" doi: "https://doi.org/10.1145/3236767" links: doi: "https://doi.org/10.1145/3236767" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/KeidelPE18" researchr: "https://researchr.org/publication/KeidelPE18" cites: 0 citedby: 0 journal: "PACMPL" volume: "2" number: "ICFP" kind: "article" key: "KeidelPE18" - title: "A co-contextual formulation of type rules and its application to incremental type checking" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Oliver Bracevac" link: "https://researchr.org/alias/oliver-bracevac" - name: " Edlira Kuci" link: "https://researchr.org/alias/edlira-kuci" - name: "Matthias Krebs" link: "https://researchr.org/alias/matthias-krebs" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2015" doi: "http://doi.acm.org/10.1145/2814270.2814277" abstract: "Type rules associate types to expressions given a typing context. As the type checker traverses the expression tree top-down, it extends the typing context with additional context information that becomes available. This way, the typing context coordinates type checking in otherwise independent subexpressions, which inhibits parallelization and incrementalization of type checking. We propose a co-contextual formulation of type rules that only take an expression as input and produce a type and a set of context requirements. Co-contextual type checkers traverse an expression tree bottom-up and merge context requirements of independently checked subexpressions. We describe a method for systematically constructing a co-contextual formulation of type rules from a regular context-based formulation and we show how co-contextual type rules give rise to incremental type checking. Using our method, we derive incremental type checkers for PCF and for extensions that introduce records, parametric polymorphism, and subtyping. Our performance evaluation shows that co-contextual type checking has performance comparable to standard context- based type checking, and incrementalization can improve performance significantly." links: doi: "http://doi.acm.org/10.1145/2814270.2814277" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ErdwegBKKM15" researchr: "https://researchr.org/publication/ErdwegBKKM15" cites: 0 citedby: 0 pages: "880-897" booktitle: "OOPSLA" kind: "inproceedings" key: "ErdwegBKKM15" - title: "Growing a language environment with editor libraries" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2047862.2047891" abstract: "Large software projects consist of code written in a multitude of different (possibly domain-specific) languages, which are often deeply interspersed even in single files. While many proposals exist on how to integrate languages semantically and syntactically, the question of how to support this scenario in integrated development environments (IDEs) remains open: How can standard IDE services, such as syntax highlighting, outlining, or reference resolving, be provided in an extensible and compositional way, such that an open mix of languages is supported in a single file? Based on our library-based syntactic extension language for Java, SugarJ, we propose to make IDEs extensible by organizing editor services in editor libraries. Editor libraries are libraries written in the object language, SugarJ, and hence activated and composed through regular import statements on a file-by-file basis. We have implemented an IDE for editor libraries on top of SugarJ and the Eclipse-based Spoofax language workbench. We have validated editor libraries by evolving this IDE into a fully-fledged and schema-aware XML editor as well as an extensible Latex editor, which we used for writing this paper. " links: doi: "http://doi.acm.org/10.1145/2047862.2047891" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/ErdwegKRKOV11" researchr: "https://researchr.org/publication/ErdwegKRKOV11gpce" cites: 0 citedby: 0 pages: "167-176" booktitle: "GPCE" kind: "inproceedings" key: "ErdwegKRKOV11gpce" - title: "Automating Proof Steps of Progress Proofs: Comparing Vampire and Dafny" author: - name: "Sylvia Grewe" link: "https://researchr.org/alias/sylvia-grewe" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2016" doi: "http://www.easychair.org/publications/paper/Automating_Proof_Steps_of_Progress_Proofs_Comparing_Vampire_and_Dafny" links: doi: "http://www.easychair.org/publications/paper/Automating_Proof_Steps_of_Progress_Proofs_Comparing_Vampire_and_Dafny" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/cade/GreweEM16" researchr: "https://researchr.org/publication/GreweEM16" cites: 0 citedby: 0 pages: "33-45" booktitle: "cade" kind: "inproceedings" key: "GreweEM16" - title: "Exploration of language specifications by compilation to first-order logic" author: - name: "Sylvia Grewe" link: "https://researchr.org/alias/sylvia-grewe" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Michael Raulf" link: "https://researchr.org/alias/michael-raulf" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2016" doi: "http://doi.acm.org/10.1145/2967973.2968606" links: doi: "http://doi.acm.org/10.1145/2967973.2968606" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ppdp/GreweERM16" researchr: "https://researchr.org/publication/GreweERM16" cites: 0 citedby: 0 pages: "104-117" booktitle: "ppdp" kind: "inproceedings" key: "GreweERM16" - title: "The IDE portability problem and its solution in Monto" author: - name: "Sven Keidel" link: "https://researchr.org/alias/sven-keidel" - name: "Wulf Pfeiffer" link: "https://researchr.org/alias/wulf-pfeiffer" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2016" doi: "http://dl.acm.org/citation.cfm?id=2997368" links: doi: "http://dl.acm.org/citation.cfm?id=2997368" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/KeidelPE16" researchr: "https://researchr.org/publication/KeidelPE16" cites: 0 citedby: 0 pages: "152-162" booktitle: "SLE" kind: "inproceedings" key: "KeidelPE16" - title: "Toward abstract interpretation of program transformations" author: - name: "Sven Keidel" link: "https://researchr.org/alias/sven-keidel" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2017" doi: "https://doi.org/10.1145/3141517.3141855" links: doi: "https://doi.org/10.1145/3141517.3141855" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KeidelE17" researchr: "https://researchr.org/publication/KeidelE17" cites: 0 citedby: 0 pages: "1-5" booktitle: "OOPSLA" kind: "inproceedings" key: "KeidelE17" - title: "Declarative specification of indentation rules: a tooling perspective on parsing and pretty-printing layout-sensitive languages" author: - name: "Luis Eduardo de Souza Amorim" link: "https://www.linkedin.com/profile/view?id=136481548" - name: "Michael J. Steindorfer" link: "http://michael.steindorfer.name" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "https://doi.org/10.1145/3276604.3276607" abstract: " In layout-sensitive languages, the indentation of an expression or statement can influence how a program is parsed. While some of these languages (e.g., Haskell and Python) have been widely adopted, there is little support for software language engineers in building tools for layout-sensitive languages. As a result, parsers, pretty-printers, program analyses, and refactoring tools often need to be handwritten, which decreases the maintainability and extensibility of these tools. Even state-of-the-art language workbenches have little support for layout-sensitive languages, restricting the development and prototyping of such languages. In this paper, we introduce a novel approach to declarative specification of layout-sensitive languages using layout declarations. Layout declarations are high-level specifications of indentation rules that abstract from low-level technicalities. We show how to derive an efficient layout-sensitive generalized parser and a corresponding pretty-printer automatically from a language specification with layout declarations. We validate our approach in a case-study using a syntax definition for the Haskell programming language, investigating the performance of the generated parser and the correctness of the generated pretty-printer against 22191 Haskell files. " links: doi: "https://doi.org/10.1145/3276604.3276607" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/AmorimSEV18" researchr: "https://researchr.org/publication/AmorimSEV18" cites: 0 citedby: 0 pages: "3-15" booktitle: "SLE" kind: "inproceedings" key: "AmorimSEV18" - title: "Exploration of language specifications by compilation to first-order logic" author: - name: "Sylvia Grewe" link: "https://researchr.org/alias/sylvia-grewe" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "André Pacak" link: "https://researchr.org/alias/andr%C3%A9-pacak" - name: "Michael Raulf" link: "https://researchr.org/alias/michael-raulf" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2018" doi: "https://doi.org/10.1016/j.scico.2017.08.001" links: doi: "https://doi.org/10.1016/j.scico.2017.08.001" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/scp/GreweEPRM18" researchr: "https://researchr.org/publication/GreweEPRM18" cites: 0 citedby: 0 journal: "SCP" volume: "155" pages: "146-172" kind: "article" key: "GreweEPRM18" - title: "DSLDI 2014: second workshop on domain specific languages design and implementation" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Adam Welc" link: "https://researchr.org/alias/adam-welc" year: "2014" doi: "http://doi.acm.org/10.1145/2660252.2663600" links: doi: "http://doi.acm.org/10.1145/2660252.2663600" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ErdwegW14" researchr: "https://researchr.org/publication/ErdwegW14" cites: 0 citedby: 0 pages: "71-72" booktitle: "OOPSLA" kind: "inproceedings" key: "ErdwegW14" - title: "Bootstrapping, Default Formatting, and Skeleton Editing in the Spoofax Language Workbench" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Luis Eduardo de Souza Amorim" link: "https://www.linkedin.com/profile/view?id=136481548" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" abstract: "Language workbenches are tools that help language designers to design and implement (domain-specific) programming languages, aiming to produce a full featured programming environment from a high-level language description. A recent paper, resulting from a series of language workbench challenge workshops, describes a collection of benchmark problems for language workbench research [5]. In this paper, we describe solutions to two of these benchmark problems in the Spoofax Language Workbench [6], i.e. default formatting in Section 3 and skeleton editing in Section 4. In addition, we introduce a new benchmark problem — bootstrapping of meta-languages in a workbench — and describe the support for bootstrapping we developed for Spoofax in Section 2." researchr: "https://researchr.org/publication/KonatAEV16" cites: 0 citedby: 0 howpublished: "Language Workbench Challenge (LWC@SLE)" kind: "misc" key: "KonatAEV16" - title: "Efficient development of consistent projectional editors using grammar cells" author: - name: "Markus Völter" link: "http://www.voelter.de/" - name: "Tamás Szabó" link: "https://researchr.org/alias/tam%C3%A1s-szab%C3%B3" - name: "Sascha Lisson" link: "https://researchr.org/alias/sascha-lisson" - name: " Bernd Kolb" link: "https://researchr.org/alias/bernd-kolb" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Thorsten Berger" link: "https://researchr.org/alias/thorsten-berger" year: "2016" doi: "http://dl.acm.org/citation.cfm?id=2997365" links: doi: "http://dl.acm.org/citation.cfm?id=2997365" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/VoelterSLKEB16" researchr: "https://researchr.org/publication/VoelterSLKEB16" cites: 0 citedby: 0 pages: "28-40" booktitle: "SLE" kind: "inproceedings" key: "VoelterSLKEB16" - title: "Evolution of Software Systems with Extensible Languages and DSLs" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Stefan Fehrenbach" link: "https://researchr.org/alias/stefan-fehrenbach" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" year: "2014" doi: "http://dx.doi.org/10.1109/MS.2014.99" links: doi: "http://dx.doi.org/10.1109/MS.2014.99" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/software/ErdwegFO14" researchr: "https://researchr.org/publication/ErdwegFO14" cites: 0 citedby: 0 journal: "IEEE Software" volume: "31" number: "5" pages: "68-75" kind: "article" key: "ErdwegFO14" - title: "System Description: An Infrastructure for Combining Domain Knowledge with Automated Theorem Provers" author: - name: "Sylvia Grewe" link: "https://researchr.org/alias/sylvia-grewe" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "André Pacak" link: "https://researchr.org/alias/andr%C3%A9-pacak" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2018" doi: "https://doi.org/10.1145/3236950.3236960" links: doi: "https://doi.org/10.1145/3236950.3236960" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ppdp/GreweEPM18" researchr: "https://researchr.org/publication/GreweEPM18" cites: 0 citedby: 0 booktitle: "ppdp" kind: "inproceedings" key: "GreweEPM18" - title: "Library-based model-driven software development with SugarJ" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2048147.2048156" abstract: "SugarJ is a Java-based programming language that provides extensible surface syntax, static analyses, and IDE support. SugarJ extensions are organized as libraries; conventional import statements suffice to activate and compose language extensions. We demonstrate how programmers can use SugarJ to modularly extend Java's syntax, semantic analyses and IDE support." links: doi: "http://doi.acm.org/10.1145/2048147.2048156" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ErdwegKRKOV11" researchr: "https://researchr.org/publication/ErdwegKRKOV11-mdsd" cites: 0 citedby: 0 pages: "17-18" booktitle: "OOPSLA" kind: "inproceedings" key: "ErdwegKRKOV11-mdsd" - title: "Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation" author: - name: "Christian Kästner" link: "https://researchr.org/alias/christian-k%C3%A4stner" - name: "Paolo G. Giarrusso" link: "https://www.informatik.uni-marburg.de/~pgiarrusso/" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" - name: "Thorsten Berger" link: "https://researchr.org/alias/thorsten-berger" year: "2011" tags: - "Variability-Aware Analysis" - "analysis" - "macros" - "context-aware" - "parsing" researchr: "https://researchr.org/publication/KstnerGiarrussoRendelErdwegOstermannBerger2011" cites: 0 citedby: 0 booktitle: "Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)" kind: "inproceedings" key: "KstnerGiarrussoRendelErdwegOstermannBerger2011" - title: "Sound and reusable components for abstract interpretation" author: - name: "Sven Keidel" link: "https://researchr.org/alias/sven-keidel" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2019" doi: "https://doi.org/10.1145/3360602" links: doi: "https://doi.org/10.1145/3360602" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/KeidelE19" researchr: "https://researchr.org/publication/KeidelE19" cites: 0 citedby: 0 journal: "PACMPL" volume: "3" number: "OOPSLA" kind: "article" key: "KeidelE19" - title: "Layout-sensitive language extensibility with SugarHaskell" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Felix Rieger" link: "https://researchr.org/alias/felix-rieger" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" year: "2012" doi: "http://doi.acm.org/10.1145/2364506.2364526" links: doi: "http://doi.acm.org/10.1145/2364506.2364526" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/haskell/ErdwegRRO12" researchr: "https://researchr.org/publication/ErdwegRRO12" cites: 0 citedby: 0 pages: "149-160" booktitle: "haskell" kind: "inproceedings" key: "ErdwegRRO12" - title: "Tracing Program Transformations with String Origins" author: - name: "Pablo Inostroza" link: "https://researchr.org/alias/pablo-inostroza" - name: "Tijs van der Storm" link: "https://researchr.org/alias/tijs-van-der-storm" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2014" doi: "http://dx.doi.org/10.1007/978-3-319-08789-4_12" links: doi: "http://dx.doi.org/10.1007/978-3-319-08789-4_12" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icmt/InostrozaSE14" researchr: "https://researchr.org/publication/InostrozaSE14" cites: 0 citedby: 0 pages: "154-169" booktitle: "ICMT" kind: "inproceedings" key: "InostrozaSE14" - title: "Bootstrapping Domain-Specific Meta-Languages in Language Workbenches" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" doi: "http://doi.acm.org/10.1145/2993236.2993242" abstract: " It is common practice to bootstrap compilers of programming languages. By using the compiled language to implement the compiler, compiler developers can code in their own high-level language and gain a large-scale test case. In this paper, we investigate bootstrapping of compiler-compilers as they occur in language workbenches. Language workbenches support the development of compilers through the application of multiple collaborating domain-specific meta-languages for defining a language's syntax, analysis, code generation, and editor support. We analyze the bootstrapping problem of language workbenches in detail, propose a method for sound bootstrapping based on fixpoint compilation, and show how to conduct breaking meta-language changes in a bootstrapped language workbench. We have applied sound bootstrapping to the Spoofax language workbench and report on our experience. " links: doi: "http://doi.acm.org/10.1145/2993236.2993242" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/KonatEV16" researchr: "https://researchr.org/publication/KonatEV16" cites: 0 citedby: 0 pages: "47-58" booktitle: "GPCE" kind: "inproceedings" key: "KonatEV16" - title: "Programming Language Techniques for Incremental and Reactive Computing (Dagstuhl Seminar 16402)" author: - name: "Camil Demetrescu" link: "https://researchr.org/alias/camil-demetrescu" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Matthew A. Hammer" link: "https://researchr.org/alias/matthew-a.-hammer" - name: "Shriram Krishnamurthi" link: "https://researchr.org/alias/shriram-krishnamurthi" year: "2016" doi: "http://dx.doi.org/10.4230/DagRep.6.10.1" links: doi: "http://dx.doi.org/10.4230/DagRep.6.10.1" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/dagstuhl-reports/DemetrescuEHK16" researchr: "https://researchr.org/publication/DemetrescuEHK16" cites: 0 citedby: 0 journal: "dagstuhl-reports" volume: "6" number: "10" pages: "1-12" kind: "article" key: "DemetrescuEHK16" - title: "Incrementalizing lattice-based program analyses in Datalog" author: - name: "Tamás Szabó" link: "https://researchr.org/alias/tam%C3%A1s-szab%C3%B3" - name: "Gábor Bergmann" link: "https://researchr.org/alias/g%C3%A1bor-bergmann" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Markus Voelter" link: "https://researchr.org/alias/markus-voelter" year: "2018" doi: "https://doi.org/10.1145/3276509" links: doi: "https://doi.org/10.1145/3276509" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/SzaboBEV18" researchr: "https://researchr.org/publication/SzaboBEV18" cites: 0 citedby: 0 journal: "PACMPL" volume: "2" number: "OOPSLA" kind: "article" key: "SzaboBEV18" - title: "Precise, Efficient, and Expressive Incremental Build Scripts with PIE" author: - name: "Gabriël Konat" link: "https://researchr.org/alias/gabrie%CC%88l-konat" - name: " Roelof Sol" link: "https://researchr.org/alias/roelof-sol" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2019" abstract: "PIE is precise, as dependencies of build tasks are exactly tracked using dynamic dependencies, enabling correct and minimal incremental builds. PIE is efficient, only checking and executing tasks that have been affected by a change. Finally, PIE is expressive, as build engineers write their build scripts in a full-fledged programming language, without having to resort to workarounds or complicated design patterns." researchr: "https://researchr.org/publication/KonatSEV19" cites: 0 citedby: 0 booktitle: "Second Workshop on Incremental Computing (IC 2019)" kind: "inproceedings" key: "KonatSEV19" - title: "Type systems for the masses: deriving soundness proofs and efficient checkers" author: - name: "Sylvia Grewe" link: "https://researchr.org/alias/sylvia-grewe" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Pascal Wittmann" link: "https://researchr.org/alias/pascal-wittmann" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2015" doi: "http://doi.acm.org/10.1145/2814228.2814239" abstract: "The correct definition and implementation of non-trivial type systems is difficult and requires expert knowledge, which is not available to developers of domain-specific languages (DSLs) in practice. We propose Veritas, a workbench that simplifies the development of sound type systems. Veritas provides a single, high-level specification language for type systems, from which it automatically tries to derive soundness proofs and efficient and correct type-checking algorithms. For verification, Veritas combines off-the-shelf automated first-order theorem provers with automated proof strategies specific to type systems. For deriving efficient type checkers, Veritas provides a collection of optimization strategies whose applicability to a given type system is checked through verification on a case-by-case basis. We have developed a prototypical implementation of Veritas and used it to verify type soundness of the simply-typed lambda calculus and of parts of typed SQL. Our experience suggests that many of the individual verification steps can be automated and, in particular, that a high degree of automation is possible for type systems of DSLs." links: doi: "http://doi.acm.org/10.1145/2814228.2814239" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/GreweEWM15" researchr: "https://researchr.org/publication/GreweEWM15" cites: 0 citedby: 0 pages: "137-150" booktitle: "OOPSLA" kind: "inproceedings" key: "GreweEWM15" - title: "Extensible Languages for Flexible and Principled Domain Abstraction" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2013" month: "March" researchr: "https://researchr.org/publication/Erdweg2013.thesis" cites: 0 citedby: 0 school: "Philipps-Universität Marburg" kind: "phdthesis" key: "Erdweg2013.thesis" - title: "CPL: a core language for cloud computing" author: - name: "Oliver Bracevac" link: "https://researchr.org/alias/oliver-bracevac" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Guido Salvaneschi" link: "https://researchr.org/alias/guido-salvaneschi" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2016" doi: "http://doi.acm.org/10.1145/2889443.2889452" links: doi: "http://doi.acm.org/10.1145/2889443.2889452" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/aosd/BracevacESM16" researchr: "https://researchr.org/publication/BracevacESM16" cites: 0 citedby: 0 pages: "94-105" booktitle: "AOSD" kind: "inproceedings" key: "BracevacESM16" - title: "Evaluating and comparing language workbenches: Existing results and benchmarks for the future" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Tijs van der Storm" link: "http://homepages.cwi.nl/~storm/" - name: "Markus Völter" link: "http://www.voelter.de/" - name: "Laurence Tratt" link: "https://researchr.org/alias/laurence-tratt" - name: "Remi Bosman" link: "https://researchr.org/alias/remi-bosman" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Albert Gerritsen" link: "https://researchr.org/alias/albert-gerritsen" - name: "Angelo Hulshout" link: "https://researchr.org/alias/angelo-hulshout" - name: "Steven Kelly" link: "http://www.metacase.com/stevek.html" - name: "Alex Loh" link: "https://researchr.org/alias/alex-loh" - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Pedro J. Molina" link: "https://researchr.org/alias/pedro-j.-molina" - name: "Martin Palatnik" link: "https://researchr.org/alias/martin-palatnik" - name: "Risto Pohjonen" link: "https://researchr.org/alias/risto-pohjonen" - name: "Eugen Schindler" link: "https://researchr.org/alias/eugen-schindler" - name: "Klemens Schindler" link: "https://researchr.org/alias/klemens-schindler" - name: "Riccardo Solmi" link: "https://researchr.org/alias/riccardo-solmi" - name: "Vlad A. Vergu" link: "https://researchr.org/alias/vlad-a.-vergu" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Kevin van der Vlist" link: "https://researchr.org/alias/kevin-van-der-vlist" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" - name: "Jimi van der Woning" link: "https://researchr.org/alias/jimi-van-der-woning" year: "2015" doi: "http://dx.doi.org/10.1016/j.cl.2015.08.007" abstract: "Language workbenches are environments for simplifying the creation and use of computer languages. The annual Language Workbench Challenge (LWC) was launched in 2011 to allow the many academic and industrial researchers in this area an opportunity to quantitatively and qualitatively compare their approaches. We first describe all four LWCs to date, before focussing on the approaches used, and results generated, during the third LWC. We give various empirical data for ten approaches from the third LWC. We present a generic feature model within which the approaches can be understood and contrasted. Finally, based on our experiences of the existing LWCs, we propose a number of benchmark problems for future LWCs." links: doi: "http://dx.doi.org/10.1016/j.cl.2015.08.007" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/cl/ErdwegSVTBCGH0L15" researchr: "https://researchr.org/publication/ErdwegSVTBCGH0L15" cites: 0 citedby: 0 journal: "Comp. Lang., Syst. \\& Struct." volume: "44" pages: "24-47" kind: "article" key: "ErdwegSVTBCGH0L15" - title: "Software Evolution to Domain-Specific Languages" author: - name: "Stefan Fehrenbach" link: "https://researchr.org/alias/stefan-fehrenbach" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-319-02654-1_6" links: doi: "http://dx.doi.org/10.1007/978-3-319-02654-1_6" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/FehrenbachEO13" researchr: "https://researchr.org/publication/FehrenbachEO13" cites: 0 citedby: 0 pages: "96-116" booktitle: "SLE" kind: "inproceedings" key: "FehrenbachEO13" - title: "Toward incremental type checking for Java" author: - name: " Edlira Kuci" link: "https://researchr.org/alias/edlira-kuci" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2015" doi: "http://doi.acm.org/10.1145/2814189.2817272" links: doi: "http://doi.acm.org/10.1145/2814189.2817272" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KuciEM15" researchr: "https://researchr.org/publication/KuciEM15" cites: 0 citedby: 0 pages: "46-47" booktitle: "OOPSLA" kind: "inproceedings" key: "KuciEM15" - title: "Generating incremental type services" author: - name: "André Pacak" link: "https://researchr.org/alias/andr%C3%A9-pacak" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2019" doi: "https://doi.org/10.1145/3357766.3359534" links: doi: "https://doi.org/10.1145/3357766.3359534" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/PacakE19" researchr: "https://researchr.org/publication/PacakE19" cites: 0 citedby: 0 pages: "197-201" booktitle: "SLE" kind: "inproceedings" key: "PacakE19" - title: "Language composition untangled" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Paolo G. Giarrusso" link: "https://www.informatik.uni-marburg.de/~pgiarrusso/" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" year: "2012" doi: "http://doi.acm.org/10.1145/2427048.2427055" links: doi: "http://doi.acm.org/10.1145/2427048.2427055" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ldta/ErdwegGR12" researchr: "https://researchr.org/publication/ErdwegGR12" cites: 0 citedby: 0 pages: "7" booktitle: "LDTA" kind: "inproceedings" key: "ErdwegGR12" - title: "Capture-Avoiding Program Transformations with name-fix" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Tijs van der Storm" link: "https://researchr.org/alias/tijs-van-der-storm" - name: "Yi Dai" link: "https://researchr.org/alias/yi-dai" year: "2015" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/se/ErdwegSD15" researchr: "https://researchr.org/publication/ErdwegSD15" cites: 0 citedby: 0 pages: "93-94" booktitle: "se" kind: "inproceedings" key: "ErdwegSD15" - title: "Towards virtual traits in Scala" author: - name: "Manuel Weiel" link: "https://researchr.org/alias/manuel-weiel" - name: "Ingo Maier" link: "https://researchr.org/alias/ingo-maier" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Michael Eichberg" link: "https://researchr.org/alias/michael-eichberg" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2014" doi: "http://doi.acm.org/10.1145/2637647.2637654" links: doi: "http://doi.acm.org/10.1145/2637647.2637654" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/WeielMEEM14" researchr: "https://researchr.org/publication/WeielMEEM14" cites: 0 citedby: 0 pages: "67-75" booktitle: "ECOOP" kind: "inproceedings" key: "WeielMEEM14" - title: "Using Vampire in Soundness Proofs of Type Systems" author: - name: "Sylvia Grewe" link: "https://researchr.org/alias/sylvia-grewe" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2015" doi: "http://www.easychair.org/publications/paper/Using_Vampire_in_Soundness_Proofs_of_Type_Systems" links: doi: "http://www.easychair.org/publications/paper/Using_Vampire_in_Soundness_Proofs_of_Type_Systems" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/cade/GreweEM15" researchr: "https://researchr.org/publication/GreweEM15" cites: 0 citedby: 0 pages: "33-51" booktitle: "cade" kind: "inproceedings" key: "GreweEM15" - title: "Incremental overload resolution in object-oriented programming languages" author: - name: "Tamás Szabó" link: "https://researchr.org/alias/tam%C3%A1s-szab%C3%B3" - name: " Edlira Kuci" link: "https://researchr.org/alias/edlira-kuci" - name: "Matthijs Bijman" link: "https://researchr.org/alias/matthijs-bijman" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2018" doi: "https://doi.org/10.1145/3236454.3236485" links: doi: "https://doi.org/10.1145/3236454.3236485" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/issta/SzaboKBME18" researchr: "https://researchr.org/publication/SzaboKBME18" cites: 0 citedby: 0 pages: "27-33" booktitle: "ISSTA" kind: "inproceedings" key: "SzaboKBME18" - title: "Towards secure integration of cryptographic software" author: - name: " Steven Arzt" link: "https://researchr.org/alias/steven-arzt" - name: "Sarah Nadi" link: "https://researchr.org/alias/sarah-nadi" - name: "Karim Ali" link: "https://researchr.org/alias/karim-ali" - name: "Eric Bodden" link: "https://researchr.org/alias/eric-bodden" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2015" doi: "http://doi.acm.org/10.1145/2814228.2814229" links: doi: "http://doi.acm.org/10.1145/2814228.2814229" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ArztNABEM15" researchr: "https://researchr.org/publication/ArztNABEM15" cites: 0 citedby: 0 pages: "1-13" booktitle: "OOPSLA" kind: "inproceedings" key: "ArztNABEM15" - title: "Domain-Specific Languages (Dagstuhl Seminar 15062)" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Martin Erwig" link: "https://researchr.org/alias/martin-erwig" - name: "Richard F. Paige" link: "https://researchr.org/alias/richard-f.-paige" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2015" doi: "http://dx.doi.org/10.4230/DagRep.5.2.26" abstract: "This report documents the program and outcomes of Dagstuhl Seminar 15062 “Domain-Specific Languages”, which took place February 1–6, 2015. The seminar was motivated on the one hand by the high interest in domain-specific languages in academia and industry and on the other hand by the observation that the community is divided into largely disconnected subdisciplines (e.g., internal, external, visual, model-driven). The seminar included participants across these subdisciplines and included overview talks, technical talks, demos, discussion groups, and an industrial panel. This report collects the abstracts of talks and other activities at the seminar and summarizes the outcomes of the seminar." links: doi: "http://dx.doi.org/10.4230/DagRep.5.2.26" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/dagstuhl-reports/ErdwegEPV15" researchr: "https://researchr.org/publication/ErdwegEPV15" cites: 0 citedby: 0 journal: "dagstuhl-reports" volume: "5" number: "2" pages: "26-43" kind: "article" key: "ErdwegEPV15" - title: "Scalable incremental building with dynamic task dependencies" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "https://doi.org/10.1145/3238147.3238196" abstract: "Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the maintainability of build scripts. In this paper, we present a new incremental build algorithm that allows build engineers to use a full-fledged programming language with explicit task invocation, value and file inspection facilities, and conditional and iterative language constructs. In contrast to prior work on incrementality for such programmable builds, our algorithm scales with the number of tasks affected by a change and is independent of the size of the software project being built. Specifically, our algorithm accepts a set of changed files, transitively detects and re-executes affected build tasks, but also accounts for new task dependencies discovered during building. We have evaluated the performance of our algorithm in a real-world case study and confirm its scalability." links: doi: "https://doi.org/10.1145/3238147.3238196" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/kbse/KonatEV18" researchr: "https://researchr.org/publication/KonatEV18" cites: 0 citedby: 0 pages: "76-86" booktitle: "ASE" kind: "inproceedings" key: "KonatEV18" - title: "XPoints: Extension Interfaces for Multilayered Applications" author: - name: "Mohamed Aly" link: "https://researchr.org/alias/mohamed-aly" - name: "Anis Charfi" link: "https://researchr.org/alias/anis-charfi" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2013" doi: "http://dx.doi.org/10.1109/EDOC.2013.34" links: doi: "http://dx.doi.org/10.1109/EDOC.2013.34" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/edoc/AlyCEM13" researchr: "https://researchr.org/publication/AlyCEM13" cites: 0 citedby: 0 pages: "237-246" booktitle: "edoc" kind: "inproceedings" key: "AlyCEM13" - title: "An extensible framework for variable-precision data-flow analyses in MPS" author: - name: "Tamás Szabó" link: "https://researchr.org/alias/tam%C3%A1s-szab%C3%B3" - name: "Simon Alperovich" link: "https://researchr.org/alias/simon-alperovich" - name: "Markus Völter" link: "http://www.voelter.de/" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2016" doi: "http://doi.acm.org/10.1145/2970276.2970296" links: doi: "http://doi.acm.org/10.1145/2970276.2970296" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/kbse/SzaboAVE16" researchr: "https://researchr.org/publication/SzaboAVE16" cites: 0 citedby: 0 pages: "870-875" booktitle: "ASE" kind: "inproceedings" key: "SzaboAVE16" - title: "Abstract Features in Feature Modeling" author: - name: "Thomas Thüm" link: "https://researchr.org/alias/thomas-th%C3%BCm" - name: "Christian Kästner" link: "https://researchr.org/alias/christian-k%C3%A4stner" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Norbert Siegmund" link: "https://researchr.org/alias/norbert-siegmund" year: "2011" doi: "http://dx.doi.org/10.1109/SPLC.2011.53" links: doi: "http://dx.doi.org/10.1109/SPLC.2011.53" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/splc/ThumKES11" researchr: "https://researchr.org/publication/ThumKES11" cites: 0 citedby: 0 pages: "191-200" booktitle: "SPLC" kind: "inproceedings" key: "ThumKES11" - title: "Sound type-dependent syntactic language extension" author: - name: "Florian Lorenzen" link: "https://researchr.org/alias/florian-lorenzen" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2016" doi: "http://doi.acm.org/10.1145/2837614.2837644" links: doi: "http://doi.acm.org/10.1145/2837614.2837644" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/popl/LorenzenE16" researchr: "https://researchr.org/publication/LorenzenE16" cites: 0 citedby: 0 pages: "204-216" booktitle: "POPL" kind: "inproceedings" key: "LorenzenE16" - title: "Principled syntactic code completion using placeholders" author: - name: "Luis Eduardo de Souza Amorim" link: "https://www.linkedin.com/profile/view?id=136481548" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" doi: "http://dx.doi.org/10.1145/2997364.2997374" abstract: "Principled syntactic code completion enables developers to change source code by inserting code templates, thus increasing developer efficiency and supporting language exploration. However, existing code completion systems are ad-hoc and neither complete nor sound. They are not complete and only provide few code templates for selected programming languages. They also are not sound and propose code templates that yield invalid programs when inserted.This paper presents a generic framework that automatically derives complete and sound syntactic code completion from the syntax definition of arbitrary languages. A key insight of our work is to provide an explicit syntactic representation for incomplete programs using placeholders. This enables us to address the following challenges for code completion separately: (i) completing incomplete programs by replacing placeholders with code templates, (ii) injecting placeholders into complete programs to make them incomplete, and (iii) introducing lexemes and placeholders into incorrect programs through error-recovery parsing to make them correct so we can apply one of the previous strategies. We formalize our framework and provide an implementation in the Spoofax Language Workbench. " links: doi: "http://dx.doi.org/10.1145/2997364.2997374" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/AmorimEWV16" researchr: "https://researchr.org/publication/AmorimEWV16" cites: 0 citedby: 0 pages: "163-175" booktitle: "SLE" kind: "inproceedings" key: "AmorimEWV16" - title: "Versatile event correlation with algebraic effects" author: - name: "Oliver Bracevac" link: "https://researchr.org/alias/oliver-bracevac" - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Guido Salvaneschi" link: "https://researchr.org/alias/guido-salvaneschi" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Patrick Eugster" link: "https://researchr.org/alias/patrick-eugster" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2018" doi: "https://doi.org/10.1145/3236762" links: doi: "https://doi.org/10.1145/3236762" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/BracevacASEEM18" researchr: "https://researchr.org/publication/BracevacASEEM18" cites: 0 citedby: 0 journal: "PACMPL" volume: "2" number: "ICFP" kind: "article" key: "BracevacASEEM18" - title: "The State of the Art in Language Workbenches - Conclusions from the Language Workbench Challenge" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Tijs van der Storm" link: "http://homepages.cwi.nl/~storm/" - name: "Markus Völter" link: "http://www.voelter.de/" - name: " Meinte Boersma" link: "https://researchr.org/alias/meinte-boersma" - name: "Remi Bosman" link: "https://researchr.org/alias/remi-bosman" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Albert Gerritsen" link: "https://researchr.org/alias/albert-gerritsen" - name: "Angelo Hulshout" link: "https://researchr.org/alias/angelo-hulshout" - name: "Steven Kelly" link: "https://researchr.org/alias/steven-kelly" - name: "Alex Loh" link: "https://researchr.org/alias/alex-loh" - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Pedro J. Molina" link: "https://researchr.org/alias/pedro-j.-molina" - name: "Martin Palatnik" link: "https://researchr.org/alias/martin-palatnik" - name: "Risto Pohjonen" link: "https://researchr.org/alias/risto-pohjonen" - name: "Eugen Schindler" link: "https://researchr.org/alias/eugen-schindler" - name: "Klemens Schindler" link: "https://researchr.org/alias/klemens-schindler" - name: "Riccardo Solmi" link: "https://researchr.org/alias/riccardo-solmi" - name: "Vlad A. Vergu" link: "https://researchr.org/alias/vlad-a.-vergu" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Kevin van der Vlist" link: "https://researchr.org/alias/kevin-van-der-vlist" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" - name: "Jimi van der Woning" link: "https://researchr.org/alias/jimi-van-der-woning" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-319-02654-1_11" abstract: "Language workbenches are tools that provide high-level mechanisms for the implementation of (domain-specific) languages. Language workbenches are an active area of research that also receives many contributions from industry. To compare and discuss existing language workbenches, the annual Language Workbench Challenge was launched in 2011. Each year, participants are challenged to realize a given domain-specific language with their workbenches as a basis for discussion and comparison. In this paper, we describe the state of the art of language workbenches as observed in the previous editions of the Language Workbench Challenge. In particular, we capture the design space of language workbenches in a feature model and show where in this design space the participants of the 2013 Language Workbench Challenge reside. We compare these workbenches based on a DSL for questionnaires that was realized in all workbenches." links: doi: "http://dx.doi.org/10.1007/978-3-319-02654-1_11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/ErdwegSVBBCGHKLKMPPSSSVVVWW13" researchr: "https://researchr.org/publication/ErdwegSV13" cites: 0 citedby: 0 pages: "197-217" booktitle: "SLE" kind: "inproceedings" key: "ErdwegSV13" - title: "A sound and optimal incremental build system with dynamic dependencies" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Moritz Lichter" link: "https://researchr.org/alias/moritz-lichter" - name: "Manuel Weiel" link: "https://researchr.org/alias/manuel-weiel" year: "2015" doi: "http://doi.acm.org/10.1145/2814270.2814316" links: doi: "http://doi.acm.org/10.1145/2814270.2814316" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ErdwegLW15" researchr: "https://researchr.org/publication/ErdwegLW15" cites: 0 citedby: 1 pages: "89-106" booktitle: "OOPSLA" kind: "inproceedings" key: "ErdwegLW15" - title: "Capture-Avoiding and Hygienic Program Transformations" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Tijs van der Storm" link: "https://researchr.org/alias/tijs-van-der-storm" - name: "Yi Dai" link: "https://researchr.org/alias/yi-dai" year: "2014" doi: "http://dx.doi.org/10.1007/978-3-662-44202-9_20" links: doi: "http://dx.doi.org/10.1007/978-3-662-44202-9_20" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/ErdwegSD14" researchr: "https://researchr.org/publication/ErdwegSD14" cites: 0 citedby: 0 pages: "489-514" booktitle: "ECOOP" kind: "inproceedings" key: "ErdwegSD14" - title: "A variability-aware module system" author: - name: "Christian Kästner" link: "https://researchr.org/alias/christian-k%C3%A4stner" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2012" doi: "http://doi.acm.org/10.1145/2384616.2384673" links: doi: "http://doi.acm.org/10.1145/2384616.2384673" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KastnerOE12" researchr: "https://researchr.org/publication/KastnerOE12" cites: 0 citedby: 0 pages: "773-792" booktitle: "OOPSLA" kind: "inproceedings" key: "KastnerOE12" - title: "A Systematic Approach to Abstract Interpretation of Program Transformations" author: - name: "Sven Keidel" link: "https://researchr.org/alias/sven-keidel" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2020" doi: "https://doi.org/10.1007/978-3-030-39322-9_7" links: doi: "https://doi.org/10.1007/978-3-030-39322-9_7" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/vmcai/KeidelE20" researchr: "https://researchr.org/publication/KeidelE20" cites: 0 citedby: 0 pages: "136-157" booktitle: "vmcai" kind: "inproceedings" key: "KeidelE20" - title: "SugarJ: library-based syntactic language extensibility" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Christian Kästner" link: "https://researchr.org/alias/christian-k%C3%A4stner" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" year: "2011" doi: "http://doi.acm.org/10.1145/2048066.2048099" links: doi: "http://doi.acm.org/10.1145/2048066.2048099" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ErdwegRKO11" researchr: "https://researchr.org/publication/ErdwegRKO11" cites: 0 citedby: 0 pages: "391-406" booktitle: "OOPSLA" kind: "inproceedings" key: "ErdwegRKO11" - title: "Towards Live Language Development" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" abstract: "We would like to see live programming applied to language development, to getlive language development. With live language development, a language developer gets fast feed- back when they change their language, enabling experimentation with language design and development. In this paper, we describe what live language development is and why it is useful, and we analyze what is needed to achieve live language development. Moreover, we describe our work in progress in supporting live language development in the Spoofax language workbench." links: published: "https://researchr.org/publication/KonatEV16-LIVE" researchr: "https://researchr.org/publication/preprint-KonatEV16-0" cites: 0 citedby: 0 type: "Preprint" kind: "techreport" key: "preprint-KonatEV16-0" - title: "Toward variability-aware testing" author: - name: "Christian Kästner" link: "https://researchr.org/alias/christian-k%C3%A4stner" - name: " Alexander von Rhein" link: "https://researchr.org/alias/alexander-von-rhein" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Jonas Pusch" link: "https://researchr.org/alias/jonas-pusch" - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" year: "2012" doi: "http://doi.acm.org/10.1145/2377816.2377817" links: doi: "http://doi.acm.org/10.1145/2377816.2377817" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/KastnerREPARO12" researchr: "https://researchr.org/publication/KastnerREPARO12" cites: 0 citedby: 0 pages: "1-8" booktitle: "GPCE" kind: "inproceedings" key: "KastnerREPARO12" - title: "Layout-Sensitive Generalized Parsing" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Christian Kästner" link: "https://researchr.org/alias/christian-k%C3%A4stner" - name: "Klaus Ostermann" link: "https://researchr.org/alias/klaus-ostermann" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-36089-3_14" links: doi: "http://dx.doi.org/10.1007/978-3-642-36089-3_14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/ErdwegRKO12" researchr: "https://researchr.org/publication/ErdwegRKO12" cites: 0 citedby: 0 pages: "244-263" booktitle: "SLE" kind: "inproceedings" key: "ErdwegRKO12" - title: "Modular capture avoidance for program transformations" author: - name: "Nico Ritschel" link: "https://researchr.org/alias/nico-ritschel" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2015" doi: "http://doi.acm.org/10.1145/2814251.2814260" links: doi: "http://doi.acm.org/10.1145/2814251.2814260" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/RitschelE15" researchr: "https://researchr.org/publication/RitschelE15" cites: 0 citedby: 0 pages: "59-70" booktitle: "SLE" kind: "inproceedings" key: "RitschelE15" - title: "Modular and automated type-soundness verification for language extensions" author: - name: "Florian Lorenzen" link: "https://researchr.org/alias/florian-lorenzen" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" year: "2013" doi: "http://doi.acm.org/10.1145/2500365.2500596" links: doi: "http://doi.acm.org/10.1145/2500365.2500596" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icfp/LorenzenE13" researchr: "https://researchr.org/publication/LorenzenE13" cites: 0 citedby: 0 pages: "331-342" booktitle: "ICFP" kind: "inproceedings" key: "LorenzenE13" - title: "Towards Live Language Development" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" abstract: "We would like to see live programming applied to language development, to getlive language development. With live language development, a language developer gets fast feed- back when they change their language, enabling experimentation with language design and development. In this paper, we describe what live language development is and why it is useful, and we analyze what is needed to achieve live language development. Moreover, we describe our work in progress in supporting live language development in the Spoofax language workbench." links: technicalreport: "https://researchr.org/publication/preprint-KonatEV16-0" researchr: "https://researchr.org/publication/KonatEV16-LIVE" cites: 0 citedby: 0 booktitle: "Workshop on Live Programming Systems (LIVE)" kind: "inproceedings" key: "KonatEV16-LIVE" - title: "i3QL: language-integrated live data views" author: - name: "Ralf Mitschke" link: "https://researchr.org/alias/ralf-mitschke" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Mirko Köhler" link: "https://researchr.org/alias/mirko-k%C3%B6hler" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Guido Salvaneschi" link: "https://researchr.org/alias/guido-salvaneschi" year: "2014" doi: "http://doi.acm.org/10.1145/2660193.2660242" links: doi: "http://doi.acm.org/10.1145/2660193.2660242" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/MitschkeEKMS14" researchr: "https://researchr.org/publication/MitschkeEKMS14" cites: 0 citedby: 0 pages: "417-432" booktitle: "OOPSLA" kind: "inproceedings" key: "MitschkeEKMS14" - title: "SugarJ: library-based language extensibility" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2048147.2048199" abstract: "SugarJ is a Java-based programming language that provides extensible surface syntax, static analyses, and IDE support. SugarJ extensions are organized as libraries; conventional import statements suffice to activate and compose language extensions. We illustrate how programmers can use SugarJ to modularly extend Java’s syntax, semantic analyses and IDE support." links: doi: "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" kind: "inproceedings" key: "ErdwegKRKOV11-extensibility" - title: "Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming, WGP@ICFP 2015, Vancouver, BC, Canada, August 30, 2015" year: "2015" doi: "http://doi.acm.org/10.1145/2808098" links: doi: "http://doi.acm.org/10.1145/2808098" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icfp/2015wgp" researchr: "https://researchr.org/publication/icfp-2015wgp" cites: 0 citedby: 0 booktitle: "Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming, WGP@ICFP 2015, Vancouver, BC, Canada, August 30, 2015" conference: "ICFP" editor: - name: "Patrick Bahr" link: "https://researchr.org/alias/patrick-bahr" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" publisher: "ACM" isbn: "978-1-4503-3810-3" kind: "proceedings" key: "icfp-2015wgp" - title: "Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2017, Vancouver, BC, Canada, October 23-24, 2017" year: "2017" doi: "http://dl.acm.org/citation.cfm?id=3136040" links: doi: "http://dl.acm.org/citation.cfm?id=3136040" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/2017" researchr: "https://researchr.org/publication/gpce-2017" cites: 0 citedby: 0 booktitle: "Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2017, Vancouver, BC, Canada, October 23-24, 2017" conference: "GPCE" editor: - name: "Matthew Flatt" link: "https://researchr.org/alias/matthew-flatt" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" publisher: "ACM" isbn: "978-1-4503-5524-7" kind: "proceedings" key: "gpce-2017" - title: "Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, SCALA@ICFP 2018, St. Louis, MO, USA, September 28, 2018" year: "2018" doi: "https://doi.org/10.1145/3241653" links: doi: "https://doi.org/10.1145/3241653" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/scala/2018" 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: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Bruno C. D. S. Oliveira" link: "https://researchr.org/alias/bruno-c.-d.-s.-oliveira" publisher: "ACM" kind: "proceedings" key: "scala-2018"