OASIcs, Volume 109

Eelco Visser Commemorative Symposium (EVCS 2023)



Thumbnail PDF

Event

EVCS 2023, April 5, 2023, Delft, The Netherlands

Editors

Ralf Lämmel
  • University of Koblenz, Germany
Peter D. Mosses
  • Delft University of Technology, The Netherlands
Friedrich Steimann
  • Fernuniversität in Hagen, Germany

Publication Details

  • published at: 2023-03-21
  • Publisher: Schloss Dagstuhl – Leibniz-Zentrum für Informatik
  • ISBN: 978-3-95977-267-9
  • DBLP: db/conf/birthday/2023visser

Access Numbers

Documents

No documents found matching your filter selection.
Document
Complete Volume
OASIcs, Volume 109, EVCS 2023, Complete Volume

Authors: Ralf Lämmel, Peter D. Mosses, and Friedrich Steimann


Abstract
OASIcs, Volume 109, EVCS 2023, Complete Volume

Cite as

Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 1-340, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@Proceedings{lammel_et_al:OASIcs.EVCS.2023,
  title =	{{OASIcs, Volume 109, EVCS 2023, Complete Volume}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{1--340},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023},
  URN =		{urn:nbn:de:0030-drops-177693},
  doi =		{10.4230/OASIcs.EVCS.2023},
  annote =	{Keywords: OASIcs, Volume 109, EVCS 2023, Complete Volume}
}
Document
Front Matter
Front Matter, Table of Contents, Preface, Conference Organization

Authors: Ralf Lämmel, Peter D. Mosses, and Friedrich Steimann


Abstract
Front Matter, Table of Contents, Preface, Conference Organization

Cite as

Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 0:i-0:xviii, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{lammel_et_al:OASIcs.EVCS.2023.0,
  author =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  title =	{{Front Matter, Table of Contents, Preface, Conference Organization}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{0:i--0:xviii},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.0},
  URN =		{urn:nbn:de:0030-drops-177706},
  doi =		{10.4230/OASIcs.EVCS.2023.0},
  annote =	{Keywords: Front Matter, Table of Contents, Preface, Conference Organization}
}
Document
Getting Things Done: The Eelco Way

Authors: Arie van Deursen


Abstract
Eelco Visser (1966-2022) was a leading member of the department of Software Technology (ST) of the faculty of Electrical Engineering Mathematics, and Computer Science (EEMCS) of Delft University of Technology. He had a profound influence on the educational programs in computer science at TU Delft, built a highly successful Programming Languages Group from the ground up, and used his research results to develop widely used tools and services that have been used by thousands of students and researchers for more than a decade. He realized all these successes not just alone, but in close collaboration with a range of people, who he convinced to follow his lead. In this short reflection, I look back at his achievements, and at the way in which he worked with others to bring ambitious ideas to successful reality.

Cite as

Arie van Deursen. Getting Things Done: The Eelco Way. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 1:1-1:4, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{vandeursen:OASIcs.EVCS.2023.1,
  author =	{van Deursen, Arie},
  title =	{{Getting Things Done: The Eelco Way}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{1:1--1:4},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.1},
  URN =		{urn:nbn:de:0030-drops-177710},
  doi =		{10.4230/OASIcs.EVCS.2023.1},
  annote =	{Keywords: Leadership}
}
Document
Renamingless Capture-Avoiding Substitution for Definitional Interpreters

Authors: Casper Bach Poulsen


Abstract
Substitution is a common and popular approach to implementing name binding in definitional interpreters. A common pitfall of implementing substitution functions is variable capture. The traditional approach to avoiding variable capture is to rename variables. However, traditional renaming makes for an inefficient interpretation strategy. Furthermore, for applications where partially-interpreted terms are user facing it can be confusing if names in uninterpreted parts of the program have been changed. In this paper we explore two techniques for implementing capture avoiding substitution in definitional interpreters to avoid renaming.

Cite as

Casper Bach Poulsen. Renamingless Capture-Avoiding Substitution for Definitional Interpreters. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 2:1-2:10, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{bachpoulsen:OASIcs.EVCS.2023.2,
  author =	{Bach Poulsen, Casper},
  title =	{{Renamingless Capture-Avoiding Substitution for Definitional Interpreters}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{2:1--2:10},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.2},
  URN =		{urn:nbn:de:0030-drops-177728},
  doi =		{10.4230/OASIcs.EVCS.2023.2},
  annote =	{Keywords: Capture-avoiding substitution, lambda calculus, definitional interpreter}
}
Document
Injecting Language Workbench Technology into Mainstream Languages

Authors: Michael Ballantyne and Matthias Felleisen


Abstract
Eelco Visser envisioned a future where DSLs become a commonplace abstraction in software development. He took strides towards implementing this vision with the Spoofax language workbench. However, his vision is far from the mainstream of programming today. How will the many mainstream programmers encounter and adopt language workbench technology? We propose that the macro systems found in emerging industrial languages open a path towards delivering language workbenches as easy-to-adopt libraries. To develop the idea, we sketch an implementation of a language workbench as a macro-library atop Racket and identify the key features of the macro system needed to enable this evolution path.

Cite as

Michael Ballantyne and Matthias Felleisen. Injecting Language Workbench Technology into Mainstream Languages. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 3:1-3:11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{ballantyne_et_al:OASIcs.EVCS.2023.3,
  author =	{Ballantyne, Michael and Felleisen, Matthias},
  title =	{{Injecting Language Workbench Technology into Mainstream Languages}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{3:1--3:11},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.3},
  URN =		{urn:nbn:de:0030-drops-177737},
  doi =		{10.4230/OASIcs.EVCS.2023.3},
  annote =	{Keywords: Language workbenches, macro systems, language adoption}
}
Document
The Importance of Being Eelco

