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/