Return to search

Twig: A Configurable Domain-Specific Language

Programmers design, write, and understand programs with

a high-level structure in mind. Existing programming languages are

not very good at capturing this structure because they must

include low-level implementation details. To address this problem

we introduce Twig, a programming language that allows for

domain-specific logic to be encoded alongside low-level

functionality. Twig's language is based on a simple, formal

calculus that is amenable to both human and machine reasoning.

Users may introduce rules that rewrite expressions, allowing for

user-defined optimizations. Twig can also incorporate procedures

written in a variety of low-level languages. Our implementation

supports C and Python, but our abstract model can accommodate other

languages as well. We present Twig's design and formal semantics

and discuss our implementation. We demonstrate Twig's use in two

different domains, multi-language programming and GPU

programming, and compare Twig against a well-known typemapping

system, SWIG.

Identiferoai:union.ndltd.org:uoregon.edu/oai:scholarsbank.uoregon.edu:1794/12467
Date January 2012
CreatorsHulette, Geoffrey, Hulette, Geoffrey
ContributorsMalony, Allen
PublisherUniversity of Oregon
Source SetsUniversity of Oregon
Languageen_US
Detected LanguageEnglish
TypeElectronic Thesis or Dissertation
RightsAll Rights Reserved.

Page generated in 0.0019 seconds