View on GitHub

Gabriël Konat

Postdoc. Programming Languages at TU Delft

Gabriël Konat

I am a postdoctoral researcher in the Programming Languages Research Group at the Delft University of Technology supervised by Eelco Visser. I am interested in domain-specific languages (DSLs), language workbenches, incremental execution, and software development pipelines (e.g., build scripts) and and their use in interactive environments such as IDEs.

The overarching theme of my research is language-parametric methods for developing interactive programming systems. A language-parametric method takes as input a description of a programming language (such as a DSL), and automatically implements (parts of) an interactive programming system, reducing development effort, thereby making programming language development more feasible.

This page lists my dissertation, scientific publications and projects I’ve worked on, my experience and education, and my contact information.

Dissertation

Language-Parametric Methods for Developing Interactive Programming Systems. 2019. [Cover] [Propositions] [Raw Dissertation]

Publications

2019

Gabriël Konat, Roelof Sol, Sebastian Erdweg, and Eelco Visser: Precise, Efficient, and Expressive Incremental Build Scripts with PIE. IC 2019. [Link]

2018

Gabriël Konat, Sebastian Erdweg, and Eelco Visser: Scalable Incremental Building with Dynamic Task Dependencies. ASE 2018. [DOI]

Gabriël Konat, Michael J. Steindorfer, Sebastian Erdweg, and Eelco Visser: PIE: A Domain-Specific Language for Interactive Software Development Pipelines. Programming Journal 2.3 (2018). [DOI]

2016

Gabriël Konat, Sebastian Erdweg, and Eelco Visser: Bootstrapping Domain-Specific Meta-Languages in Language Workbenches. GPCE 2016. [DOI]

Gabriël Konat, Luís Eduardo de Souza Amorim, Sebastian Erdweg, and Eelco Visser: Bootstrapping, Default Formatting, and Skeleton Editing in the Spoofax Language Workbench. Language Workbench Challenge (LWC@SLE) 2016. [Link]

Gabriël Konat, Sebastian Erdweg, and Eelco Visser: Towards Live Language Development. Workshop on Live Programming Systems (LIVE) 2016. [Link]

2015

Sebastian Erdweg, Tijs van der Storm, Markus Völter, Laurence Tratt, Remi Bosman, William R. Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly, Alex Loh, Gabriël Konat, Pedro J. Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad A. Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, and Jimi van der Woning: Evaluating and comparing language workbenches: Existing results and benchmarks for the future. Computer Languages, Systems & Structures 44 (2015). [DOI]

2014

Eelco Visser, Guido Wachsmuth, Andrew P. Tolmach, Pierre Néron, Vlad A. Vergu, Augusto Passalaqua, and Gabriël Konat: A Language Designer’s Workbench: A One-Stop-Shop for Implementation and Verification of Language Designs. Onward! 2014. [DOI]

Guido Wachsmuth, Gabriël Konat, and Eelco Visser: Language Design with the Spoofax Language Workbench. IEEE Software 31.5 (2014). [DOI]

2013

Sebastian Erdweg, Tijs van der Storm, Markus Völter, Meinte Boersma, Remi Bosman, William R. Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly, Alex Loh, Gabriël Konat, Pedro J. Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad A. Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, and Jimi van der Woning: The State of the Art in Language Workbenches - Conclusions from the Language Workbench Challenge. SLE 2013. [DOI]

Guido Wachsmuth, Gabriël Konat, Vlad A. Vergu, Danny M. Groenewegen, and Eelco Visser. A Language Independent Task Engine for Incremental Name and Type Analysis. SLE 2013. [DOI]

2012

Gabriël Konat, Lennart C. L. Kats, Guido Wachsmuth, and Eelco Visser: Declarative Name Binding and Scope Rules (NaBL). SLE 2012. [DOI]

Projects

Spoofax

The Spoofax Language Workbench is a platform for developing textual (domain-specific) programming languages and their corresponding interactive programming systems. In Spoofax, programming languages are specified in declarative meta-DSLs for syntax, static semantics, dynamic semantics, transformations, and editor services. From such a specification, Spoofax generates a parser, name and type analysis, interpreter, compiler, and an Eclipse or IntelliJ code editor with editor services.

Spoofax is a large project with many components that are being worked on in our group. I have worked on several parts of Spoofax:

PIE: Pipelines for Interactive Environments

PIE is a DSL, API, and runtime for developing interactive software development pipelines, such as IDEs which need to process events responsively in a live environment, but also incremental build scripts which need to provide timely feedback. With PIE, pipeline developers can concisely write pipeline programs in terms of tasks and dependencies between tasks and files, which the PIE runtime then incrementally executes. We have developed a change-driven incremental build algorithm that makes incremental execution of PIE programs scale down to many low-impact changes, while scaling up to large dependency graphs.

Experience and Education

2018 - present

Postdoctoral researcher. Delft University of Technology. Department of Software Technology, Programming Languages Research Group

2012 - 2018

Ph.D. in Computer Science. Delft University of Technology. Department of Software Technology, Programming Languages Research Group

06/2013 - 08/2013, 07/2014 - 09/2014, 07/2015 - 09/2015

Research Assistant. Oracle Labs in Redwood Shores, California, United States of America

2009 - 2012

M.Sc. in Computer Science (cum laude). Delft University of Technology. Specialization: Software Engineering

2005 - 2009

B.Sc. in Computer Science. Rijswijk University of Technology. Specialization: Software Development

2000 - 2005

HAVO diploma. Segbroek College in Den Haag. Specialization: Nature & Technology

Contact

Gabriël Konat

Email: g.d.p.konat@tudelft.nl

LinkedIn: gabrielkonat