Loading...
Thumbnail Image
Publication

Implementing reflective metaprogramming for Rosetta using InterpreterLib

Weaver, Philip J.
Citations
Altmetric:
Abstract
Reflection and Metaprogramming offer a variety of benefits, including compile-time optimization, generic programming, and generative programming. I bring reflective metaprogramming to Rosetta, a systems-level design language focused on heterogeneous design. I compare Rosetta to other languages with reflective, metaprogramming, and staged programming features, then present a unique approach to implementing reflective metaprogramming. My solution is unique because (i) it uses InterpreterLib, a Haskell library that implements Modular Monadic Semantics; (ii) unlike most reflective metaprogramming languages, Rosetta is not an executable programming language; and (iii) I implement reflection as a standalone elaborator, not as an integration into an existing interpreter.
Description
Thesis (M.S.)--University of Kansas, Electrical Engineering & Computer Science, 2007.
Date
2007-08-31
Journal Title
Journal ISSN
Volume Title
Publisher
University of Kansas
Collections
Research Projects
Organizational Units
Journal Issue
Keywords
Applied sciences, Metaprogramming, Modular monadic semantics, Reflection, Rosetta
Citation
DOI
Embedded videos