English

Type Theory as a Language Workbench

Programming Languages 2023-01-31 v1

Abstract

Language Workbenches offer language designers an expressive environment in which to create their 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 Velo that showcases not only dependently typed techniques to realise and manipulate IRs, but that dependently typed languages make fine language workbenches. Velo 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 IRs 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 Velo is the source of the evaluator.

Keywords

Cite

@article{arxiv.2301.12852,
  title  = {Type Theory as a Language Workbench},
  author = {Jan de Muijnck-Hughes and Guillaume Allais and Edwin Brady},
  journal= {arXiv preprint arXiv:2301.12852},
  year   = {2023}
}

Comments

18 pages, Accepted for publication at ECVS

R2 v1 2026-06-28T08:26:33.165Z