comp.lang.ada
 help / color / mirror / Atom feed
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.



  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