Software Open Access

Dependent Type Systems as Macros

Chang, Stephen; Ballantyne, Michael; Turner, Milo; Bowman, William

We present Turnstile+, a high-level, macros-based metaDSL for building dependently typed languages.  
  
With it, programmers may rapidly prototype and iterate on the design of new dependently typed features and extensions.  
  
Or they may create entirely new DSLs whose dependent type ``power'' is tailored to a specific domain.  
  
Our framework's support of language-oriented programming also makes it suitable for experimenting with systems of interacting components, e.g., a proof assistant and its companion DSLs.  
  
This paper explains the implementation details of Turnstile+, as well as how it may be used to create a wide-variety of dependently typed languages, from a lightweight one with indexed types, to a full spectrum proof assistant, complete with a tactic system and extensions for features like sized types and SMT interaction.

We acknowledge the support of the NSERC grant RGPIN-2019-04207, and NSF grants 1823244 and 1518844. Cette recherche a été financée par le CRSNG, numéro de référence RGPIN-2019-04207.
Files (886.7 kB)
Name Size
cur-popl2020-artifact.zip
md5:59ecabfbbc0708005adf31eb2115ccd6
269.8 kB Download
macrotypes-popl2020-artifact.zip
md5:34714b212b571ec291df3ceecac52197
577.4 kB Download
README.html
md5:6f993fe09ca0d5c9e7657c5532128e27
39.5 kB Download
0
0
views
downloads
All versions This version
Views 00
Downloads 00
Data volume 0 Bytes0 Bytes
Unique views 00
Unique downloads 00

Share

Cite as