Authors: Andrew P. Black, Kim B. Bruce, and James Noble


Abstract
Programming language designers and implementers are taught that: semantics are more worthwhile than syntax, that programs exist to embody proofs, rather than to get work done, and to value Dijkstra more than Van Wijngaarden. Eelco Visser believed that, while there is value in the items on the left, there is at least as much value in the items on the right. This short paper explores how Eelco Visser embodied these values, and how he encouraged our work on the Grace programming language, supported that work withio Spoofax, and provided a venue for discussion within the WG2.16 Programming Language Design working group.

Cite as

Andrew P. Black, Kim B. Bruce, and James Noble. The Importance of Being Eelco. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 4:1-4:15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{black_et_al:OASIcs.EVCS.2023.4,
  author =	{Black, Andrew P. and Bruce, Kim B. and Noble, James},
  title =	{{The Importance of Being Eelco}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{4:1--4:15},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.4},
  URN =		{urn:nbn:de:0030-drops-177743},
  doi =		{10.4230/OASIcs.EVCS.2023.4},
  annote =	{Keywords: Eelco Visser, Grace, Spoofax, syntax}
}
Document
Spoofax at Oracle: Domain-Specific Language Engineering for Large-Scale Graph Analytics

Authors: Houda Boukham, Guido Wachsmuth, Toine Hartman, Hamza Boucherit, Oskar van Rest, Hassan Chafi, Sungpack Hong, Martijn Dwars, Arnaud Delamare, and Dalila Chiadmi


Abstract
For the last decade, teams at Oracle relied on the Spoofax language workbench to develop a family of domain-specific languages for graph analytics in research projects and in product development. In this paper, we analyze the requirements for integrating language processors into large-scale graph analytics toolkits and for the development of these language processors as part of a larger product development process. We discuss how Spoofax helps to meet these requirements and point out the need for future improvements.

Cite as

Houda Boukham, Guido Wachsmuth, Toine Hartman, Hamza Boucherit, Oskar van Rest, Hassan Chafi, Sungpack Hong, Martijn Dwars, Arnaud Delamare, and Dalila Chiadmi. Spoofax at Oracle: Domain-Specific Language Engineering for Large-Scale Graph Analytics. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 5:1-5:8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{boukham_et_al:OASIcs.EVCS.2023.5,
  author =	{Boukham, Houda and Wachsmuth, Guido and Hartman, Toine and Boucherit, Hamza and van Rest, Oskar and Chafi, Hassan and Hong, Sungpack and Dwars, Martijn and Delamare, Arnaud and Chiadmi, Dalila},
  title =	{{Spoofax at Oracle: Domain-Specific Language Engineering for Large-Scale Graph Analytics}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{5:1--5:8},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.5},
  URN =		{urn:nbn:de:0030-drops-177756},
  doi =		{10.4230/OASIcs.EVCS.2023.5},
  annote =	{Keywords: language workbench, domain-specific language}
}
Document
Dependently Typed Languages in Statix

Authors: Jonathan Brouwer, Jesper Cockx, and Aron Zwaan


Abstract
Static type systems can greatly enhance the quality of programs, but implementing a type checker that is both expressive and user-friendly is challenging and error-prone. The Statix meta-language (part of the Spoofax language workbench) aims to make this task easier by automatically deriving a type checker from a declarative specification of a type system. However, so far Statix has not been used to implement dependent types, which is a class of type systems which require evaluation of terms during type checking. In this paper, we present an implementation of a simple dependently typed language in Statix, and discuss how to extend it with several common features such as inductive data types, universes, and inference of implicit arguments. While we encountered some challenges in the implementation, our conclusion is that Statix is already usable as a tool for implementing dependent types.

Cite as

Jonathan Brouwer, Jesper Cockx, and Aron Zwaan. Dependently Typed Languages in Statix. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 6:1-6:8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{brouwer_et_al:OASIcs.EVCS.2023.6,
  author =	{Brouwer, Jonathan and Cockx, Jesper and Zwaan, Aron},
  title =	{{Dependently Typed Languages in Statix}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{6:1--6:8},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.6},
  URN =		{urn:nbn:de:0030-drops-177769},
  doi =		{10.4230/OASIcs.EVCS.2023.6},
  annote =	{Keywords: Spoofax, Statix, Dependent Types, Scope Graphs, Calculus of Constructions}
}
Document
Generating Software for Well-Understood Domains

Authors: Jacques Carette, Spencer W. Smith, and Jason Balaci


Abstract
Current software development is often quite code-centric and aimed at short-term deliverables, due to various contextual forces (such as the need for new revenue streams from many individual buyers). We're interested in software where different forces drive the development. Well understood domains and long-lived software provide one such context. A crucial observation is that software artifacts that are currently handwritten contain considerable duplication. By using domain-specific languages and generative techniques, we can capture the contents of many of the artifacts of such software. Assuming an appropriate codification of domain knowledge, we find that the resulting de-duplicated sources are shorter and closer to the domain. Our prototype, Drasil, indicates improvements to traceability and change management. We're also hopeful that this could lead to long-term productivity improvements for software where these forces are at play.

Cite as

