Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorJeuring, J.T.
dc.contributor.authorAlkemade, T.P.
dc.date.accessioned2014-05-19T17:00:48Z
dc.date.available2014-05-19T17:00:48Z
dc.date.issued2014
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/16620
dc.description.abstractHaskell 2010 lacks flexibility for creating instances of type classes for type constructors with multiple type arguments. We would like to make the order of type arguments to a type constructor irrelevant to how type class instances can be specified. None of the currently available techniques in Haskell allow this satisfactorily. To solve this, we have added the concept of type-level lambdas as anonymous type synonyms to Haskell. As higher-order unification of lambda terms in general is undecidable, we take a conservative approach to equality between type-level lambdas. We propose a number of small changes to the constraint solver that will allow type-level lambdas to be used in type class instances. We show that this satisfies our goal, while having only minor impact on existing Haskell code.
dc.description.sponsorshipUtrecht University
dc.format.extent238639
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.titleType Class Instances for Type-Level Lambdas in Haskell
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordshaskell,type class,type-level lambda
dc.subject.courseuuComputing Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record