Abstract. 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 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 es...
Compilation of polymorphic code through type erasure gives compact code but performance on primitive...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
A generic function is a function that is defined on the structure of data types: with a single defin...
Generic functions are defined by induction on the structural representation of types. As a consequen...
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...
We present an approach to the generation of generic functions from user-provided specifications. Th...
Introduction Contemporary mainstream programming languages offer mechanisms for expressing domain-sp...
Defining functions over large, possibly recursive, data structures usually involves a lot of boilerp...
AbstractDefining functions over large, possibly recursive, data structures usually involves a lot of...
1 Introduction The standard library of a programming language normally defines functions like equali...
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, ...
Compilation of polymorphic code through type erasure gives compact code but performance on primitive...
Compilation of polymorphic code through type erasure gives compact code but performance on primitive...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
A generic function is a function that is defined on the structure of data types: with a single defin...
Generic functions are defined by induction on the structural representation of types. As a consequen...
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...
We present an approach to the generation of generic functions from user-provided specifications. Th...
Introduction Contemporary mainstream programming languages offer mechanisms for expressing domain-sp...
Defining functions over large, possibly recursive, data structures usually involves a lot of boilerp...
AbstractDefining functions over large, possibly recursive, data structures usually involves a lot of...
1 Introduction The standard library of a programming language normally defines functions like equali...
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, ...
Compilation of polymorphic code through type erasure gives compact code but performance on primitive...
Compilation of polymorphic code through type erasure gives compact code but performance on primitive...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
A generic function is a function that is defined on the structure of data types: with a single defin...