Honors Program Theses


Open Access Honors Program Thesis

First Advisor

Eugene Wallingford


Fuga is a programming language that integrates two different traditions in programming language design: homoiconic programming, and object-oriented programming. Individually, these traditions can aid program construction and reduce the time required to develop a computer application. However, these two traditions have never been combined. This is an unexplored area in programming language design and implementation, so Fuga is the first programming anguage to combine the homoiconic and object-oriented paradigms. Fuga is an attempt to explore this area, and to turn this exploration into a finished product.

This thesis describes the design and implementation process of Fuga, and my reflections on it. Apart from this thesis, this project has lead to the creation of two additional documents:

• the Fuga specification, which formally defines the syntax and semantics of the language, as well as any other requirements that an implementation of the language must conform to, and

• the Fuga interpreter, which conforms to the formal specification. The interpreter can be used as a standalone program, or embedded into other programs to provide scripting support.

Year of Submission



Department of Computer Science

University Honors Designation

A thesis submitted in partial fulfillment of the requirements for the designation University Honors


If you are the rightful copyright holder of this thesis and wish to have it removed from the Open Access Collection, please submit a request to scholarworks@uni.edu and include clear identification of the work, preferably with URL.

Date Original


Object Description

1 PDF file (42 pages)



File Format