Subject: Re: Overwriting Functions/Macros? From: Erik Naggum <clerik@naggum.no> Date: 1998/04/02 Newsgroups: comp.lang.lisp Message-ID: <3100502077329521@naggum.no> * Marco Antoniotti | As an aside, I see also that using strings in package related functions | and macros for package names and symbol names is a *good* thing. * Erik Naggum | uhm? why? using strings interferes with case massaging in the Lisp | reader. the only advantage is that no new symbols are created, but using | uninterned symbols or keywords (for package names) isn't _that_ much | trouble, is it? thanks to Kent Pitman, Marco Antoniotti, and Tim Bradshaw for their comments. the reason for my concern is a little involved, so let me explain. I use Franz Inc's Allegro Common Lisp and it has a feature, called the "case mode", whereby symbols names may be downcased. (this also makes APROPOS a lot easier to use.) the reason I switched to use "case-sensitive-lower" (as it is called) as the preferred case was that the Lisp printer in ACL doesn't quite follow the specification when *PRINT-CASE* and READTABLE-CASE settings differ from the defaults, and I really don't want to read symbol names in all caps (except in prose text where they are meant to stand out). therefore, I also switched to using uninterned symbols in DEFPACKAGE. I agree with Tim that it has a certain grotesque flavor to it, but I saw it as better than the name conflicts that would follow from using the wrong case when "hard-wiring" the case of symbols names. however, upon thinking a bit more about this, spurred by the comments I received, I have returned to "case-insensitive-upper" as the preferred case mode and switched to using strings in DEFPACKAGE and other such forms. thanks, guys. *PRINT-CASE* is :DOWNCASE. I'll see if I can unlearn the habit of using APROPOS on lower-case strings. #:Erik -- (defmacro pretty-loop (&rest parenthesized-forms) "Make the dream that each LOOP clause be parenthesized come true." `(loop ,@(apply #'append parenthesized-forms)))