comp.lang.ada
 help / color / mirror / Atom feed
From: "John R. Strohm" <strohm@airmail.net>
Subject: Re: Crosspost: Help wanted from comp.compilers
Date: Wed, 16 Jul 2003 23:29:53 -0500
Date: 2003-07-16T23:29:53-05:00	[thread overview]
Message-ID: <bf58ui$51k@library2.airnews.net> (raw)
In-Reply-To: 1058390613.119827@master.nyc.kbcfp.com

"Hyman Rosen" <hyrosen@mail.com> wrote in message
news:1058390613.119827@master.nyc.kbcfp.com...
> John R. Strohm wrote:
> > Consider a package spec, that declares a procedure.  Change the
procedure
>
> Did you actually read what I and some of the sites I quoted said?
>
> The broken systems triggered cascading recompiles when a spec was
> recompiled *whether or not the spec had changed*. There are several
> instances mentioned where people wanted to recompile a module for
> extra debugging or optimization, and that in itself triggered the
> cascade, even though no source file had changed.

Hyman, it occasionally appears to me that you insist on thinking with your
preconceptions rather than your brain.

Consider a C example, first.

magic_value.h:
#ifndef _MAGIC_VALUE
#define _MAGIC_VALUE
#define MAGIC 42
#endif

test_array.c:

#include "magic_value.h"
static int bletch[4] = { MAGIC, MAGIC, 0, MAGIC };
void main(void)
{
  /* do something with bletch[] */
}

Now, Hyman, it should be immediately obvious, even to you, that, if we
change the line that defines the magic value in the .h file, we HAVE to
recompile the .c file as well, even though the .c file has not changed one
iota.

Let's go a step further.

magic_value.h:
#ifndef _MAGIC_VALUE
#define _MAGIC_VALUE
#define MAGIC 42
#endif

magic_square.h:
#ifndef _MAGIC_SQUARE
#define _MAGIC_SQUARE
#include "magic_value.h"
#define MAGICSQUARE ((MAGIC)*(MAGIC))
#endif

test_square.c:
#include "magic_square.h"
static int magic_square[MAGICSQUARE];
void main(void)
{
  for (i=0;i<MAGICSQUARE;i++){
    magic_square[MAGICSQUARE] = i;
  }
}

In this example, Hyman, by your argument, we should be able to change MAGIC
in magic_value.h and NOT have to recompile test_square.c, because the source
code for magic_square.h has not changed.

However, the MEANING, the SEMANTICS, of magic_square.h HAVE changed, because
the semantics UNDERLYING magic_square.h, i.e., the magic value MAGIC, have
changed.

The same thing can occur in Ada.  An overt change in one specification may
propagate through a chain of apparently-unchanged descendants, producing
hidden but very real semantic changes in each of them, and eventually
producing a very visible change in the final descendant.





  parent reply	other threads:[~2003-07-17  4:29 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-15  5:46 Crosspost: Help wanted from comp.compilers John R. Strohm
2003-07-15 13:30 ` Hyman Rosen
2003-07-15 14:07   ` Larry Kilgallen
2003-07-15 21:02   ` John R. Strohm
2003-07-15 23:00     ` Robert I. Eachus
2003-07-16  1:52     ` Jeffrey Carter
2003-07-16  4:45       ` John R. Strohm
2003-07-16  3:21     ` Hyman Rosen
2003-07-16 17:15       ` Robert I. Eachus
2003-07-16 17:38         ` Larry Kilgallen
2003-07-16 18:04         ` Hyman Rosen
2003-07-16 21:05           ` John R. Strohm
2003-07-16 21:23             ` Hyman Rosen
2003-07-16 23:23               ` Marin David Condic
2003-07-17  1:39                 ` Hyman Rosen
2003-07-17 12:25                   ` Marin David Condic
2003-07-17  1:48               ` Randy Brukardt
2003-07-17  2:06                 ` Hyman Rosen
2003-07-17  6:44                   ` tmoran
2003-07-17  7:59                     ` Hyman Rosen
2003-07-17 18:02                       ` tmoran
2003-07-19 16:51                     ` Richard Riehle
2003-07-20 10:38                       ` Marin David Condic
2003-07-22 20:29                     ` Simon Wright
2003-07-17  8:37                   ` tmoran
2003-07-17 14:10                     ` Larry Kilgallen
2003-07-17 18:02                       ` tmoran
2003-07-17 18:14                         ` Larry Kilgallen
2003-07-17 19:29                         ` Robert A Duff
2003-07-17 13:12                   ` Frank J. Lhota
2003-07-17 13:33                     ` Hyman Rosen
2003-07-17  4:29               ` John R. Strohm [this message]
2003-07-17  4:58                 ` Hyman Rosen
2003-07-17  6:44                   ` tmoran
2003-07-17  7:50                     ` Hyman Rosen
2003-07-17 18:02                       ` tmoran
2003-07-17 18:14                         ` Ed Falis
2003-07-17 18:35                           ` David C. Hoos
2003-07-17 19:13                             ` Ed Falis
2003-07-17 19:24                           ` Robert A Duff
2003-07-17 19:39                             ` Ed Falis
2003-07-17 20:20                               ` Robert A Duff
2003-07-17 20:31                                 ` Ed Falis
2003-07-17 19:40                           ` tmoran
2003-07-17 19:47                             ` Ed Falis
2003-07-17 21:23                               ` tmoran
2003-07-17 22:38                                 ` Ed Falis
2003-07-17  6:46                   ` Lutz Donnerhacke
2003-07-17  9:50                   ` Preben Randhol
2003-07-17 21:45                     ` Hyman Rosen
2003-07-18  1:22                       ` John R. Strohm
2003-07-18  3:15                         ` Hyman Rosen
2003-07-18  6:18                           ` John R. Strohm
2003-07-18 14:43                             ` Hyman Rosen
2003-07-19  5:25                               ` Robert I. Eachus
2003-07-20 14:42                                 ` Hyman Rosen
2003-07-20 18:46                                   ` Chad R. Meiners
2003-07-21 15:37                                     ` Hyman Rosen
2003-07-21 17:59                                       ` Chad R. Meiners
2003-07-20 23:06                                   ` Robert I. Eachus
2003-07-21 15:14                                     ` Hyman Rosen
2003-07-21 20:11                                       ` Robert I. Eachus
2003-07-22  2:19                                         ` Hyman Rosen
2003-07-22  4:54                                           ` John R. Strohm
2003-07-22  5:02                                           ` Robert I. Eachus
2003-07-22 11:53                                             ` Marin David Condic
2003-07-22 17:58                                             ` Randy Brukardt
2003-07-22 19:16                                             ` Hyman Rosen
2003-07-23  7:20                                               ` Vinzent Hoefler
2003-07-23 14:27                                                 ` Hyman Rosen
2003-07-23 15:08                                                   ` Vinzent Hoefler
2003-07-21 16:00                                     ` tmoran
2003-07-21 23:54                                       ` Robert I. Eachus
2003-07-18 11:31                           ` Larry Kilgallen
     [not found]                           ` <bf83qt$ju3@library2.airnews.netOrganization: LJK Software <lSNU7JdZau5p@eisner.encompasserve.org>
2003-07-18 14:43                             ` Robert I. Eachus
2003-07-18 11:28                         ` Larry Kilgallen
2003-07-16 23:14             ` Marin David Condic
2003-07-17  4:08               ` John R. Strohm
2003-07-17  9:42         ` Preben Randhol
2003-07-18 17:18           ` Robert I. Eachus
2003-07-18 17:42             ` Hyman Rosen
2003-07-15 21:59   ` Christopher Browne
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox