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.
|Dependent Type Systems as Macros (slides) (2020-01-23 POPL.pdf)||563KiB|
Thu 23 Jan
|14:00 - 14:21|
|Link to publication DOI Media Attached File Attached|
|14:21 - 14:43|
Julian MackayVictoria University of Wellington, Alex PotaninVictoria University of Wellington, Jonathan AldrichCarnegie Mellon University, Lindsay GrovesVictoria University of WellingtonLink to publication DOI Media Attached
|14:43 - 15:05|
Stephen ChangNortheastern University, Michael BallantynePLT @ Northeastern University, Milo TurnerPLT @ Northeastern University, William J. BowmanUniversity of British ColumbiaLink to publication DOI Media Attached File Attached