Jacques Carette, Spencer W. Smith, and Jason Balaci. Generating Software for Well-Understood Domains. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 7:1-7:12, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{carette_et_al:OASIcs.EVCS.2023.7,
  author =	{Carette, Jacques and Smith, Spencer W. and Balaci, Jason},
  title =	{{Generating Software for Well-Understood Domains}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{7:1--7:12},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.7},
  URN =		{urn:nbn:de:0030-drops-177776},
  doi =		{10.4230/OASIcs.EVCS.2023.7},
  annote =	{Keywords: code generation, document generation, knowledge capture, software engineering}
}
Document
Stack Graphs: Name Resolution at Scale

Authors: Douglas A. Creager and Hendrik van Antwerpen


Abstract
We present stack graphs, an extension of Visser et al.’s scope graphs framework. Stack graphs power Precise Code Navigation at GitHub, allowing users to navigate name binding references both within and across repositories. Like scope graphs, stack graphs encode the name binding information about a program in a graph structure, in which paths represent valid name bindings. Resolving a reference to its definition is then implemented with a simple path-finding search. GitHub hosts millions of repositories, containing petabytes of total code, implemented in hundreds of different programming languages, and receiving thousands of pushes per minute. To support this scale, we ensure that the graph construction and path-finding judgments are file-incremental: for each source file, we create an isolated subgraph without any knowledge of, or visibility into, any other file in the program. This lets us eliminate the storage and compute costs of reanalyzing file versions that we have already seen. Since most commits change a small fraction of the files in a repository, this greatly amortizes the operational costs of indexing large, frequently changed repositories over time. To handle type-directed name lookups (which require "pausing" the current lookup to resolve another name), our name resolution algorithm maintains a stack of the currently paused (but still pending) lookups. Stack graphs can be constructed via a purely syntactic analysis of the program’s source code, using a new declarative graph construction language. This means that we can extract name binding information for every repository without any per-package configuration, and without having to invoke an arbitrary, untrusted, package-specific build process.

Cite as

Douglas A. Creager and Hendrik van Antwerpen. Stack Graphs: Name Resolution at Scale. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 8:1-8:12, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{creager_et_al:OASIcs.EVCS.2023.8,
  author =	{Creager, Douglas A. and van Antwerpen, Hendrik},
  title =	{{Stack Graphs: Name Resolution at Scale}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{8:1--8:12},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.8},
  URN =		{urn:nbn:de:0030-drops-177789},
  doi =		{10.4230/OASIcs.EVCS.2023.8},
  annote =	{Keywords: Scope graphs, name binding, code navigation}
}
Document
Type Theory as a Language Workbench

Authors: Jan de Muijnck-Hughes, Guillaume Allais, and Edwin Brady


Abstract
Language Workbenches offer language designers an expressive environment in which to create their Domain Specific Languages (DSLs). Similarly, research into mechanised meta-theory has shown how dependently typed languages provide expressive environments to formalise and study DSLs and their meta-theoretical properties. But can we claim that dependently typed languages qualify as language workbenches? We argue yes! We have developed an exemplar DSL called Vélo that showcases not only dependently typed techniques to realise and manipulate Intermediate Representations (IRs), but that dependently typed languages make fine language workbenches. Vélo is a simple verified language with well-typed holes and comes with a complete compiler pipeline: parser, elaborator, REPL, evaluator, and compiler passes. Specifically, we describe our design choices for well-typed IR design that includes support for well-typed holes, how CSE is achieved in a well-typed setting, and how the mechanised type-soundness proof for Vélo is the source of the evaluator.

Cite as

Jan de Muijnck-Hughes, Guillaume Allais, and Edwin Brady. Type Theory as a Language Workbench. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 9:1-9:13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{demuijnckhughes_et_al:OASIcs.EVCS.2023.9,
  author =	{de Muijnck-Hughes, Jan and Allais, Guillaume and Brady, Edwin},
  title =	{{Type Theory as a Language Workbench}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{9:1--9:13},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.9},
  URN =		{urn:nbn:de:0030-drops-177797},
  doi =		{10.4230/OASIcs.EVCS.2023.9},
  annote =	{Keywords: dependent types, language workbenches, idris2, dsl, edsl, intrinsically scoped, well typed, co-De Bruijn}
}
Document
On Solving Solved Problems

Authors: Sebastian Erdweg


Abstract
Some problems are considered solved by the research community. But are they really and does that mean we should stop investigating them? In this essay, I argue that "solved" problems often only appear solved on the surface, while fundamental open research problems lurk below the surface. It requires dedicated researchers to discover those open problems by applying the existing solutions and putting them to the test.

Cite as

Sebastian Erdweg. On Solving Solved Problems. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 10:1-10:6, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{erdweg:OASIcs.EVCS.2023.10,
  author =	{Erdweg, Sebastian},
  title =	{{On Solving Solved Problems}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{10:1--10:6},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.10},
  URN =		{urn:nbn:de:0030-drops-177800},
  doi =		{10.4230/OASIcs.EVCS.2023.10},
  annote =	{Keywords: Research Methodology, Parsing, Type Checking}
}
Document
Reasoning About Paths in the Interface Graph

Authors: Michael Greenberg


Abstract
Clearly specified interfaces between software components are invaluable: development proceeds in parallel; implementation details are abstracted away; invariants are enforced; code is reused. But this abstraction comes with a cost: well chosen interfaces let related tasks be grouped together, but a running program interleaves tasks of all kinds. Reasoning about which values cross a given interface or which interfaces a value will cross is challenging. It is particularly hard to know that interfaces apply runtime enforcement mechanisms correctly: as programs run, values cross abstraction boundaries in subtle ways. One particular case of such reasoning - proving that a contract system checks contracts correctly at runtime [Christos Dimoulas et al., 2011; Christos Dimoulas et al., 2012] - uses a dynamic analysis to keep track of which interfaces are responsible for which values. The dynamic analysis works by giving an alternative semantics that "colors" values to match the components responsible for them. No program is ever run in this alternative semantics - it’s a formal tool to verify that the contract system’s enforcement is correct. In this short paper, we refine Dimoulas et al.’s dynamic analysis to more precisely track colors, phrasing our results graph theoretically: a value’s colors are a path in the interface graph of the original program. Our graph theoretic framing makes it easy to see that the dynamic analysis is subsumed by Eelco Visser’s scope graphs.

