MΞΌl: The Power of Dynamic Multi-Methods

October 01, 2019 Β· Declared Dead Β· πŸ› arXiv.org

πŸ‘» CAUSE OF DEATH: Ghosted
No code link whatsoever

"No code URL or promise found in abstract"

Evidence collected by the PWNC Scanner

Authors Isaac Oscar Gariano, Marco Servetto arXiv ID 1910.00709 Category cs.PL: Programming Languages Citations 0 Venue arXiv.org Last Checked 4 months ago
Abstract
Multi-methods are a straightforward extension of traditional (single) dynamic dispatch, which is the core of most object oriented languages. With multi-methods, a method call will select an appropriate implementation based on the values of multiple arguments, and not just the first/receiver. Language support for both single and multiple dispatch is typically designed to be used in conjunction with other object oriented features, in particular classes and inheritance. But are these extra features really necessary? MΞΌl is a dynamic language designed to be as simple as possible but still supporting flexible abstraction and polymorphism. MΞΌl provides only two forms of abstraction: (object) identities and (multi) methods. In MΞΌl method calls are dispatched based on the identity of arguments, as well as what other methods are defined on them. In order to keep MΞΌls design simple, when multiple method definitions are applicable, the most recently defined one is chosen, not the most specific (as is conventional with dynamic dispatch). In this paper we show how by defining methods at runtime, we obtain much of the power of classes and meta object protocols, in particular the ability to dynamically modify the state and behaviour of 'classes' of objects.
Community shame:
Not yet rated
Community Contributions

Found the code? Know the venue? Think something is wrong? Let us know!

πŸ“œ Similar Papers

In the same crypt β€” Programming Languages

Died the same way β€” πŸ‘» Ghosted