Interesting but scary! It looks like the same technique could be used to implement compile-time checking of method calls, so I could do something like
type Dog my $a;
$a->bark;
$a->$trick; # compile time warning maybe
$a->perform_brain_surgery; # compile time error
a bit like Java interfaces except far less painful. So it would pick up typos in method names but doesn't try to look at the Class of $a (although an optional assertion might be useful).
Rereading your original posting, I can't follow
$x = alias [$y, $z];
alias push @x, $y;
Doesn't something have to be aliased to something else? What is being aliased to what in these examples? |