On Mon, Mar 26, 2001 at 06:31:22PM -0500, Dan Sugalski wrote:
> At 04:04 PM 3/26/2001 -0500, James Mastros wrote:
> >The only way f(a) can not be stable and f(a) <=> f(b) can be is somthing of
> >a corner case.  In fact, it's a lot of a corner case.
> You're ignoring side-effects.
Damm.  I hate it when I miss the obvious.  It's still a corner case, but not
so ignorable of one.

> >Well, you can.  Unless it has magic (and more specificly, scalar get magic).
> Yeah, but figuring out whether data isn't magic is rather tricky.
It shouldn't be, since we have to check for scalar get magic every time we
get the value as a scalar anyway.  Figuring out whether it is depenedent on
some other thing which is magic, on the other hand, is really freeking nasty.

> Once a 
> little uncertainty comes in (Say, from AUTOLOADed subs, or from subs whose 
> contents we don't know at compile time because of runtime requires, or 
> because we really do have magic data and the potential uncertainty from it 
> flares out quickly) it really cuts down on what the optimizer can do. 
Youch.  I tend to forget how "incestuous" perl is (as another message on a
perl6 list said quite some time ago).

I'm definatly with the guys who say we should have a :constant and a
:idempotent attrib for subs, and make them unremovable.

            -=- James Mastros
-- 
The most beautiful thing we can experience is the mysterious.  It is the
source of all true art and science.  He to whom this emotion is a stranger,
who can no longer pause to wonder and stand wrapt in awe, is as good as dead.
        -=- Albert Einstein
AIM: theorbtwo       homepage: http://www.rtweb.net/theorb/

Reply via email to