On Fri, Nov 15, 2002 at 08:17:04PM -0700, Luke Palmer wrote:
: Presumably, C<i> is a keyword and it would be an error to say "sub i".

Depends on how the complex module decides to implement it.  It could
make it a keyword, or it could just import a sub of some sort.
Whether you have to "use" the complex module explicitly is a different
question.  I'd say if you use the bareword "i" it's pretty clear what's
wanted.  Use of "i" as a postfix operator is also pretty indicative...

: I don't recall complex numbers ever being considered as a builtin
: type; i.e. non-module.  Could someone point me to where this was
: discussed?

This whole issue of what's "builtin" and what isn't is really
kinda bogus.  A built-in is something that is either pre-imported
or auto-imported.  That's all.  To the first approximation, the only
function that *has* to be built-in to Perl is sub (that is, lambda).
Almost everything else is negotiable.

: (Just, I don't see a general enough usage for them as to make them
: builtin...)

I don't think Perl 6 documentation should use the word "builtin".
At best we can go for a hierarchy of standard levels, where each
level assumes the availability of a certain set of function names.
But even then, different levels might have the same name an implement
them differently.  A level 0 Perl might implement basic functionality
like C<if> only as a subroutine.

Looking at it another way, we can have varying levels of guaranteed
functionality from

    femtoperl
    picoperl
    nanoperl
    microperl
    milleperl
    perl
    kiloperl
    megaperl
    gigaperl
    teraperl
    petaperl

Calling something "builtin" has little meaning unless you answer the
question: "Built into what?"

Larry

Reply via email to