Downloads provided by UsageCounts
In traditional object-oriented languages, the dynamic dispatch algorithm is hardwired: for every polymorphic call, only the most specific method is used. CLOS, the Common Lisp Object System, goes beyond the traditional approach by providing an abstraction known as "method combinations": when several methods are applicable, it is possible to select several of them, decide in which order they will be called, and how to combine their results, essentially making the dynamic dispatch algorithm user-programmable. Although a powerful abstraction, method combinations are under-specified in the Common Lisp standard, and the MOP, the Meta-Object Protocol underlying many implementations of CLOS, worsens the situation by either contradicting it or providing unclear protocols. As a consequence, too much freedom is granted to conforming implementations. The exact or intended behavior of method combinations is unclear and not necessarily coherent with the rest of CLOS. In this paper, we provide a detailed analysis of the problems posed by method combinations, the consequences of their lack of proper specification in one particular implementation, and a MOP-based extension called "method combinators", aiming at correcting these problems and possibly offer new functionality.
[INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], Meta-Object Protocol, Method Combinations, Extensible languages, [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], Generic Functions, Dynamic Dispatch, Object-Oriented Programming, Polymorphism, Multi-Methods, Orthogonality, Common Lisp Object System
[INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], Meta-Object Protocol, Method Combinations, Extensible languages, [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], Generic Functions, Dynamic Dispatch, Object-Oriented Programming, Polymorphism, Multi-Methods, Orthogonality, Common Lisp Object System
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 13 | |
| downloads | 9 |

Views provided by UsageCounts
Downloads provided by UsageCounts