The specific definitions of these terms vary from language to language. In Java, for instance, a method is said to be "overloaded" and/or "overridden".
An "overloaded" method is actually two or more methods with the same name but differing numbers/types of parameters (which Java calls the "signature" of the method). I believe this is what has been referred to as "multimethod dispatch" on this thread. An "overridden" method is two methods with the same name AND type signature in two different classes, where one class is a subclass of the other. The child class's method is said to "override" the parent class's implementation. The similarity of names is a little confusing, but the distinction between the two mechanisms is important. When an overridden method is called, the actual implementation that gets executed depends on the RUNTIME type of the INVOCANT. When an overloaded method is called, the implementation that is executed depends on the COMPILE-TIME type of the PARAMETERS. Many folks get bitten trying to use overloaded methods as if the implementation were chosen based on on run-time type information. But that's all off-topic. Back to Perl6, although it seems that we won't find out the details of Perl6 O-O until Apoc 12 comes out. -- Mark REED | CNN Internet Technology 1 CNN Center Rm SW0831G | [EMAIL PROTECTED] Atlanta, GA 30348 USA | +1 404 827 4754 -- grasshopotomaus: A creature that can leap to tremendous heights . . . once.