University of Twente Student Theses


Application patterns in functional languages

Oosterhof, N.N. (2005) Application patterns in functional languages.

[img] PDF
Abstract:Most contemporary pure functional languages provide support for patterns in function definitions. Examples of common patterns are the identifier, constant, tuple, list algebraic, n+k and as-pattern. This thesis introduces a new kind of patterns, called application patterns. Such patterns consist of a function applied to arguments: they are of the form (f x1 ... xn). When such a pattern is matched against an actual argument, inverse functions are used to find the binding of variables to values. A theoretical framework is provided that accomodates for defining multiple generalized inverse functions (for returning different sets of arguments) for one function. These inverse functions can be available in the system, derived by the system or defined by the programmer. A notation is introduced so that in a definition's left hand side identifiers can be used that are bound in the context. It is established that application patterns are universal in the sense that they include constant, tuple, list, algebraic, n+k and as-patterns. This thesis describes an algoritm that translates functional program code with application patterns to program code without application patterns that can be run on an interpreter. It also provides a proof-of-concept implementation of this algoritm in a functional language.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page