Cite as

Michael Greenberg. Reasoning About Paths in the Interface Graph. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 11:1-11:11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{greenberg:OASIcs.EVCS.2023.11,
  author =	{Greenberg, Michael},
  title =	{{Reasoning About Paths in the Interface Graph}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{11:1--11:11},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.11},
  URN =		{urn:nbn:de:0030-drops-177812},
  doi =		{10.4230/OASIcs.EVCS.2023.11},
  annote =	{Keywords: interfaces, components, lambda calculus, dynamic analysis}
}
Document
Conf Researchr: A Domain-Specific Content Management System for Managing Large Conference Websites

Authors: Danny M. Groenewegen, Elmer van Chastelet, Max M. de Krieger, Daniel A. A. Pelsmaeker, and Craig Anslow


Abstract
Conferences are great opportunities for sharing research, debating solutions, and networking. For the organizing committee there is a considerable deal of complexity and effort required to provide attendees and organizers with ways to find and manage programs, sessions, papers, tracks, talks, and authors. Eelco Visser found an opportunity to provide an integrated solution to these problems by designing the Conf Researchr conference management system in 2014 using our own domain-specific web programming language WebDSL. In this paper, we highlight the impact Eelco had on conference management, and how Conf Researchr evolved to become the platform of choice for hosting over 900 conference and workshop editions in SIGPLAN and SIGSOFT, among other areas of computer science research.

Cite as

Danny M. Groenewegen, Elmer van Chastelet, Max M. de Krieger, Daniel A. A. Pelsmaeker, and Craig Anslow. Conf Researchr: A Domain-Specific Content Management System for Managing Large Conference Websites. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 12:1-12:6, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{groenewegen_et_al:OASIcs.EVCS.2023.12,
  author =	{Groenewegen, Danny M. and van Chastelet, Elmer and de Krieger, Max M. and Pelsmaeker, Daniel A. A. and Anslow, Craig},
  title =	{{Conf Researchr: A Domain-Specific Content Management System for Managing Large Conference Websites}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{12:1--12:6},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.12},
  URN =		{urn:nbn:de:0030-drops-177823},
  doi =		{10.4230/OASIcs.EVCS.2023.12},
  annote =	{Keywords: Conf Researchr, conferences, WebDSL, Eelco Visser}
}
Document
Eating Your Own Dog Food: WebDSL Case Studies to Improve Academic Workflows

Authors: Danny M. Groenewegen, Elmer van Chastelet, Max M. de Krieger, and Daniel A. A. Pelsmaeker


Abstract
SDF, Stratego and Spoofax provide a platform for development of domain-specific programming languages. On this platform, the WebDSL project started out as a case study in language engineering, and grew into a reliable tool for rapid prototyping and continuous development of web applications. Our team led by Eelco Visser develops and operates several web applications to support academic workflows. EvaTool governs the process of course quality control, importing questionnaire data, and providing lecturers and education directors with a platform to discuss and agree on improvements. WebLab is an online learning management system with a focus on programming education, with support for lab work and digital exams, used by over 40 courses. Conf Researchr is a domain-specific content management system for creating and hosting integrated websites for conferences with multiple co-located events, used by all ACM SIGPLAN and SIGSOFT conferences. MyStudyPlanning is an application for composition of individual study programs by students and verification of those programs by the exam board, used by multiple faculties at the Delft University of Technology. These tools served as practical case studies for applying the research, and ensure the continued development of the underlying platform.

Cite as

Danny M. Groenewegen, Elmer van Chastelet, Max M. de Krieger, and Daniel A. A. Pelsmaeker. Eating Your Own Dog Food: WebDSL Case Studies to Improve Academic Workflows. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 13:1-13:11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{groenewegen_et_al:OASIcs.EVCS.2023.13,
  author =	{Groenewegen, Danny M. and van Chastelet, Elmer and de Krieger, Max M. and Pelsmaeker, Daniel A. A.},
  title =	{{Eating Your Own Dog Food: WebDSL Case Studies to Improve Academic Workflows}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{13:1--13:11},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.13},
  URN =		{urn:nbn:de:0030-drops-177838},
  doi =		{10.4230/OASIcs.EVCS.2023.13},
  annote =	{Keywords: WebDSL, WebLab, Spoofax, Eelco Visser, education}
}
Document
Reflections on the Birth of Spoofax

Authors: Karl Trygve Kalleberg


Abstract
The Spoofax Language Workbench is one of the many successful research projects to come out of Eelco’s tremendously productive career, as evidenced by the Most Influential Paper designation awarded at OOPSLA 2020 to the famous 2010 paper by Lennart and Eelco [Lennart C. L. Kats and Eelco Visser, 2010]. In connection with the award, Eelco wrote an excellent retrospective [Eelco Visser, 2021]. Here, I will reflect briefly on the birth of the Spoofax, subject to omissions and inaccuracies, as the topic may be of interest to hardcore fans. Eelco was my PhD co-supervisor, and I was fortunate to be part of his group during the inception of the project.

Cite as

