"Joe Gottman" <[EMAIL PROTECTED]> writes:
> Will it be possible in perl6 to overload multis on the const-ness of a
> parameter, like C++ does? For instance,
>
> multi getX(Foo $self:) returns Int {...} #const version
> multi getX(Foo $self: is rw) returns Int is rw {...} #non-const version
>
> If getX were called on a const Foo object then the first getX would be
> called, and if it were called on a non-const Foo object the second one would
> be.
Speaking of multis and constants, Greg McCarroll wondered on IRC if
this would work:
multi factorial (Int 0) { 1 }
multi factorial (Int $n) { $n * factorial($n-1) }
Disregarding the fact that you should really write that as:
sub factorial (Int $n) {
my multi tail_fac ($result, 0) { $result }
my multi tail_fac ($result, $n) { tail_fac( $result * $n, $n - 1 ) }
tail_fac(1, $n);
}
(Assuming you want to do it recursively that is...)
--
Piers