CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Functional Polytypic Programming --- Use and Implementation

Patrik Jansson (Institutionen för datavetenskap, Funktionell programmering ; Institutionen för datavetenskap, Programmeringslogik)
Göteborg : Chalmers University of Technology, 1997. ISBN: 91-7197486-5.- 130 pages s.

Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, pattern matchers, equality functions, unifiers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of user-defined datatypes. This thesis introduces polytypic functions, shows how to construct and reason about polytypic functions and describes the implementation of the polytypic programming system PolyP. PolyP extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks definitions of polytypic functions, and infers the types of all other expressions. Programs in the extended language are translated to Haskell.

Nyckelord: Programming languages, Functional programming, Algebraic datatypes, Polytypic programming, Generic programming

Denna post skapades 2006-10-09. Senast ändrad 2014-09-02.
CPL Pubid: 10123


Institutioner (Chalmers)

Institutionen för datavetenskap, Funktionell programmering (2002-2004)
Institutionen för datavetenskap, Programmeringslogik (2002-2004)


Teoretisk datalogi

Chalmers infrastruktur

Relaterade publikationer

Inkluderade delarbeten:

Polytypic Programming

PolyP - a polytypic programming language extension

Functional Pearl: Polytypic Unification


Datum: 1997-05-28

Ingår i serie

Technical report - Department of Computing Science, Chalmers University of Technology and Göteborg University