From: David Mittman
Subject: declaration identifiers and side-effects
Date: 
Message-ID: <mittman-0504001110380001@rouge.jpl.nasa.gov>
I've read up on the use of declaration identifiers:

(declaim (declaration foo))

which makes foo a valid declaration identifier.

(defun bar (baz)
  (declare (foo fuz))
  ...)

Now, how do I go about doing something with 'fuz'? All I've come up with
so far is 'advise' for defun that lets me grab the declarations. There
must be a better way, no?

-- 
David Mittman, MS 264-767                           ·······@jpl.nasa.gov
Jet Propulsion Laboratory                           Voice:  818-393-1091
4800 Oak Grove Drive                                Fax:    818-393-4426
Pasadena, California 91109-8099                     Pager:  818-541-3015

From: Barry Margolin
Subject: Re: declaration identifiers and side-effects
Date: 
Message-ID: <H4QG4.97$cS2.3602@burlma1-snr2>
In article <························@rouge.jpl.nasa.gov>,
David Mittman <·······@jpl.nasa.gov> wrote:
>I've read up on the use of declaration identifiers:
>
>(declaim (declaration foo))
>
>which makes foo a valid declaration identifier.
>
>(defun bar (baz)
>  (declare (foo fuz))
>  ...)
>
>Now, how do I go about doing something with 'fuz'? All I've come up with
>so far is 'advise' for defun that lets me grab the declarations. There
>must be a better way, no?

Common Lisp provides no way for users to create new declarations.
Declarations are presumed to be internal to the implementation.

All the DECLARATION declaration does is prevent the compiler from
complaining about an unknown declaration.  It's intended for when you're
porting the code between different implementations, and one of them
supports a declaration that the other doesn't.  Basically, it means "Hey,
compiler, if you don't know what FOO is, treat it as a no-op."

-- 
Barry Margolin, ······@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Fernando D. Mato Mira
Subject: Re: declaration identifiers and side-effects
Date: 
Message-ID: <38EC540B.E7252870@acm.org>
David Mittman wrote:

> Now, how do I go about doing something with 'fuz'? All I've come up with
> so far is 'advise' for defun that lets me grab the declarations. There
> must be a better way, no?

DEFINE-DECLARATION. GRRR!

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1                   email: matomira AT acm DOT org
CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
Switzerland                       FAX:       +41 (32) 720-5720

www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html
From: David Mittman
Subject: Re: declaration identifiers and side-effects
Date: 
Message-ID: <mittman-0604000937020001@rouge.jpl.nasa.gov>
I see now where this section of CLtL2 (8.5 Environments, pg 207) was
deleted by ANSI. What I can't seem to find is a reference to the issue in
the HyperSpec. Was there a documented discussion of this issue? If so,
where can I find it?

In article <·················@acm.org>, "Fernando D. Mato Mira"
<········@acm.org> wrote:

> David Mittman wrote:
> 
> > Now, how do I go about doing something with 'fuz'? All I've come up with
> > so far is 'advise' for defun that lets me grab the declarations. There
> > must be a better way, no?
> 
> DEFINE-DECLARATION. GRRR!
> 
> --
> Fernando D. Mato Mira
> Real-Time SW Eng & Networking
> Advanced Systems Engineering Division
> CSEM
> Jaquet-Droz 1                   email: matomira AT acm DOT org
> CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
> Switzerland                       FAX:       +41 (32) 720-5720
> 
> www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html

-- 
David Mittman, MS 264-767                           ·······@jpl.nasa.gov
Jet Propulsion Laboratory                           Voice:  818-393-1091
4800 Oak Grove Drive                                Fax:    818-393-4426
Pasadena, California 91109-8099                     Pager:  818-541-3015
From: Barry Margolin
Subject: Re: declaration identifiers and side-effects
Date: 
Message-ID: <7G5H4.16$Nc4.1063@burlma1-snr2>
In article <························@rouge.jpl.nasa.gov>,
David Mittman <·······@jpl.nasa.gov> wrote:
>I see now where this section of CLtL2 (8.5 Environments, pg 207) was
>deleted by ANSI. What I can't seem to find is a reference to the issue in
>the HyperSpec. Was there a documented discussion of this issue? If so,
>where can I find it?

<http://www.xanalys.com/software_tools/reference/HyperSpec/Issues/iss343-writeup.html>
contains the original cleanup issue that added those features.  In March,
1991 we voted to retract it all -- there wasn't a separate cleanup issue
documenting this.

I believe the minutes of X3J13 meetings are public record, so I think you
should be able to get the minutes of that meeting from ANSI.  I don't know
how much detail it will have about the reason for deleting it.  IIRC, the
basic issue was that there were problems with the design, we didn't feel
that we had time to resolve them, and didn't think it was critical, so we
just decided to punt.

-- 
Barry Margolin, ······@genuity.com
Genuity, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: David Mittman
Subject: Re: declaration identifiers and side-effects
Date: 
Message-ID: <mittman-0604001456040001@rouge.jpl.nasa.gov>
Well, that about completes my picture of this issue. Thanks for everyone's
input.

In article <·················@burlma1-snr2>, Barry Margolin
<······@bbnplanet.com> wrote:

> In article <························@rouge.jpl.nasa.gov>,
> David Mittman <·······@jpl.nasa.gov> wrote:
> >I see now where this section of CLtL2 (8.5 Environments, pg 207) was
> >deleted by ANSI. What I can't seem to find is a reference to the issue in
> >the HyperSpec. Was there a documented discussion of this issue? If so,
> >where can I find it?
> 
>
<http://www.xanalys.com/software_tools/reference/HyperSpec/Issues/iss343-writeup.html>
> contains the original cleanup issue that added those features.  In March,
> 1991 we voted to retract it all -- there wasn't a separate cleanup issue
> documenting this.
> 
> I believe the minutes of X3J13 meetings are public record, so I think you
> should be able to get the minutes of that meeting from ANSI.  I don't know
> how much detail it will have about the reason for deleting it.  IIRC, the
> basic issue was that there were problems with the design, we didn't feel
> that we had time to resolve them, and didn't think it was critical, so we
> just decided to punt.

-- 
David Mittman, MS 264-767                           ·······@jpl.nasa.gov
Jet Propulsion Laboratory                           Voice:  818-393-1091
4800 Oak Grove Drive                                Fax:    818-393-4426
Pasadena, California 91109-8099                     Pager:  818-541-3015