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

Re: Packages: where is the beef ?

I think you would find similar problems in other languages if
you attempt to redefine built-in functions.  If you want to
have a separate namespace for your functions and be sure to
not interfere with the large number of built-in and imported
functions, how about using both upper and lower case names, and
set the default to :case-sensitive-lower .   Then all built-in
functions are in lower case  (cons, car, ...) and you are free to
redefine Car Cons ... or CAR, CONS ... etc.

I'm not sure how this can be done in non-Allegro CL systems, but
CLtL2 seems to have a function "read-table-case".

This is certainly a less sophisticated solution than using shadowing,
but for the occasional CL programmer who doesn't want to worry about
name-conflicts, it may work fine.

Richard Fateman