Eelco Visser

Registered user since Wed 19 Mar 2014

Name:Eelco Visser
Bio:

Eelco Visser is Antoni van Leeuwenhoek Professor of Computer Science and chair of the Programming Languages Group at Delft University of Technology. His current research is on the foundation and implementation of declarative specification of programming languages. He studied at the University of Amsterdam (master 1993; doctorate 1997), and worked at the Oregon Graduate Institute (postdoc 1997-1998), Utrecht University (assistant professor 1998-2006), and TU Delft (associate professor 2006-2013, full professor since 2013).

His research interests include (domain-specific) programming languages, language engineering, program transformation, and declarative language definition. With his students he has designed and implemented the Spoofax language workbench, as well as several domain-specific languages, including DSLs for syntax definition (SDF3), program transformation (Stratego), static semantics (Statix), software deployment (Nix), and web application development (WebDSL). Applications of WebDSL include the researchr conference hosting site and the WebLab learning management system.

Country:Netherlands
Affiliation:Delft University of Technology
Personal website:http://eelcovisser.org
Research interests:Programming Languages, Domain-Specific Languages, Language Workbenches, Language Engineering, Web Programming

Contributions

SPLASH 2023 Committee Member in Steering Committee
SPLASH 2022 Steering Committee Member in Steering Committee
Author of Incremental Type-Checking for Free: Using Scope Graphs to Derive Incremental Type-Checkers within the OOPSLA-track
Author of Language-parametric static semantic code completion within the OOPSLA-track
Author of Intrinsically-Typed Definitional Interpreters à la Carte within the OOPSLA-track
ECOOP 2022 Committee Member in Program Committee within the Research Papers-track
‹Programming› 2022 Author of Constructing Hybrid Incremental Compilers for Cross-Module Extensibility with an Internal Build System within the Research Papers-track
SPLASH 2021 Chair in Steering Committee
Session Chair of Future of Conferences (part of SIGPLAN Business)
SLE General Chair in Organizing Committee
Author of Future of Conferences within the SIGPLAN Business-track
Committee Member in Chairs within the SIGPLAN Business-track
SLE 2021 Session Chair of SLE/GPCE Session 5 (part of SLE)
General Chair in Organizing Committee within the SLE-track
ECOOP 2021 Session Chair of Modular Programming / Types (time band 3) (part of ECOOP Technical Papers)
Author of Scope States: Guarding Safety of Name Resolution in Parallel Type Checkers within the ECOOP Technical Papers-track
Author of Scope States within the ECOOP Artifacts-track
PC Member in Program Committee within the ECOOP Technical Papers-track
ECOOP and ISSTA 2021 Session Chair of Specification and Implementation of Type Systems (part of Discussions with Experts)
Co-chair of Specification and Implementation of Type Systems within the Discussions with Experts-track
CoCoDo 2021 Invited Speaker of A Tutorial on the Spoofax Language Workbench within the CoCoDo 2021-track
‹Programming› 2021 Author of Constructing Hybrid Incremental Compilers for Cross-Module Extensibility with an Internal Build System within the Research Papers-track
ProWeb21 Author of Evolution of the WebDSL Runtime within the ProWeb21-track
POPL 2021 Author of Intrinsically Typed Compilation with Nameless Labels within the POPL-track
PEPM 2021 Committee Member in Program Committee within the PEPM 2021-track
BAPL 2020 Committee Member in Organizing Committee within the BAPL 2020 (Cancelled)-track
Chair in Program Committee within the BAPL 2020 (Cancelled)-track
Committee Member in Organizing Committee within the BAPL 2020 (Cancelled)-track
SPLASH 2020 Session Chair of W-3 (part of OOPSLA)
Chair in Steering Committee
Author of Knowing When to Ask: Artifact within the OOPSLA Artifacts-track
Session Chair of R-6 (part of OOPSLA)
Author of Knowing When to Ask: Sound Scheduling of Name Resolution in Type Checkers Derived from Declarative Specifications within the OOPSLA-track
Committee Member in Review Committee within the OOPSLA-track
Author of Knowing When to Ask: Sound Scheduling of Name Resolution in Type Checkers Derived from Declarative Specifications within the Posters-track
SLE 2020 Author of Gradually Typing Strategies within the SLE-track
miniKanren 2020 Keynote Speaker of Executing Declarative Language Definitions within the miniKanren 2020-track
OCaml 2020 Author of A Declarative Syntax Definition for OCaml within the OCaml 2020-track
PLDI 2020 Organizer of Declarative Language Definition with Spoofax within the Tutorials-track
‹Programming› 2020 Author of Incremental Compilation for Stratego within the Posters-track
Author of Constructing Hybrid Incremental Compilers for Cross-Module Extensibility with an Internal Build System within the Research Papers-track
ProWeb20 Author of Evolution of the WebDSL Runtime within the ProWeb 2020-track
CPP 2020 Author of Intrinsically-Typed Definitional Interpreters for Linear, Session-Typed Languages within the CPP 2020-track
PLNL 2019 Committee Member in Program Committee within the PLNL-track
SPLASH 2019 Speaker of What is PL Research? within the PLMW-track
Steering Committee Member in Steering Committee
Author of Language-Parametric Semantic Editor Services based on Declarative Type System Specifications within the Posters-track
Session Chair of Awards / SIGPLAN Town Hall Meeting (part of OOPSLA)
Session Chair of Dillig keynote (part of Keynotes)
Chair in Review Committee within the OOPSLA-track
OOPSLA Review Committee Chair in Organizing Committee
Speaker in Speakers & Panelists within the PLMW-track
IC 2019 Committee Member in Program Committee within the IC 2019-track
Author of From Whole Program Compilation to Incremental Compilation: A Critical Case within the IC 2019-track
Author of Precise, Efficient, and Expressive Incremental Build Scripts with PIE within the IC 2019-track
META 2019 Author of From Definitional Interpreter To Symbolic Executor within the META 2019-track
ECOOP 2019 Author of Towards Language-Parametric Semantic Editor Services based on Declarative Type System Specifications within the Research Papers-track
Author of Towards Language-Parametric Semantic Editor Services within the Posters-track
Committee Member in Academic Panel within the Doctoral Symposium-track
Author of Scopes and Frames Improve Meta-Interpreter Specialization within the Research Papers-track
PLNL 2018 Session Chair of 1 (part of PLNL)
Organizer in Organizing Committee within the PLNL-track
SLE 2018 Author of Migrating Business Logic to an Incremental Computing DSL: A Case Study within the SLE 2018-track
Author of Declarative Specification of Indentation Rules: A Tooling Perspective on Parsing and Pretty-Printing Layout-Sensitive Languages within the SLE 2018-track
Author of Migrating Custom DSL Implementations to a Language Workbench (Tool Demo) within the SLE 2018-track
Committee Member in Program Committee within the SLE 2018-track
Session Chair of Parsing / Composition (part of SLE 2018)
SPLASH 2018 Author of Scopes as Types within the OOPSLA-track
Author of Migrating Business Logic to an Incremental Computing DSL: A Case Study within the Posters-track
Committee Member in Review Committee within the OOPSLA-track
Author of Incremental compilation for Stratego within the Posters-track
Session Chair of Language Design 1 (part of OOPSLA)
Committee Member in Steering Committee
Author of Declarative Specification of Indentation Rules: A Tooling Perspective on Parsing and Pretty-Printing Layout-Sensitive Languages within the Posters-track
Author of Scopes as Types within the Artifacts-track
Author of Scopes as Types within the Posters-track
Author of Migrating Custom DSL Implementations to a Language Workbench: An Industrial Tool Demonstration (Tool Demo) within the Posters-track
Author of Toward a Language-Parametric Code Completion Editor Service within the Posters-track
Onward! 2018 Steering Committee Member in Steering Committee
CurryOn 2018 Author of Spoofax: Live Programming Language Design within the Curry On Talks-track
* ICSE 2018 * Committee Member in Program committee within the Technical Papers -track
‹Programming› 2018 Committee Member in Steering Committee
Committee Member in Program Committee within the Research Papers-track
Author of PIE: A Domain-Specific Language for Interactive Software Development Pipelines within the Research Papers-track
Author of Towards Zero-Overhead Disambiguation of Deep Priority Conflicts within the Research Papers-track
POPL 2018 Author of Intrinsically-Typed Definitional Interpreters within the Artifact Evaluation-track
Author of Intrinsically-Typed Definitional Interpreters for Imperative Languages within the Research Papers-track
Parsing@SLE 2017 Author of A Modular SGLR Parsing Architecture for Systematic Performance Optimization within the Parsing@SLE 2017-track
DLS 2017 Author of The Semantics of Name Resolution in Grace within the DLS 2017-track
Onward! 2017 Steering Committee Member in Steering Committee
SLE 2017 Author of Deep Priority Conflicts in the Wild: A Pilot Study within the SLE-track
Author of FlowSpec: Declarative Dataflow Analysis Specification within the SLE-track
SPLASH 2017 SPLASH 2016 General Chair in Steering Committee
WCIRE 2017 Author of The Spoofax Language Workbench within the WCIRE 2017-track
CurryOn 2017 Author of Scope Graphs: A Fresh Look at Name Binding in Programming Languages within the Curry On Talks-track
ECOOP 2017 Author of IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition within the ECOOP Research Papers-track
Speaker in Speakers within the ECOOP Summer School-track
Speaker of Declarative Language Definition within the ECOOP Summer School-track
IC 2017 Author of IceDust Calculation Strategy Composition Performance in Web Applications within the IC 2017-track
MoreVMs 2017 Author of A Readable and Executable Semantics of Grace within the MoreVMs 2017-track
‹Programming› 2017 Committee Member in Steering Committee
Contributor/Author of Steering Committee Meeting within the Organizational-track
ProWeb 2017 Committee Member in Program Committee within the ProWeb 2017-track
LWC@SLE 2016 Author of Bootstrapping, Default Formatting, and Skeleton Editing in the Spoofax Language Workbench within the LWC-track
Onward! 2016 General Chair in Organizing Committee
Committee Member in Steering Committee
SPLASH 2016 General Chair in Organizing Committee
Committee Member in Sponsorship Committee
SPLASH 2016 General Chair of Welcome to SPLASH 2016 within the Keynotes and Awards-track
SPLASH-I Co-Chair in Program Committee within the SPLASH-I-track
Presenter of OOPSLA 10-year Most Influential Paper Award within the Keynotes and Awards-track
Session Chair of Keynote Wednesday (part of Keynotes and Awards)
SPLASH 2016 General Chair in Steering Committee
Session Chair of Session 15 (Keynote) (part of SPLASH-I)
SPLASH 2016 General Chair of SPLASH 2016 General Chair's Report within the Keynotes and Awards-track
GPCE 2016 Author of Bootstrapping Domain-Specific Meta-Languages in Language Workbenches within the GPCE-track
SLE 2016 Author of Principled Syntactic Code Completion using Placeholders within the SLE-track
Scala 2016 Author of A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report within the Scala-track
Parsing@SLE 2016 Author of Disambiguation for SDF3 with Deep Priority Conflicts within the Parsing@SLE-track
ECOOP 2016 Author of Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics within the Research Track-track
Author of IceDust: Incremental and Eventual Computation of Derived Values in Persistent Object Graphs within the Research Track-track
Author of IceDust: Incremental and Eventual Computation of Derived Values in Persistent Object Graphs within the Posters-track
Author of Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics within the Posters-track
Author of Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics within the Artifacts-track
LIVE 2016 Author of Towards Live Language Development within the LIVE-track
GRACE 2016 Author of Grace in Spoofax: Readable Specification and Implementation in One within the GRACE-track
Committee Member in Program Committee within the GRACE-track
OOPSLA 2016 PC Meeting SPLASH 2016 General Chair in Organizing Committee
Session Chair of Session 1 (part of Workshop)
Modularity 2016 Committee Member in Steering Committee
POPL 2016 Author of T2: Declare Your Language (Part 1): Hands-On Spoofax Tutorial within the Tutorials-track
Speaker of T2: Declare Your Language (Part 2): Name Binding with Scope Graphs within the Tutorials-track
PEPM 2016 Author of A Constraint Language for Static Semantic Analysis Based on Scope Graphs within the PEPM-track
Committee Member in Program Committee within the PEPM-track
SPLASH 2015 Session Chair of 2. Domain Specific Languages (part of OOPSLA)
Committee Member in Program Committee within the OOPSLA-track
Author of Conf.Researchr.Org: Towards a Domain-Specific Content Management System for Managing Large Conference Websites within the Posters-track
Web Technology Chair in Organizing Committee
Onward! 2015 Committee Member in Steering Committee
DLS 2015 Invited Speaker of DLS Keynote: Declare Your Language within the DLS-track
Parsing@SLE 2015 Author of Improving Syntactic Completion within the Parsing@SLE-track
Author of Towards Abstract-Syntax-Preserving Grammar Migrations within the Parsing@SLE-track
ESOP 2015 Author of A Theory of Name Resolution within the ESOP-track
SPLASH 2014 Web Technology Chair in Organizing Committee
Committee Member in Steering Committee
Onward! 2014 Author of A Language Designer’s Workbench. A One-Stop-Shop for Implementation and Verification of Language Designs within the Onward! Papers-track
Committee Member in Steering Committee
DSLDI Author of A Common Core for Language Tools within the DSLDI-track
SLE 2013 Author of Language-Parametric Incremental Name and Type Analysis within the Research Papers-track
Author of The State of the Art in Language Workbenches within the Research Papers-track
SPLASH 2013 Committee Member in Program Committee within the OOPSLA-track
Committee Member in Program Committee within the GPCE-track
SPLASH 2012 Author of Software development environments on the web: a research agenda within the Onward! Papers-track
Committee Member in External Reviewers within the OOPSLA Research Papers-track
Author of The spoofax name binding language within the Posters-track
SPLASH 2011 Author of Declaratively Programming the Mobile Web with Mobl within the OOPSLA-track
Program Chair in Organization within the Onward! -track
Presenter of SugarJ: Library-based Language Extensibility within the Posters-track
Author of Integrated Language Definition Testing: Enabling Test-Driven Language Development within the OOPSLA-track
Onward! Chair in Organizing Committee
Committee Member in Program Committee within the OOPSLA-track

Blog Posts