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

What can I redefine?

    My interpretation of the consensus is that you can redefine
anything which isn't a special form.  The compiler is free to compile
any standard function however it wants unless you make a NOTINLINE
declaration, which forces the compiler to make a normal function call.
This issue was brought up before, and there was fairly strong
opposition to prohibiting redefinition.  Redefining standard functions
is part of the Lisp culture.

    I would have no objection to saying that redefining standard
functions is an error.  This is because no truly portable program can
redefine any standard function, since it cannot know what the rest of
the system expects of the implementation of that function.  The usual
Lisp environment allows multiple applications to coexist in the same
Lisp; this cannot work if applications go around redefining things at