Implementing reflective metaprogramming for Rosetta using InterpreterLib
Issue Date
2007-08-31Author
Weaver, Philip J.
Publisher
University of Kansas
Type
Thesis
Degree Level
M.S.
Discipline
Electrical Engineering & Computer Science
Rights
This item is protected by copyright and unless otherwise specified the copyright of this thesis/dissertation is held by the author.
Metadata
Show full item recordAbstract
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.
Collections
- Theses [3772]
Items in KU ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.
We want to hear from you! Please share your stories about how Open Access to this item benefits YOU.