Many algorithms have to be implemented over and over again for different datatypes, either because datatypes change during the development of programs, or because the same algorithm is used for several datatypes. Examples of such algorithms are equality tests, pretty printers, and pattern matchers, and polytypic programming is a paradigm for expressing such algorithms. This dissertation introduces polytypic programming for functional programming languages, shows how to construct and prove properties of polytypic algorithms, presents the language extension PolyP for implementing polytypic algorithms in a type safe way, and presents a number of applications of polytypic programming. The applications include a library of basic polytypic buildi...
This report describes what polytypic programming is, a new system for writing polytypic functions, a...
Structural polymorphism is a generic programming technique known within the functional programming c...
Several generic programs for converting values from regular datatypes to some other format, togethe...
Many algorithms have to be implemented over and over again for different datatypes, either because d...
Many functions have to be written over and over again for different datatypes, either because dataty...
A polytypic program is a program that behaves uniformly over a large class of datatypes. For functio...
Many functions have to be written over and over again for different datatypes, either because dataty...
This article proposes a new framework for a polytypic extension of functional programming languages....
This paper describes the polytypic functions in PolyLib, motivates their presence in the library, an...
Many functions have to be written over and over again for different datatypes, either because dataty...
AbstractThe idea of polytypic programming is to write programs that are defined by induction on the ...
A functional polytypic program is one that is parameterised by datatype. Since polytypic functions a...
Functional generic programming extends functional programming with the ability to parameterize funct...
A polytypic function is a function that can be instantiated on many data types to obtain data type s...
A polytypic function is a function that can be instantiated on many data types to obtain data type ...
This report describes what polytypic programming is, a new system for writing polytypic functions, a...
Structural polymorphism is a generic programming technique known within the functional programming c...
Several generic programs for converting values from regular datatypes to some other format, togethe...
Many algorithms have to be implemented over and over again for different datatypes, either because d...
Many functions have to be written over and over again for different datatypes, either because dataty...
A polytypic program is a program that behaves uniformly over a large class of datatypes. For functio...
Many functions have to be written over and over again for different datatypes, either because dataty...
This article proposes a new framework for a polytypic extension of functional programming languages....
This paper describes the polytypic functions in PolyLib, motivates their presence in the library, an...
Many functions have to be written over and over again for different datatypes, either because dataty...
AbstractThe idea of polytypic programming is to write programs that are defined by induction on the ...
A functional polytypic program is one that is parameterised by datatype. Since polytypic functions a...
Functional generic programming extends functional programming with the ability to parameterize funct...
A polytypic function is a function that can be instantiated on many data types to obtain data type s...
A polytypic function is a function that can be instantiated on many data types to obtain data type ...
This report describes what polytypic programming is, a new system for writing polytypic functions, a...
Structural polymorphism is a generic programming technique known within the functional programming c...
Several generic programs for converting values from regular datatypes to some other format, togethe...