Dependent Type Systems as Macros

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.

Tags
Data and Resources
To access the resources you must log in

This item has no data

Identity

Description: The Identity category includes attributes that support the identification of the resource.

Field Value
PID https://www.doi.org/10.5281/zenodo.3543712
PID https://www.doi.org/10.5281/zenodo.3543711
URL https://figshare.com/articles/Dependent_Type_Systems_as_Macros/10314608
URL http://dx.doi.org/10.5281/zenodo.3543712
URL https://zenodo.org/record/3543712
URL http://dx.doi.org/10.5281/zenodo.3543711
Access Modality

Description: The Access Modality category includes attributes that report the modality of exploitation of the resource.

Field Value
Access Right Open Source
Attribution

Description: Authorships and contributors

Field Value
Author Chang, Stephen
Author Ballantyne, Michael
Author Turner, Milo
Author Bowman, William
Contributor National Science Foundation
Publishing

Description: Attributes about the publishing venue (e.g. journal) and deposit location (e.g. repository)

Field Value
Collected From Zenodo; figshare; Datacite
Hosted By Zenodo; figshare
Publication Date 2019-11-15
Publisher Figshare
Additional Info
Field Value
Language UNKNOWN
Resource Type Software
keyword programming languages, type systems, macros, racket, proof assistants, dependent types
system:type software
Management Info
Field Value
Source https://science-innovation-policy.openaire.eu/search/software?softwareId=dedup_wf_001::5dfc8e73e29d1765dcf037d9290e3608
Author jsonws_user
Last Updated 17 December 2020, 23:07 (CET)
Created 17 December 2020, 23:07 (CET)