CLIM mail archive
Re: reducing time overhead of text display (in 1.1)
yeah. y'know, that is one of the things that hacks me off about CL in
general, is that so many functions have all these wonderfully
order-independent keywords that cost a bunch of time.
I think that there should be two versions of functions: the
order-dependent and the order-IN-dependent. the order-dependent
doesn't even use keywords, has a fixed set or req'd args. the other
one is actualy a macro that expands into the dependent function, and
fills in missing args. that way, the pain occurs only at compile time.
the programmer is free to use either one, and knows the penalty for
doing so (and by compiling it out, it's virtually non-existant).
We don't need a change in the language or a new set of function names
to achieve this. All we need are better compilers. The CMU Python
compiler does a pretty good job of compiling out keyword args when they
are present at compile time. If we insist that our vendors supply decent
compiler macros (or make functions inline and do constant folding) then we
can get decent performance without having to memorize new names.
(Unfortunately, since CLtL2 the user is not allowed to write compiler macros
for built-in functions.)
Peter Norvig Email: Peter.Norvig@East.Sun.COM
Sun Microsystems Laboratories Tel: (508) 442-0508
Two Elizabeth Drive Fax: (508) 250-5067
Chelmsford MA 01824-4195 USA (Sun Internal mail stop: UCHL03-207)
Main Index |