This and other RFCs are available on the web at http://dev.perl.org/rfc/ =head1 TITLE Named operators versus functions =head1 VERSION Maintainer: Johan Vromans <[EMAIL PROTECTED]> Date: 04 Aug 2000 Last Modified: 28 Aug 2000 Version: 2 Mailing List: [EMAIL PROTECTED] Number: 26 Status: Frozen =head1 ABSTRACT Perl distinguishes named operators and functions. For Perl6, this disctinction can be dropped. =head1 DESCRIPTION Named operators, like C<abs>, can be called like functions in which case they behave like functions. This has always been so in Perl. Recent versions of Perl allow user-defined functions to be called as operators, using context coercion templates to resolve argument passing. Larry said: "Theoretically, we'd like to make subs run as fast as ops." Since there is no real difference between named operators and functions anymore, they can be treated identically. The difference in terminology can be applied to how it is called instead of how it is defined. So, a I<function> is a user-defined or built-in function called with a parenthesized list of arguments, and a I<named operator> is a user-defined or built-in function called with its arguments "bare". The latter form is subject to the usual restrictions. Note that this applies to the language aspects. The actual implementation may be different for user-defined and built-in functions. =head1 REFERENCES [i] perldoc perlop