emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: byte-opt.el addition - optimize list of compile-time constants


From: Miles Bader
Subject: Re: byte-opt.el addition - optimize list of compile-time constants
Date: Thu, 9 Dec 2004 13:04:12 +0900

> >> I thought the whole point of (function ...) was to assert that the
> >> lambda expression it contains *will* be used by execution.
> >
> > Yes, but that only applies if it occurs in an evaluable context.
> > Anyplace else, all bets are off.
> 
> That strikes me as just plain silly.  What's the point of a hint if it
> doesn't always mean what it means?

If there's a random arbitrary list constant in some code, how on earth
is the compiler supposed to tell what the intended meaning of
sub-components of the list are?!?  A sublist of the form (function
(lambda ...)) _could_ be a function constant intended to be extracted
from the list and executed, but it _also_ could be a list of keywords
for something, or a function constant that the user wants to interpret
himself; you just can't tell.

Consider C -- The sequence of characters "#define" has a meaning in a
code context, but the compiler can hardly go interpreting it inside of
string constants!

> And data structures containing code are common, and are in fact one of
> the nicer things about Lisp in the first place - why pessimize them?

The compiler can only optimize things that are safe to optimize, and this isn't.

-Miles




reply via email to

[Prev in Thread] Current Thread [Next in Thread]