Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Prototypes with Multiple Dispatch: An Expressive and Dynamic Object Model

Summary: Prototypes with Multiple Dispatch:
An Expressive and Dynamic Object Model
Lee Salzman and Jonathan Aldrich
Carnegie Mellon University, Pittsburgh, PA 15217, USA,
lsalzman@alumni.cmu.edu, jonathan.aldrich@cs.cmu.edu
Abstract. Two object-oriented programming language paradigms--
dynamic, prototype-based languages and multi-method languages--
provide orthogonal benefits to software engineers. These two paradigms
appear to be in conflict, however, preventing engineers from realizing
the benefits of both technologies in one system. This paper introduces
a novel object model, prototypes with multiple dispatch (PMD), which
seamlessly unifies these two approaches. We give formal semantics for
PMD, and discuss implementation and experience with PMD in the dy-
namically typed programming language Slate.
1 Overview
We begin the paper by describing a motivating example that shows the limita-
tions of current, popular object-oriented languages for capturing how method
behavior depends on the interaction between objects and their state. The ex-
ample shows that multi-methods can cleanly capture how behavior depends on
the interaction between objects, while dynamic, prototype-based languages can


Source: Aldrich, Jonathan - School of Computer Science, Carnegie Mellon University


Collections: Computer Technologies and Information Sciences