Subject: Re: Other macros in COMMON-LISP that generate names a la DEFSTRUCT?
From: rpw3@rpw3.org (Rob Warnock)
Date: Mon, 23 Aug 2004 07:07:35 -0500
Newsgroups: comp.lang.lisp
Message-ID: <-YKdnWV3vfKaQ7TcRVn-tQ@speakeasy.net>
[Sorry for the belated reply. Been having computer troubles...]

Barry Margolin  <barmar@alum.mit.edu> wrote:
+---------------
| rpw3@rpw3.org (Rob Warnock) wrote:
| > Peter Seibel  <peter@javamonkey.com> wrote:
| > +---------------
| > | Are there any macros defined in the language standard that generate
| > | global names similar to the the way DEFSTRUCT does other than
| > | DEFSTRUCT. I don't mean macros like DEFUN, DEFCLASS, etc. that use
| > | names provided by the macro caller but ones that actually generate a
| > | symbol that was not passed as an argument to the macro and then give
| > | it a global meaning the way (defstruct foo x y) does for MAKE-FOO,
| > | COPY-FOO, FOO-P, FOO-X, and FOO-Y?
| > +---------------
| > 
| > DEFINE-CONDITION, for sure.
| 
| What names does it create?
...
| I think the gist of his question is whether there are any other macros 
| that intern new symbols to name the operators they define.  I think all 
| the macros you mention take the symbol as a parameter, rather than 
| generating the names themselves.
+---------------

My apologies, you're right. Somehow I misread the part in CLHS "Macro
DEFINE-CONDITION" which said "Accessors are created according to the
same rules as used by DEFCLASS", which I misread as saying "...the same
rules as used by DEFSTRUCT." (Oops!)

"Never mind..."


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607