From: firth@sei.cmu.edu (Robert Firth)
Subject: Re: Grouping data from different modules together
Date: Mon, 1 Mar 1993 14:17:51 EST
Date: 1993-03-01T14:17:51-05:00 [thread overview]
Message-ID: <1993Mar1.141751.17670@sei.cmu.edu> (raw)
In-Reply-To: 1993Mar1.171045.17020@wdl.loral.com
In article <1993Mar1.171045.17020@wdl.loral.com> mab@wdl1.wdl.loral.com (Mark A Biggar) writes:
>There is a standard way to do this in all the above languages. It is called
>the record stucture. It is the standard way to group related data items
>together. This deos require that all the related data items be defined
>in the same file, but if they are related enough to be grouped together, then
>they are related enough to be defined together.
I'm sorry, but I don't believe that. Let me give a simple example from
the ugly past, which I'm quite prepared to believe applies also to the
ugly present.
The program was a transaction-processing executive, whose purpose was to
allow multiple "simultaneous" transactions, with different priorities, to
be processed by a single application. This was before the days of re-entrant
code, and of course you couldn't run an application end-to-end without
frequent pauses to poll for interrupts, acknowledge high-priority events,
and so on.
The application was therefore structured as a sequence of small serially
reusable procedures, and the executive, or "driver" had this basic structure
for i over fragment do
execute(fragment[i])
poll for anything urgent
end
The table of code fragments had to be linear in memory, and of course was
constructed by the linker. After all, when we were maintaining the
application - several hundred KLOC, a lotta code in those days - and we
changed a fragment, and it now ran for too long, we broke it in half, and
surely did *not* want to have to recompile the world after such a change.
It seems to me that this is close to the problem the original poster had,
and I for one don't think that fragment array is a global data structure
visible at the source language level. And no, I don't know of any modern
high-level language that lets you do this - certainly not Ada, which can't
even build a table of procedure addresses at all, global or otherwise.
next prev parent reply other threads:[~1993-03-01 19:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
1993-03-01 15:32 Grouping data from different modules together Andreas Hestermeyer
[not found] ` <1993Mar1.153634.4146@ibr.cs.tu-bs.de>
[not found] ` <1993Mar1.153053.2961@ibr.cs.tu-bs.de>
1993-03-01 17:10 ` Mark A Biggar
1993-03-01 19:17 ` Robert Firth [this message]
1993-03-02 16:05 ` throopw%sheol
[not found] ` <1993Mar2.073345.29349@ib <62368@aurs01.UUCP>
1993-03-04 8:07 ` Andreas Hestermeyer
1993-03-10 7:43 ` Richard A. O'Keefe
-- strict thread matches above, loose matches on Subject: below --
1993-03-02 7:33 agate!spool.mu.edu!caen!sol.ctr.columbia.edu!ira.uka.de!news.dfn.de!tubsi
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox