>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

Reply via email to