dc.contributor.author | Weaver, Philip J. | |
dc.date.accessioned | 2021-10-08T19:33:29Z | |
dc.date.available | 2021-10-08T19:33:29Z | |
dc.date.issued | 2007-08-31 | |
dc.identifier.uri | http://hdl.handle.net/1808/32133 | |
dc.description | Thesis (M.S.)--University of Kansas, Electrical Engineering & Computer Science, 2007. | en_US |
dc.description.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. | en_US |
dc.publisher | University of Kansas | en_US |
dc.rights | This item is protected by copyright and unless otherwise specified the copyright of this thesis/dissertation is held by the author. | en_US |
dc.subject | Applied sciences | en_US |
dc.subject | Metaprogramming | en_US |
dc.subject | Modular monadic semantics | en_US |
dc.subject | Reflection | en_US |
dc.subject | Rosetta | en_US |
dc.title | Implementing reflective metaprogramming for Rosetta using InterpreterLib | en_US |
dc.type | Thesis | en_US |
dc.thesis.degreeDiscipline | Electrical Engineering & Computer Science | |
dc.thesis.degreeLevel | M.S. | |
kusw.oanotes | 2021/10/01: Added to KU ScholarWorks at the request of the department and, when still covered by copyright, with the permission of the author. | en_US |
kusw.bibid | 6599253 | |
dc.rights.accessrights | openAccess | en_US |