Karl Trygve Kalleberg. Reflections on the Birth of Spoofax. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 14:1-14:4, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{kalleberg:OASIcs.EVCS.2023.14,
  author =	{Kalleberg, Karl Trygve},
  title =	{{Reflections on the Birth of Spoofax}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{14:1--14:4},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.14},
  URN =		{urn:nbn:de:0030-drops-177842},
  doi =		{10.4230/OASIcs.EVCS.2023.14},
  annote =	{Keywords: Spoofax, Language Workbench, Program Transformation}
}
Document
Eelco Visser as a Typographic Designer

Authors: Paul Klint


Abstract
While supervising both Eelco’s master’s thesis and his dissertation I have witnessed an evolution in his taste and style in many aspects of design, ranging from visual and typographical design to software design and even presentation and article design. I give some personal reflections on this evolution.

Cite as

Paul Klint. Eelco Visser as a Typographic Designer. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 15:1-15:5, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{klint:OASIcs.EVCS.2023.15,
  author =	{Klint, Paul},
  title =	{{Eelco Visser as a Typographic Designer}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{15:1--15:5},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.15},
  URN =		{urn:nbn:de:0030-drops-177854},
  doi =		{10.4230/OASIcs.EVCS.2023.15},
  annote =	{Keywords: Typesetting formal specifications, Typographic design, personal recollection}
}
Document
Typed Multi-Language Strategy Combinators

Authors: James Koppel


Abstract
Strategy combinators (also called strategic programming) are a technique for modular program transformation construction invented by Bas Luttik and Eelco Visser, best known for their instantiation in the Stratego language. Traditional implementations are dynamically typed, and struggle to represent transformations that can be usefully applied to some types, but not all. We present the design of our strategy-combinator library compstrat, a library for type-safe strategy combinators which run on Patrick Bahr’s compositional datatypes. We show how strategy combinators and compositional datatypes fuse elegantly, allowing the creation of type-preserving program transformations which operate only on datatypes satisfying certain properties. With this technique, it becomes possible to compactly define program transformations that operate on multiple programming languages. compstrat is part of the Cubix framework and has been used to build four program transformations, each of which operates on at least three languages.

Cite as

James Koppel. Typed Multi-Language Strategy Combinators. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 16:1-16:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{koppel:OASIcs.EVCS.2023.16,
  author =	{Koppel, James},
  title =	{{Typed Multi-Language Strategy Combinators}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{16:1--16:9},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.16},
  URN =		{urn:nbn:de:0030-drops-177865},
  doi =		{10.4230/OASIcs.EVCS.2023.16},
  annote =	{Keywords: program transformation, strategic programming}
}
Document
Eelco Visser - An Exceptional SLE Researcher

Authors: Ralf Lämmel


Abstract
These notes honor Eelco Visser as an exceptional member of the Software Language Engineering (SLE) community. The notes are authored from the perspective of an SLE co-founder and a continuous SLE supporter. As an inevitable side effect, a short history of SLE is captured. The commemoration begins with Eelco’s role in launching the SLE conference. The commemoration continues with Eelco’s contributions as an author and his involvement with running the conference and working towards an SLE Body of Knowledge (SLEBoK). The commemoration ends with recalling Eelco’s role as the de-facto SLE photographer.

Cite as

