in reply to Re^2: coderefs and (&) prototypes
in thread coderefs and (&) prototypes
My objection to the above answer (to which the @-response above is directed) is that writing \&$a no more guarantees that $a is a coderef than just writing $a does.
Well you're right but from the perspective of the prototyped function it's clearly the goal to get a coderef at that point and nothing else.
It delegates the problem to the code-dereferencing in &$a.
so it's not anymore a problem of the implementation of prototypes but of the implementation of &-dereferencing.
And you will agree that it doesn't make sense in a loosely typed language like perl to guarantee that the scalar following & is a coderef!
Otherwise it would become in consequence necessarily a typed language!
Cheers Rolf
UPDATE: To make it clearer "prototyping" is an option to make perl-functions more "strongly typed", and the function assures this "typing" within it's possibilities, it can't look ahead and alter the behaviour of &. And & can't be strongly typed!
Hence you see problems only at run-time...
|
|---|