Open Multi-Methods article

Robert Fraser fraserofthenight at gmail.com
Sun Jan 6 00:46:54 PST 2008


Bruce Adams wrote:
> On Fri, 04 Jan 2008 12:34:05 -0000, bearophile 
> <bearophileHUGS at lycos.com> wrote:
> 
>> The "lambda the ultimate" blog often shows interesting articles:
>>
>> "Open Multi-Methods for C++", by Peter Pirkelbauer, Yuriy Solodkyy, 
>> and Bjarne Stroustrup:
>> http://lambda-the-ultimate.org/node/2590
>> http://www.research.att.com/~bs/multimethods.pdf
>>
>> They seem fast enough too.
>>
>> Bye,
>> bearophile
> 
> Support for multi-dispatch is one thing I'm hoping to see in a future 
> iteration of D.
> To summarise the paper they propose a syntax for open methods (which are 
> free functions)
> as opposed to multi-methods using virtual as an argument qualifier.
> 
> bool intersect(virtual Shape&, virtual Shape&); // open−method
> bool intersect(virtual Rectangle&, virtual Circle&);
> 
> This doesn't look a bad solution for either C++ or D2.x/3.x.

I prefer the MultiJava syntax meself:

boolean intersect(Shape s1, Shape s2);
boolean intersect(Shape at Rectangle s1, Shape at Circle s2);



More information about the Digitalmars-d mailing list