Skip to main navigation Skip to search Skip to main content

Type systems as macros

  • Northeastern University

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present TURNSTILE, a metalanguage for creating typed embedded languages. To implement the type system, programmers write type checking rules resembling traditional judgment syntax. To implement the semantics, they incorporate elaborations into these rules. TURNSTILE critically depends on the idea of linguistic reuse. It exploits a macro system in a novel way to simultaneously type check and rewrite a surface program into a target language. Reusing a macro system also yields modular implementations whose rules may be mixed and matched to create other languages. Combined with typical compiler and runtime reuse, TURNSTILE produces performant typed embedded languages with little effort.

Original languageEnglish
Title of host publicationPOPL 2017 - Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages
EditorsAndrew D. Gordon, Giuseppe Castagna
PublisherAssociation for Computing Machinery
Pages694-705
Number of pages12
ISBN (Electronic)9781450346603
DOIs
StatePublished - Jan 1 2017
Event44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017 - Paris, France
Duration: Jan 15 2017Jan 21 2017

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017
Country/TerritoryFrance
CityParis
Period1/15/171/21/17

ASJC Scopus Subject Areas

  • Software

Keywords

  • Macros
  • Type systems
  • Typed embedded DSLs

Fingerprint

Dive into the research topics of 'Type systems as macros'. Together they form a unique fingerprint.

Cite this