Dependent Type Systems as Macros

07/02/2021
by   Stephen Chang, et al.
0

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.

READ FULL TEXT
research
07/05/2022

Implementing Dependent Types in pi-forall

These lecture notes describe the design of a minimal dependently-typed l...
research
04/28/2020

Linear Dependent Type Theory for Quantum Programming Languages

Modern quantum programming languages integrate quantum resources and cla...
research
04/30/2018

Proof-relevant Horn Clauses for Dependent Type Inference and Term Synthesis

First-order resolution has been used for type inference for many years, ...
research
07/16/2021

Touring the MetaCoq Project (Invited Paper)

Proof assistants are getting more widespread use in research and industr...
research
09/21/2023

Stratified Type Theory

To exploit the expressivity of being able to refer to the type of types,...
research
06/29/2017

Constrained Type Families

We present an approach to support partiality in type-level computation w...
research
11/12/2019

Kind Inference for Datatypes: Technical Supplement

In recent years, languages like Haskell have seen a dramatic surge of ne...

Please sign up or login with your details

Forgot password? Click here to reset