digitalmars.D - Open Multi-Methods article
- bearophile (7/7) Jan 04 2008 The "lambda the ultimate" blog often shows interesting articles:
- Bruce Adams (10/18) Jan 05 2008 Support for multi-dispatch is one thing I'm hoping to see in a future
- Robert Fraser (4/29) Jan 06 2008 I prefer the MultiJava syntax meself:
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
Jan 04 2008
On Fri, 04 Jan 2008 12:34:05 -0000, bearophile <bearophileHUGS 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, bearophileSupport 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.
Jan 05 2008
Bruce Adams wrote:On Fri, 04 Jan 2008 12:34:05 -0000, bearophile <bearophileHUGS lycos.com> wrote:I prefer the MultiJava syntax meself: boolean intersect(Shape s1, Shape s2); boolean intersect(Shape Rectangle s1, Shape Circle s2);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, bearophileSupport 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.
Jan 06 2008