>Tom Christiansen wrote:
>> >Well, as I mentioned in another recent parallel thread, if C<for> is to
>> >be properly functionalized,
>>
>> Whoa -- why? Syntax keywords (eg if, unless) certainly need not be
>> expressible as functions. This isn't tcl!
>Ah, the old "If you want Tcl, you know where to find it" non-argument.
>"Closures?" "No! This is Perl, not Lisp!"
>"Objects?" "No! This is Perl, not Smalltalk!"
>"Patterns?" "No! This is Perl, not Snobol!"
>"Subroutines?" "No! This is Perl, not Basic!"
Fine. Explain why it is that a syntactic keyword governing normal
flow of control, such as for, foreach, if, while, return, next,
etc., should have the properties of a function. For example,
Why should it be referenceable, as in \&CORE::if?
What does dereferencing it mean? How can the compiler
do what the compiler has to do if you hide it?
Why should it have a prototype? What are you going to do
with that prototype?
Why should it be overridable? What are you planning to to
with it?
What are you going to do about things like if/elsif/elsif/.../else?
I see nothing broken. Yet.
--tom