Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorSwierstra, W. S.
dc.contributor.advisorHage, J.
dc.contributor.authorKusee, W.H.
dc.date.accessioned2017-12-19T18:01:54Z
dc.date.available2017-12-19T18:01:54Z
dc.date.issued2017
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/28192
dc.description.abstractThe Agda programming language is most often used as a theorem prover. Agda programs can also be compiled using the GHC backend, which translates an Agda program to a Haskell program that can be compiled by the GHC compiler. Because the Agda programming language has multiple features that are difficult to translate to Haskell automatically, the GHC backend creates simple Haskell programs that may contain type errors. Coercions (using the Haskell unsafeCoerce function) are then inserted to avoid these type errors. This thesis changes the GHC backend so that it only inserts coercions where necessary, by utilizing the type errors that GHC reports and inserting coercions at those locations. To further lower the number of needed coercions, the translation of Agda data types is improved by retaining more type information in the generated Haskell data types.
dc.description.sponsorshipUtrecht University
dc.format.extent443337
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.titleCompiling Agda to Haskell with fewer coercions
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsAgda, Haskell, compiler, coercions
dc.subject.courseuuComputing Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record