publications: - title: "A scalable infrastructure for teaching concepts of programming languages in Scala with WebLab: an experience report" author: - name: "Tim van der Lippe" link: "https://researchr.org/alias/tim-van-der-lippe" - name: "Thomas Smith" link: "https://researchr.org/alias/thomas-smith" - name: "Daniël A. A. Pelsmaeker" link: "https://pelsmaeker.net/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" doi: "http://doi.acm.org/10.1145/2998392.2998402" abstract: "In this paper, we report on our experience in teaching a course on concepts of programming languages at TU Delft based on Krishnamurthi's PAPL book with the definitional interpreter approach using Scala as meta-language and using the WebLab learning management system. In particular, we discuss our experience with encoding of definitional interpreters in Scala using case classes, pattern matching, and recursive functions; offering this material in the web-based learning management system WebLab; automated grading and feedback of interpreter submissions using unit tests; testing tests to force students to formulate tests, instead of just implementing interpreters; generation of tests based on a reference implementation to reduce the effort of producing unit tests; and the construction of a product line of interpreters in order to maximize reuse and consistency between reference implementations. " links: doi: "http://doi.acm.org/10.1145/2998392.2998402" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/scala/LippeSPV16" researchr: "https://researchr.org/publication/LippeSPV16" cites: 0 citedby: 0 pages: "65-74" booktitle: "Proceedings of the 7th ACM SIGPLAN Symposium on Scala, SCALA@SPLASH 2016, Amsterdam, Netherlands, October 30 - November 4, 2016" editor: - name: "Aggelos Biboudis" link: "https://researchr.org/alias/aggelos-biboudis" - name: "Manohar Jonnalagedda" link: "https://researchr.org/alias/manohar-jonnalagedda" - name: "Sandro Stucki" link: "https://researchr.org/alias/sandro-stucki" - name: "Vlad Ureche" link: "https://researchr.org/alias/vlad-ureche" publisher: "ACM" isbn: "978-1-4503-4648-1" kind: "inproceedings" key: "LippeSPV16" - title: "Towards language-parametric semantic editor services based on declarative type system specifications" author: - name: "Daniël A. A. Pelsmaeker" link: "https://pelsmaeker.net/" - name: "Hendrik van Antwerpen" link: "https://nl.linkedin.com/in/hendrikvanantwerpen" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2019" doi: "https://doi.org/10.1145/3359061.3362782" abstract: "New programming languages often lack good IDE support, as developing advanced semantic editor services takes additional effort. In previous work we discussed the operational requirements of a constraint solver that leverages the declarative type system specification of a language to provide language-parametric semantic editor services. In this work we describe the implementation of our solver as a two stage process: inference and search. An editor-service specific search strategy determines how and where the search is conducted, and when it terminates. We are currently implementing and evaluating this idea." links: doi: "https://doi.org/10.1145/3359061.3362782" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/PelsmaekerAV19" researchr: "https://researchr.org/publication/PelsmaekerAV19-SPLASH" cites: 0 citedby: 0 pages: "19-20" booktitle: "Proceedings Companion of the 2019 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, SPLASH 2019, Athens, Greece, October 20-25, 2019" editor: - name: "Yannis Smaragdakis" link: "https://researchr.org/alias/yannis-smaragdakis" publisher: "ACM" isbn: "978-1-4503-6992-3" kind: "inproceedings" key: "PelsmaekerAV19-SPLASH" - title: "Portable Editor Services" author: - name: "Daniël A. A. Pelsmaeker" link: "https://pelsmaeker.net/" year: "2018" researchr: "https://researchr.org/publication/Pelsmaeker2018" cites: 0 citedby: 0 kind: "mastersthesis" key: "Pelsmaeker2018" - title: "Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications (Brave New Idea Paper)" author: - name: "Daniël A. A. Pelsmaeker" link: "https://pelsmaeker.net/" - name: "Hendrik van Antwerpen" link: "https://nl.linkedin.com/in/hendrikvanantwerpen" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2019" doi: "https://doi.org/10.4230/LIPIcs.ECOOP.2019.26" abstract: "Editor services assist programmers to more effectively write and comprehend code. Implementing editor services correctly is not trivial. This paper focuses on the specification of semantic editor services, those that use the semantic model of a program. The specification of refactorings is a common subject of study, but many other semantic editor services have received little attention. We propose a language-parametric approach to the definition of semantic editor services, using a declarative specification of the static semantics of the programming language, and constraint solving. Editor services are specified as constraint problems, and language specifications are used to ensure correctness. We describe our approach for the following semantic editor services: reference resolution, find usages, goto subclasses, code completion, and the extract definition refactoring. We do this in the context of Statix, a constraint language for the specification of type systems. We investigate the specification of editor services in terms of Statix constraints, and the requirements these impose on a suitable solver." links: doi: "https://doi.org/10.4230/LIPIcs.ECOOP.2019.26" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/PelsmaekerAV19" researchr: "https://researchr.org/publication/PelsmaekerAV19" cites: 0 citedby: 0 booktitle: "33rd European Conference on Object-Oriented Programming, ECOOP 2019, July 15-19, 2019, London, United Kingdom" editor: - name: "Alastair F. Donaldson" link: "https://researchr.org/alias/alastair-f.-donaldson" volume: "134" series: "LIPIcs" publisher: "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik" isbn: "978-3-95977-111-5" kind: "inproceedings" key: "PelsmaekerAV19" - title: "Language-parametric static semantic code completion" author: - name: "Daniël A. A. Pelsmaeker" link: "https://pelsmaeker.net/" - name: "Hendrik van Antwerpen" link: "https://nl.linkedin.com/in/hendrikvanantwerpen" - name: "Casper Bach Poulsen" link: "http://www.casperbp.net" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2022" doi: "https://doi.org/10.1145/3527329" links: doi: "https://doi.org/10.1145/3527329" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/PelsmaekerAPV22" researchr: "https://researchr.org/publication/PelsmaekerAPV22" cites: 0 citedby: 0 journal: "Proceedings of the ACM on Programming Languages" volume: "6" number: "OOPSLA" pages: "1-30" kind: "article" key: "PelsmaekerAPV22"