comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@world.std.com>
Subject: Re: Pragma Inline and its Effects of Compilation Dependencies.
Date: 2000/03/24
Date: 2000-03-24T00:00:00+00:00	[thread overview]
Message-ID: <wccpuskjo3e.fsf@world.std.com> (raw)
In-Reply-To: 8bdo4e$bi5$1@nnrp1.deja.com

Robert Dewar <robert_dewar@my-deja.com> writes:

> The genesis of this idea was that Richard Stallman could not
> believe that a language where the meaning of the program
> depended on the order in which sources were compiled could
> even vaguely be acceptable :-).

And yet he seems perfectly happy with a language where the meaning of
the program depends on the order in which the object code is loaded into
the system -- Lisp.

I certainly agree that the source-based model is a good one, and I've
thought so since around 1984 or so.

There are really two aspects to the source-based model, as supported by
GNAT and the various compilers derived from the Intermetrics/AverStar
front end:

    1. The source is what matters.  If you change the source code,
       rebuilding tools notice.  Order of compilation doesn't matter.
       Compiling something twice produces the same result.  Etc.

    2. Symbol tables and whatnot are NOT stored in some sort of persistent
       data structure (disk files, or whatever), but are recomputed as
       needed.

These are somewhat independent design decisions.  That is, you could
have number 1, but as an optimization store symbol tables on disk, so
long as you make it a pure optimization (doesn't affect the semantics of
the source-based model).

Number 1 seems obviously Good to me.  I'm not so sure about number 2.
Clearly, not storing persistent data simplifies the compiler, which is a
good thing.  Especially since it won't *be* an optimization unless you go
to some trouble to make sure the data structures are reasonably small --
you can do a lot of compiling in the time it takes to read stuff from
the disk.

- Bob




  reply	other threads:[~2000-03-24  0:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-20  0:00 Pragma Inline and its Effects of Compilation Dependencies Ralph Corderoy
2000-03-21  0:00 ` Robert Dewar
2000-03-21  0:00   ` Paul Graham
2000-03-21  0:00     ` Gautier
2000-03-22  0:00       ` Robert Dewar
2000-03-22  0:00         ` Larry Kilgallen
2000-03-22  0:00           ` Robert Dewar
2000-03-22  0:00             ` Larry Kilgallen
2000-03-22  0:00           ` Ted Dennison
2000-03-22  0:00         ` Wes Groleau
2000-03-22  0:00           ` Robert A Duff
2000-03-22  0:00     ` Ken Garlington
2000-03-23  0:00   ` Ralph Corderoy
2000-03-23  0:00     ` Robert Dewar
2000-03-24  0:00       ` Robert A Duff [this message]
2000-03-21  0:00 ` Samuel T. Harris
2000-03-23  0:00   ` Ralph Corderoy
2000-03-24  0:00     ` Samuel T. Harris
2000-03-24  0:00       ` Robert Dewar
2000-03-22  0:00 ` Robert Dewar
2000-03-23  0:00   ` Ralph Corderoy
2000-03-23  0:00     ` Robert Dewar
replies disabled

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