Compiling a New Kind of Faster Curry

dc.contributor.advisorAriola, Zena
dc.contributor.authorHairapetian, Shant
dc.date.accessioned2022-02-18T17:39:37Z
dc.date.available2022-02-18T17:39:37Z
dc.date.issued2022-02-18
dc.description.abstractTraditionally, programming languages based on lambda calculus such asHaskell and ML do not support functions with a number of arguments (or arity) greater than one. In these languages, currying emulates the passing of multiple arguments by accepting one argument at a time and returning a closure that accepts the next. This approach is inefficient from a performance perspective. As such, Downen et al [A faster Curry with Extensional Types] proposed the addition of a primitive, extensional function type that accepts all of its arguments at once. Though this new function type enabled optimization for functions across known types, generic types could not enjoy this optimization. In their follow-up paper [Kinds are Calling Conventions] Downen et al proposed a new kind of system which allows for statically tracking arity information about generic types, thereby enabling faster currying and efficient compilation for these generic types. This paper will discuss the implementation of both of these changes in GHC (Glasgow Haskell Compiler).en_US
dc.identifier.urihttps://hdl.handle.net/1794/27043
dc.language.isoen_US
dc.publisherUniversity of Oregon
dc.rightsAll Rights Reserved.
dc.titleCompiling a New Kind of Faster Curry
dc.typeElectronic Thesis or Dissertation
thesis.degree.disciplineDepartment of Computer and Information Science
thesis.degree.grantorUniversity of Oregon
thesis.degree.levelmasters
thesis.degree.nameM.S.

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Hairapetian_oregon_0171N_13162.pdf
Size:
268.55 KB
Format:
Adobe Portable Document Format