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. I am interested in incremental build systems, software development pipelines (e.g., build scripts) and their use in interactive environments such as IDEs, language workbenches, and domain-specific languages (DSLs).

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

PIE: A Programmatic Incremental Build System

PIE is a Programmatic Incremental Build System, which is a mix between an incremental build system and incremental computation system with the following key properties:

There are currently two implementations of PIE:

I’ve published two papers on PIE:

Build your own Programmatic Incremental Build System

In order to better explain the concepts behind Programmatic Incremental Build Systems such as PIE, I’ve written a programming tutorial where you build one from scratch in Rust. The programming tutorial can be found here: https://gohla.github.io/pibs/

The primary goal of the tutorial is to provide understanding of programmatic incremental build systems through implementation and experimentation. Although the tutorial uses Rust, you don’t need to be a Rust expert to follow it. A secondary goal of this tutorial is to teach more about Rust through implementation and experimentation, given that you already have programming experience (in another language) and are willing to learn.

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:

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