"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."
http://www.ccs.neu.edu/home/stchang/popl2017/
https://bitbucket.org/stchang/macrotypes
No comments:
Post a Comment