Ralf Lämmel. Eelco Visser - An Exceptional SLE Researcher. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 17:1-17:13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{lammel:OASIcs.EVCS.2023.17,
  author =	{L\"{a}mmel, Ralf},
  title =	{{Eelco Visser - An Exceptional SLE Researcher}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{17:1--17:13},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.17},
  URN =		{urn:nbn:de:0030-drops-177871},
  doi =		{10.4230/OASIcs.EVCS.2023.17},
  annote =	{Keywords: Eelco Visser, SLE, SLE conference, Software Language Engineering, SLEBoK}
}
Document
On the Origins of Coccinelle

Authors: Julia Lawall


Abstract
Coccinelle is a program-transformation system for C code. It has been under development since 2005 and has been extensively used on the Linux kernel. The design of Coccinelle was inspired in part by the author’s previous experience in using Stratego/XT, developed by Eelco Visser. This paper reflects on some of Coccinelle’s design choices and their relation to Eelco Visser’s work.

Cite as

Julia Lawall. On the Origins of Coccinelle. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 18:1-18:11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{lawall:OASIcs.EVCS.2023.18,
  author =	{Lawall, Julia},
  title =	{{On the Origins of Coccinelle}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{18:1--18:11},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.18},
  URN =		{urn:nbn:de:0030-drops-177884},
  doi =		{10.4230/OASIcs.EVCS.2023.18},
  annote =	{Keywords: Linux kernel, Coccinelle, Stratego/XT, program transformation}
}
Document
Eelco Visser as a Founding Member of the IFIP WG 2.11

Authors: Christian Lengauer and Jacques Carette


Abstract
Appreciation of Eelco Visser’s contribution to the IFIP WG 2.11 by two of its chairs. Christian Lengauer was chair from 2007 to 2013. Jacques Carette has been chair since 2019.

Cite as

Christian Lengauer and Jacques Carette. Eelco Visser as a Founding Member of the IFIP WG 2.11. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 19:1-19:3, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{lengauer_et_al:OASIcs.EVCS.2023.19,
  author =	{Lengauer, Christian and Carette, Jacques},
  title =	{{Eelco Visser as a Founding Member of the IFIP WG 2.11}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{19:1--19:3},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.19},
  URN =		{urn:nbn:de:0030-drops-177891},
  doi =		{10.4230/OASIcs.EVCS.2023.19},
  annote =	{Keywords: IFIP WG 2.11}
}
Document
Visitor Optimization Revisited - Realizing Traversal Graph Pruning by Runtime Bytecode Generation

Authors: Markus Lepper and Baltasar Trancón y Widemann


Abstract
Visitors and Rewriters are a well-known and powerful design pattern for processing regular data structures in a declarative way, while still writing imperative code. The authors' "umod" model generator creates Java data models from a concise and algebraic notation, including code for visitor skeleton classes according to traversal annotations. User visitors are derived from these, overriding selected generated methods with payload code. All branches of the visiting trajectory that are not affected can thus be safely pruned according to control flow analysis. In the first version [Markus Lepper and Baltasar Trancón y Widemann, 2011], the pruning was implemented by dynamic case distinction. Here we have developed a new solution employing code generation at runtime.

Cite as

Markus Lepper and Baltasar Trancón y Widemann. Visitor Optimization Revisited - Realizing Traversal Graph Pruning by Runtime Bytecode Generation. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 20:1-20:12, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{lepper_et_al:OASIcs.EVCS.2023.20,
  author =	{Lepper, Markus and Tranc\'{o}n y Widemann, Baltasar},
  title =	{{Visitor Optimization Revisited - Realizing Traversal Graph Pruning by Runtime Bytecode Generation}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{20:1--20:12},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.20},
  URN =		{urn:nbn:de:0030-drops-177906},
  doi =		{10.4230/OASIcs.EVCS.2023.20},
  annote =	{Keywords: Visitor Pattern, Generative Programming, Control Flow Analysis, Reflection, Runtime Code Generation}
}
Document
Using Spoofax to Support Online Code Navigation

Authors: Peter D. Mosses


Abstract
Spoofax is a language workbench. A Spoofax language specification generally includes name resolution: the analysis of bindings between definitions and references. When browsing code in the specified language using Spoofax, the bindings appear as hyperlinks, supporting precise name-based code navigation. However, Spoofax cannot be used for browsing code in online repositories. This paper is about a toolchain that uses Spoofax to generate hyperlinked twins of code repositories. These generated artefacts support the same precise code navigation as Spoofax, and can be browsed online. The technique has been prototyped on the CBS (Component-Based Semantics) specification language developed by the PLanCompS project, but could be used on any language after specifying its name resolution in Spoofax.

Cite as

Peter D. Mosses. Using Spoofax to Support Online Code Navigation. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 21:1-21:12, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{mosses:OASIcs.EVCS.2023.21,
  author =	{Mosses, Peter D.},
  title =	{{Using Spoofax to Support Online Code Navigation}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{21:1--21:12},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.21},
  URN =		{urn:nbn:de:0030-drops-177916},
  doi =		{10.4230/OASIcs.EVCS.2023.21},
  annote =	{Keywords: Spoofax language workbench, name resolution, precise code navigation}
}
Document
Towards Modular Compilation Using Higher-Order Effects

Authors: Jaro S. Reinders


Abstract
Compilers transform a human readable source language into machine readable target language. Nanopass compilers simplify this approach by breaking up this transformation into small steps that are more understandable, maintainable, and extensible. We propose a semantics-driven variant of the nanopass compiler architecture exploring the use a effects and handlers to model the intermediate languages and the transformation passes, respectively. Our approach is fully typed and ensures that all cases in the compiler are covered. Additionally, by using an effect system we abstract over the control flow of the intermediate language making the compiler even more flexible. We apply this approach to a minimal compiler from a language with arithmetic and let-bound variables to a string of pretty printed X86 instructions. In the future, we hope to extend this work to compile a larger and more complicated language and we envision a formal verification framework from compilers written in this style.

Cite as

Jaro S. Reinders. Towards Modular Compilation Using Higher-Order Effects. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 22:1-22:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{reinders:OASIcs.EVCS.2023.22,
  author =	{Reinders, Jaro S.},
  title =	{{Towards Modular Compilation Using Higher-Order Effects}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{22:1--22:9},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.22},
  URN =		{urn:nbn:de:0030-drops-177926},
  doi =		{10.4230/OASIcs.EVCS.2023.22},
  annote =	{Keywords: algebraic effects and handlers, higher-order effects, monadic semantics, modularity, compilation, nanopass}
}
Document
Analysing the SML97 Definition: Lexicalisation

Authors: Elizabeth Scott and Adrian Johnstone


Abstract
The specification of the syntax and semantics for Standard ML have been designed to support the generation of a compiler front end, but actual implementations have required significant modification to the specification. Since the specification was written there have been major advances in the development of language analysis systems that can handle general syntax specifications. We are revisiting the SML specification to consider to what extent, using modern tooling, it can be implemented exactly as originally written. In this short paper we focus on the lexical specification.

Cite as

Elizabeth Scott and Adrian Johnstone. Analysing the SML97 Definition: Lexicalisation. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 23:1-23:12, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{scott_et_al:OASIcs.EVCS.2023.23,
  author =	{Scott, Elizabeth and Johnstone, Adrian},
  title =	{{Analysing the SML97 Definition: Lexicalisation}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{23:1--23:12},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.23},
  URN =		{urn:nbn:de:0030-drops-177936},
  doi =		{10.4230/OASIcs.EVCS.2023.23},
  annote =	{Keywords: SML, language specification, lexicalisation, parsing, ambiguity}
}
Document
A Simply Numbered Lambda Calculus

Authors: Friedrich Steimann


Abstract
While programming languages traditionally lean towards functions, query languages are often relational in character. Taking the relations language of Harkes and Visser as a starting point, I explore how the functional paradigm, represented by the lambda calculus, can be extended to form the basis of a relational language. It turns out that a straightforward extension with strings of terms not only supports surprisingly many features of the relations language, but also opens it up for higher-order relations, one prominent feature the relations language does not offer.

Cite as

Friedrich Steimann. A Simply Numbered Lambda Calculus. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 24:1-24:12, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{steimann:OASIcs.EVCS.2023.24,
  author =	{Steimann, Friedrich},
  title =	{{A Simply Numbered Lambda Calculus}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{24:1--24:12},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.24},
  URN =		{urn:nbn:de:0030-drops-177948},
  doi =		{10.4230/OASIcs.EVCS.2023.24},
  annote =	{Keywords: multiplicities, strings, lambda calculus, relational programming}
}
Document
The Ultimate GUI Framework: Are We There Yet?

Authors: Knut Anders Stokke, Mikhail Barash, and Jaakko Järvi


Abstract
The programming community seems to be forever searching for the ultimate user interface programming approach and the accompanying framework. We describe the landscape of recent efforts in this quest through describing commonalities and differences of modern JavaScript frameworks with respect to their approaches to GUI specifications. We situate both Eelco Visser’s work on WebDSL and our own work on GUI programming in this landscape, and point out areas where more research is needed, including modeling multi-way dataflows and dynamic structures in GUIs.

Cite as

Knut Anders Stokke, Mikhail Barash, and Jaakko Järvi. The Ultimate GUI Framework: Are We There Yet?. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 25:1-25:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{stokke_et_al:OASIcs.EVCS.2023.25,
  author =	{Stokke, Knut Anders and Barash, Mikhail and J\"{a}rvi, Jaakko},
  title =	{{The Ultimate GUI Framework: Are We There Yet?}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{25:1--25:9},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.25},
  URN =		{urn:nbn:de:0030-drops-177956},
  doi =		{10.4230/OASIcs.EVCS.2023.25},
  annote =	{Keywords: Web frameworks, GUI specification, WebDSL, HotDrink, WarmDrink}
}
Document
Refactoring = Substitution + Rewriting: Towards Generic, Language-Independent Refactorings

Authors: Simon Thompson and Dániel Horpácsi


Abstract
Eelco Visser’s work has always encouraged stepping back from the particular to look at the underlying, conceptual problems. In that spirit we present an approach to describing refactorings that abstracts away from particular refactorings to classes of similar transformations, and presents an implementation of these that works by substitution and subsequent rewriting. Substitution is language-independent under this approach, while the rewrites embody language-specific aspects. Intriguingly, it also goes back to work on API migration by Huiqing Li and the first author, and sets refactoring in that general context.

Cite as

Simon Thompson and Dániel Horpácsi. Refactoring = Substitution + Rewriting: Towards Generic, Language-Independent Refactorings. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 26:1-26:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{thompson_et_al:OASIcs.EVCS.2023.26,
  author =	{Thompson, Simon and Horp\'{a}csi, D\'{a}niel},
  title =	{{Refactoring = Substitution + Rewriting: Towards Generic, Language-Independent Refactorings}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{26:1--26:9},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.26},
  URN =		{urn:nbn:de:0030-drops-177961},
  doi =		{10.4230/OASIcs.EVCS.2023.26},
  annote =	{Keywords: refactoring, generic, language independent, rewriting, substitution, API upgrade}
}
Document
Eelco Visser: The Oregon Connection

Authors: Andrew Tolmach


Abstract
This paper shares some memories of Eelco gathered over the past 25 years as a colleague and friend, and reflects on the nature of modern international collaborations.

Cite as

Andrew Tolmach. Eelco Visser: The Oregon Connection. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 27:1-27:6, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{tolmach:OASIcs.EVCS.2023.27,
  author =	{Tolmach, Andrew},
  title =	{{Eelco Visser: The Oregon Connection}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{27:1--27:6},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.27},
  URN =		{urn:nbn:de:0030-drops-177971},
  doi =		{10.4230/OASIcs.EVCS.2023.27},
  annote =	{Keywords: Eelco Visser, Stratego, scope graphs}
}
Document
Eelco Visser and IFIP WG 2.16

Authors: Tijs van der Storm


Abstract
Eelco Visser was a founding member of the IFIP TC2 Working Group 2.16 and long served as its chair. This brief note recounts Eelco’s impact on the group and his contributions to its meetings.

Cite as

Tijs van der Storm. Eelco Visser and IFIP WG 2.16. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 28:1-28:3, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{vanderstorm:OASIcs.EVCS.2023.28,
  author =	{van der Storm, Tijs},
  title =	{{Eelco Visser and IFIP WG 2.16}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{28:1--28:3},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.28},
  URN =		{urn:nbn:de:0030-drops-177986},
  doi =		{10.4230/OASIcs.EVCS.2023.28},
  annote =	{Keywords: Eelco Visser, Language design, IFIP, working group}
}
Document
Semantics Engineering with Concrete Syntax

Authors: Tijs van der Storm


Abstract
Semantics engineering tools like Redex can be used to define, explore, and debug formal definitions of programming language semantics. However, such tools are often based on abstract syntax, which makes the definition of rules and the exploration of execution traces rather unfriendly. In this paper we introduce Credex, a library in the Rascal meta-programming language for defining small-step evaluation-context semantics, where terms and matching patterns are what-you-see-is-what-you-get. Credex employs parsing for decomposing terms into context and redex. Since Rascal’s grammar formalism is based on general parsing, a non-unique decomposition of a term literally corresponds to an ambiguous parse. We demonstrate the use of Credex, detail some aspects of its implementation, and discuss three case-studies.

Cite as

Tijs van der Storm. Semantics Engineering with Concrete Syntax. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 29:1-29:11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{vanderstorm:OASIcs.EVCS.2023.29,
  author =	{van der Storm, Tijs},
  title =	{{Semantics Engineering with Concrete Syntax}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{29:1--29:11},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.29},
  URN =		{urn:nbn:de:0030-drops-177991},
  doi =		{10.4230/OASIcs.EVCS.2023.29},
  annote =	{Keywords: Semantics engineering, syntax, parsing, reduction semantics}
}
Document
Context in Parsing: Techniques and Applications

Authors: Eric Van Wyk


Abstract
This paper discusses two approaches to parsing: Eelco Visser’s scannerless generalized LR parsing and our context-aware scanning paired with deterministic LR parsing. We compare the underlying techniques, specifically how parser context is used to disambiguate lexical syntax, and their use in the context of language evolution and composition applications. We also reflect on the many discussions shared with Eelco on these topics, and on our shared realization that our different assumptions about the contexts in which our approaches were used drove and justified the technical decisions made in each.

Cite as

Eric Van Wyk. Context in Parsing: Techniques and Applications. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 30:1-30:10, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{vanwyk:OASIcs.EVCS.2023.30,
  author =	{Van Wyk, Eric},
  title =	{{Context in Parsing: Techniques and Applications}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{30:1--30:10},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.30},
  URN =		{urn:nbn:de:0030-drops-178001},
  doi =		{10.4230/OASIcs.EVCS.2023.30},
  annote =	{Keywords: Parsing, Generalized LR Parsing, Context-aware Scanning}
}
Document
Comparing Bottom-Up with Top-Down Parsing Architectures for the Syntax Definition Formalism from a Disambiguation Standpoint

Authors: Jurgen J. Vinju


Abstract
Context-free general parsing and disambiguation algorithms are threaded throughout the research and engineering career of Eelco Visser. Both our Ph.D. theses featured the study of "disambiguation." Disambiguation is the declarative definition of choices among different parse trees, derived using the same context-free grammar, for the same input sentence. This essay highlights the differences between syntactic disambiguation for context-free general parsing in a top-down architecture and a bottom-up architecture. The differences between top-down and bottom-up are mainly observed as practical aspects of the software architecture and software implementation. Eventually, the concept of data-dependent context-free grammar brings all engineering perspectives of disambiguation back into a conceptual (declarative) framework independent of the parsing architecture. The novelty in this essay is the juxtaposition of three general parsing architectures from a disambiguation point of view: SGLR, SGLL, and DDGLL. It also motivates design decisions in the parsing architectures for SDF{1,2} and Rascal with previously unpublished detail. The essay falls short of a literature review and a tool evaluation since it does not investigate the disambiguation methods of the many other parser generator tools that exist. The fact that only the implementation algorithms are different between the compared parsing architectures, while the syntax definition formalisms have practically the same formal semantics for historical reasons, nicely "isolates the variable" of interest. We hope this essay lives up to the enormous enthusiasm, curiosity, and drive for perfection in syntax definition and parsing that Eelco always radiated. We dearly miss him.

Cite as

Jurgen J. Vinju. Comparing Bottom-Up with Top-Down Parsing Architectures for the Syntax Definition Formalism from a Disambiguation Standpoint. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 31:1-31:16, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{vinju:OASIcs.EVCS.2023.31,
  author =	{Vinju, Jurgen J.},
  title =	{{Comparing Bottom-Up with Top-Down Parsing Architectures for the Syntax Definition Formalism from a Disambiguation Standpoint}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{31:1--31:16},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.31},
  URN =		{urn:nbn:de:0030-drops-178018},
  doi =		{10.4230/OASIcs.EVCS.2023.31},
  annote =	{Keywords: parser generation, context-free grammars, GLR, GLL, algorithms, disambiguation}
}
Document
Scope Graphs: The Story so Far

Authors: Aron Zwaan and Hendrik van Antwerpen


Abstract
Static name binding (i.e., associating references with appropriate declarations) is an essential aspect of programming languages. However, it is usually treated in an unprincipled manner, often leaving a gap between formalization and implementation. The scope graph formalism mitigates these deficiencies by providing a well-defined, first-class, language-parametric representation of name binding. Scope graphs serve as a foundation for deriving type checkers from declarative type system specifications, reasoning about type soundness, and implementing editor services and refactorings. In this paper we present an overview of scope graphs, and, using examples, show how the ideas and notation of the formalism have evolved. We also briefly discuss follow-up research beyond type checking, and evaluate the formalism.

Cite as

Aron Zwaan and Hendrik van Antwerpen. Scope Graphs: The Story so Far. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 32:1-32:13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Copy BibTex To Clipboard

@InProceedings{zwaan_et_al:OASIcs.EVCS.2023.32,
  author =	{Zwaan, Aron and van Antwerpen, Hendrik},
  title =	{{Scope Graphs: The Story so Far}},
  booktitle =	{Eelco Visser Commemorative Symposium (EVCS 2023)},
  pages =	{32:1--32:13},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-267-9},
  ISSN =	{2190-6807},
  year =	{2023},
  volume =	{109},
  editor =	{L\"{a}mmel, Ralf and Mosses, Peter D. and Steimann, Friedrich},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.EVCS.2023.32},
  URN =		{urn:nbn:de:0030-drops-178020},
  doi =		{10.4230/OASIcs.EVCS.2023.32},
  annote =	{Keywords: scope graph, name binding, reference resolution, type system, static semantics}
}

Filters


Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail