Generic functions are defined by induction on the structural representation of types. As a consequence, by defining just a single generic operation, one acquires this operation over any particular data type. An instance on a specific type is generated by interpretation of the type's structure. A direct translation leads to extremely inefficient code that involves many conversions between types and their structural representations. In this paper we present an optimization technique based on compile-time symbolic evaluation. We prove that the optimization removes the overhead of the generated code for a considerable class of generic functions. The proof uses typing to identify intermediate data structures that should be eliminated. In essence...
AbstractGeneric programming with C++ templates results in efficient but inflexible code: efficient, ...
Defining functions over large, possibly recursive, data structures usually involves a lot of boilerp...
A generic functional program is one which is parameterised by datatype. By installing specific choic...
Contains fulltext : 60606.pdf (author's version ) (Open Access)Generic functions a...
Abstract. Generic functions are defined by induction on the structural representation of types. As a...
Generic functions are defined by induction on the structural representation of types. As a consequen...
Generic programming is accepted by the functional programming community as a valuable tool for progr...
The Generic Haskell programming language allows functions to be defined by induction on the structur...
2 3 Abstract. Functional generic programming is an area of research concerning programs parameterize...
1 Introduction The standard library of a programming language normally defines functions like equali...
We present an approach to the generation of generic functions from user-provided specifications. Th...
Functional generic programming extends functional programming with the ability to parameterize funct...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
Abstract Functional generic programming extends functional programming with the ability to parameter...
Generic programming using C++ results in code that is efficient but inflexible. The inflexibility ar...
AbstractGeneric programming with C++ templates results in efficient but inflexible code: efficient, ...
Defining functions over large, possibly recursive, data structures usually involves a lot of boilerp...
A generic functional program is one which is parameterised by datatype. By installing specific choic...
Contains fulltext : 60606.pdf (author's version ) (Open Access)Generic functions a...
Abstract. Generic functions are defined by induction on the structural representation of types. As a...
Generic functions are defined by induction on the structural representation of types. As a consequen...
Generic programming is accepted by the functional programming community as a valuable tool for progr...
The Generic Haskell programming language allows functions to be defined by induction on the structur...
2 3 Abstract. Functional generic programming is an area of research concerning programs parameterize...
1 Introduction The standard library of a programming language normally defines functions like equali...
We present an approach to the generation of generic functions from user-provided specifications. Th...
Functional generic programming extends functional programming with the ability to parameterize funct...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
Abstract Functional generic programming extends functional programming with the ability to parameter...
Generic programming using C++ results in code that is efficient but inflexible. The inflexibility ar...
AbstractGeneric programming with C++ templates results in efficient but inflexible code: efficient, ...
Defining functions over large, possibly recursive, data structures usually involves a lot of boilerp...
A generic functional program is one which is parameterised by datatype. By installing specific choic...