Affiliation:
1. University of Oregon, Eugene, OR
2. Galois, Inc., Portland, OR
Abstract
Twig is a language for writing
typemaps
, programs which transform the type of a value while preserving its underlying meaning. Typemaps are typically used by tools that generate code, such as multi-language wrapper generators, to automatically convert types as needed. Twig builds on existing typemap tools in a few key ways. Twig's typemaps are composable so that complex transformations may be built from simpler ones. In addition, Twig incorporates an abstract, formal model of code generation, allowing it to output code for different target languages. We describe Twig's formal semantics and show how the language allows us to concisely express typemaps. Then, we demonstrate Twig's utility by building an example typemap.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference10 articles.
1. Python/C API Reference Manual. http://docs.python.org/c-api/ Jan. 2012. Python/C API Reference Manual. http://docs.python.org/c-api/ Jan. 2012.
2. Automated scientific software scripting with SWIG
3. No-Longer-Foreign: Teaching an ML compiler to speak C “natively”