Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorSwierstra, W.T.
dc.contributor.advisorJeuring, J.T.
dc.contributor.authorWalt, P.D. van der
dc.date.accessioned2012-10-30T18:01:46Z
dc.date.available2012-10-30
dc.date.available2012-10-30T18:01:46Z
dc.date.issued2012
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/11910
dc.description.abstractThis project explores the recent addition to Agda enabling reflection, in the style of Lisp, MetaML, and Template Haskell. It illustrates several possible applications of reflection that arise in dependently typed programming, and details the limitations of the current implementation of reflection. Examples of type-safe metaprograms are given that illustrate the power of reflection coupled with a dependently typed language. Among other things the limitations inherent in having quote and unquote implemented as keywords are highlighted. The fact that lambda terms are returned without typing information is discussed, and a solution is presented. Also provided is a detailed users' guide to the reflection API and a library of working code examples to illustrate how various common tasks can be performed, along with suggestions for an updated reflection API in a future version of Agda.
dc.description.sponsorshipUtrecht University
dc.format.extent14846269 bytes
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.titleReflection in Agda
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsreflection
dc.subject.keywordsAgda
dc.subject.keywordsdependently typed programming
dc.subject.keywordsmetaprogramming
dc.subject.keywordsproof by reflection
dc.subject.courseuuComputing Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record