Generalizers: New Metaobjects for Generalized Dispatch
Christophe Rhodes, Jan Moringen, David Lichteblau

TL;DR
This paper introduces the concept of generalizers as new metaobjects that enhance dispatch mechanisms in metaobject protocols, enabling efficient non-class-based method dispatch and extending method combination capabilities.
Contribution
It presents the design and implementation of generalizers, extending existing metaobject protocols to support complex dispatch and method combination independently from method selection.
Findings
Implemented in SBCL, the new protocol shows acceptable performance.
Enables complex non-class-based dispatch within existing frameworks.
Extends method combination capabilities independently from method selection.
Abstract
This paper introduces a new metaobject, the generalizer, which complements the existing specializer metaobject. With the help of examples, we show that this metaobject allows for the efficient implementation of complex non-class-based dispatch within the framework of existing metaobject protocols. We present our modifications to the generic function invocation protocol from the Art of the Metaobject Protocol; in combination with previous work, this produces a fully-functional extension of the existing mechanism for method selection and combination, including support for method combination completely independent from method selection. We discuss our implementation, within the SBCL implementation of Common Lisp, and in that context compare the performance of the new protocol with the standard one, demonstrating that the new protocol can be tolerably efficient.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Advanced Control Systems Optimization · Advanced Database Systems and Queries
