We introduce the concept of sealable metaobjects, i.e., classes, generic functions, and methods, whose behavior is restricted to allow for some static analysis. Then we use these sealable metaobjects to define fast generic functions, a variant of standard generic functions that allow for call site optimization --- ranging from faster method dispatch to inlining of entire effective methods. Fast generic functions support almost all features of standard generic functions, including custom method combinations and non-trivial references to the next method. Our benchmarks show that a straightforward implementation of Common Lisp's sequence functions using these fast generic functions is competitive with the corresponding built-in sequence fun...
Abstract Functional generic programming extends functional programming with the ability to parameter...
A generic function is a function that is defined on the structure of data types: with a single defin...
We present an approach to the generation of generic functions from user-provided specifications. Th...
A function call in a language such as Common Lisp can be fairly costly. Not only is an indirection ...
This paper introduces a new metaobject, the general-izer, which complements the existing specializer...
Generic functions are defined by induction on the structural representation of types. As a consequen...
Abstract. Generic functions are defined by induction on the structural representation of types. As a...
A generic function is similar to an overloaded operator, but provides a way to select an appropriate...
Generic functions are defined by induction on the structural representation of types. As a consequen...
Functional generic programming extends functional programming with the ability to parameterize funct...
Generic programming is accepted by the functional programming community as a valuable tool for progr...
This paper introduces a new metaobject, the generalizer, which complements the existing specializer ...
The importance of lexically scoped variable and function definitions is acknowledged in almost all ...
Generic programming is about making programs more widely applicable via exotic kinds of parametrizat...
Several Common Lisp functions rely on the :test keyword to pass a predicate to be used in their oper...
Abstract Functional generic programming extends functional programming with the ability to parameter...
A generic function is a function that is defined on the structure of data types: with a single defin...
We present an approach to the generation of generic functions from user-provided specifications. Th...
A function call in a language such as Common Lisp can be fairly costly. Not only is an indirection ...
This paper introduces a new metaobject, the general-izer, which complements the existing specializer...
Generic functions are defined by induction on the structural representation of types. As a consequen...
Abstract. Generic functions are defined by induction on the structural representation of types. As a...
A generic function is similar to an overloaded operator, but provides a way to select an appropriate...
Generic functions are defined by induction on the structural representation of types. As a consequen...
Functional generic programming extends functional programming with the ability to parameterize funct...
Generic programming is accepted by the functional programming community as a valuable tool for progr...
This paper introduces a new metaobject, the generalizer, which complements the existing specializer ...
The importance of lexically scoped variable and function definitions is acknowledged in almost all ...
Generic programming is about making programs more widely applicable via exotic kinds of parametrizat...
Several Common Lisp functions rely on the :test keyword to pass a predicate to be used in their oper...
Abstract Functional generic programming extends functional programming with the ability to parameter...
A generic function is a function that is defined on the structure of data types: with a single defin...
We present an approach to the generation of generic functions from user-provided specifications. Th...