Symmetric Encapsulated Multi-Methods

Computer Science – Programming Languages

Scientific paper

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

This paper is a variant of David Lievens, William Harrison: Symmetric encapsulated multi-methods to abstract over application

Scientific paper

In object systems, classes take the role of modules, and interfaces consist of methods. Because methods are encapsulated in objects, interfaces in object systems do not allow abstracting over \emph{where} methods are implemented. This implies that any change to the implementation structure may cause a rippling effect. Sometimes this unduly restricts the scope of software evolution, in particular for methods with multiple parameters where there is no clear owner. We propose a simple scheme where symmetric methods may be defined in the classes of any of their parameters. This allows client code to be oblivious of what class contains a method implementation, and therefore immune against it changing. When combined with multiple dynamic dispatch, this scheme allows for modular extensibility where a method defined in one class is overridden by a method defined in a class that is not its subtype. In this paper, we illustrate the scheme by extending a core calculus of class-based languages with these symmetric encapsulated multi-methods, and prove the result sound.

No associations

LandOfFree

Say what you really think

Search LandOfFree.com for scientists and scientific papers. Rate them and share your experience with other people.

Rating

Symmetric Encapsulated Multi-Methods does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.

If you have personal experience with Symmetric Encapsulated Multi-Methods, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Symmetric Encapsulated Multi-Methods will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFWR-SCP-O-457123

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.