Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorMcDonell, Trevor
dc.contributor.authorHelm, Robbert van der
dc.date.accessioned2022-06-14T00:00:42Z
dc.date.available2022-06-14T00:00:42Z
dc.date.issued2022
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/41633
dc.description.abstractA common problem with deeply embedded languages is that there is no strong connection between an embedded program, the abstract syntax tree for that embedded program, and a compiled version of the program. By gathering source location information for embedded expressions using a novel implicit parameter-based approach and annotating the embedded program's AST with this information, it becomes possible to map the embedded program back to the original source code. This new information can be used to improve compiler diagnostics, and to provide better profiling and debugging experiences for the language. In addition, the idea of extending that approach by also annotating the language with instructions for the compiler as a way to allow the programmer to hand optimize parts of a program will be explored. Storing these instructions as annotations on the abstract syntax trees enables new optimization workflows without requiring any changes to the language itself. Finally, an implementation of this annotation system in an existing language is examined, and its consequences on the experience of using the language are evaluated.
dc.description.sponsorshipUtrecht University
dc.language.isoEN
dc.subjectThis thesis explores the idea of annotating deeply embedded languages with additional information. A novel implicit-parameter based technique makes it possible to annotate such a language with source mapping information. Additionally, the idea of also annotating the language with instructions for the compiler as a way to allow the programmer to hand optimize parts of a program has been explored. These two ideas combined enable new unexplored profiling, debugging, and optimization workflows.
dc.titleAnnotating Deeply Embedded Languages
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsHaskell;embedded languages;annotations;source mapping
dc.subject.courseuuComputing Science
dc.thesis.id4418


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record