>>>> "mb" == Martin Buchholz
<martin(a)xemacs.org> writes:
mb> Shouldn't the mew people be involved with this discussion?
Yes, they should.
Not my problem. I only care that the packages look like they work
when 22.0 is released. The other Steve is responsible for making sure
they work right, and corresponding with external maintainers.
SJT> Just put it in all of them.
mb> (require)'s should only go into those files that ... require
mb> it.
Hey, Steve! Looks like you have a volunteer to check which files
"require requires".
You know, Martin, I said that. The current situation is a show-
stopper for Steve. I'm talking about introducing a teeny-tiny bug
that only Martin would care about to take care of the show-stopper in
a package Steve probably knows little about.
So put it on your (still unpublished) "ten year bug list."
I suggested it as one release manager to another, not as a developer.
SJT> If Lisp only had functions, we would not need to worry about requires
SJT> at build time. (We might want to, for error checking etc, but we
SJT> wouldn't need to.) The problem is macros. A macro gets evaluated
SJT> twice. The first time, its arguments are treated as literals, and a
SJT> new sexp is returned. _This sexp is a compile-time constant._
SJT> The problem is that the bytecompiler provides _no_ facility
SJT> for lazy evaluation of macros
mb> About the only way it could do that is to not byte-compile the
mb> code at all.
Of course not. You could do JIT compiling and cache the compiled
functions, checking for updates. You may not like that on efficiency
grounds (I don't, XEmacs is an editor, not a Lisp theory class); but
it's feasible.
mb> And if you wanted to always use the run-time
mb> definition of a macro, you could never expand macros at
mb> compile-time anyways.
See above.
mb> You may as well not have a byte-compiler. And the user does
mb> have that option.
Or they can write their own JIT byte-compiler.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."