On Wed, 09 Aug 2000, Peter Scott wrote:
> I guess it's getting too incestuous with the lexer.

On Wed, 09 Aug 2000, Nick Ing-Simmons wrote:
> That is the root of the problem.

On Wed, 09 Aug 2000, Damian Conway wrote:
> User-defined operators are a can of rattle-snakes that I *seriously*
> recommend we don't open.

On Wed, 09 Aug 2000, Nathan Torkington wrote (out of context here):
> This was probably to avoid too much lexercest.

But.....

It seems to me the generally inability to influence the lexer is the
one general weakness in Perl.

Yes, there is many very valid reasons on why this is an evil, evil,
thing, and I agree with most of them.

But, and this may just be the drugs talking here, it seems that the
bulk of the RFCs deal with one of two issues: how Perl works
internally, or how the Perl lexer needs to be able to handle something
new.  It makes sense, after all, because if it's not strictly an
internal problem, and it's not really a lexer issue, than it can most
likely already be included in the language via a module.

Perl is extremely easy to extend.  The Perl lexer is most heinous to
extend.

A lot of discussions (and two of my RFCs) are centered around adding a
pragma to the language to influence the lexer to do this, or do that,
so that we don't trample on anybody else.  Perl will soon have more
pragmas than keywords, and this makes it unfriendly and inconsistent.

In addition, some many different people use Perl in so many different
ways.  Some people, like me, use Perl in so many different ways
simultaneously.

The mudpuppies want the down and dirty Perl that we know and love - how
to get Perl to scratch my ass in 108 characters, of which only 11 are
alphanumeric.

The CS application type folks want a stricter language - more strict
typedeffing, mandatory variable declaration, mandatory scoping
declaration, no runtime constructs.  In their world, this is all a good
thing.

The middle-of-the-road type folks want to stay the middle-of-the-road.

Obviously, someone is going to be unhappy.  Life isn't fair.  I just
wish it was unfair in my favor.  Anyway, these are all lexer issues. 
Sort of.  Mostly.

Perl allows you to change the runtime semantics of Perl to your heart's
content - to extend, manipulate, mutilate, Perl to do your bidding. 
But for compile time semantics, you're stuck with what Perl gives you.

Allowing user extensions to the lexer is a very powerful ability that
will inevitably shoot many people in the foot.  It will probably shoot
many people in many feet.  The biggest problem, I think, is that you
can't really allow "a couple" changes.  Once that door is open, it's
wide open, and anything goes.  Damian will see to that.

But it would certainly address a lot of the language list.  The
counter-argument is, of course, if you change the lexer, you change the
language.  If you change the language, why don't you just go create
your own?

This was the RFC that I never found the gall to write, because I've
identified no solutions, and have found only problems.

-- 
Bryan C. Warnock
([EMAIL PROTECTED])

Reply via email to