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 Common Sub-Expression Elimination (CSE) is achieved in a well-typed setting, and how the mechanised type-soundness proof for Vélo is the source of the evaluator.
Wed 5 AprDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:00 - 17:30 | Session 4: Scopes & TypesEelco Visser Commemorative Symposium at Theatre Hall Chair(s): Yannis Smaragdakis University of Athens | ||
16:00 10mTalk | Scope Graphs: The Story so Far Eelco Visser Commemorative Symposium DOI Pre-print File Attached | ||
16:10 10mTalk | Dependently Typed Languages in Statix Eelco Visser Commemorative Symposium Jonathan Brouwer TU Delft, Jesper Cockx Delft University of Technology, Aron Zwaan Delft University of Technology Link to publication DOI | ||
16:20 10mTalk | Stack graphs: Name Resolution at Scale Eelco Visser Commemorative Symposium DOI Pre-print | ||
16:30 10mTalk | Using Spoofax to Support Online Code Navigation Eelco Visser Commemorative Symposium Peter D. Mosses Delft University of Technology DOI File Attached | ||
16:40 10mTalk | Renamingless Capture-Avoiding Substitution for Definitional Interpreters Eelco Visser Commemorative Symposium Casper Bach Poulsen Delft University of Technology DOI Pre-print | ||
16:50 10mTalk | Reasoning About Paths in the Interface Graph Eelco Visser Commemorative Symposium Michael Greenberg Stevens Institute of Technology Link to publication DOI | ||
17:00 10mTalk | Type Theory as a Language Workbench Eelco Visser Commemorative Symposium Jan de Muijnck-Hughes University of Glasgow, Guillaume Allais University of St Andrews, Edwin Brady University of St Andrews, UK Pre-print | ||
17:10 10mTalk | A Simply Numbered Lambda Calculus Eelco Visser Commemorative Symposium Friedrich Steimann Fernuniversität in Hagen Link to publication DOI | ||
17:20 10mOther | Session closing Eelco Visser Commemorative Symposium |