comp.lang.ada
 help / color / mirror / Atom feed
From: daveb@geac.UUCP (David Collier-Brown)
Subject: Re: Writing upgradable data structures
Date: 10 Mar 88 14:03:07 GMT	[thread overview]
Date: Thu Mar 10 09:03:07 1988
Message-ID: <2431@geac.UUCP> (raw)
In-Reply-To: 2417@geac.UUCP

In article <2417@geac.UUCP> Barry Margolin <rutgers!think!barmar>
writes:
> While I was in the Multics group at Honeywell we did some
> investigation of implementing a Multics followon in Ada.  I thought
> the same thing regarding versioned structures, but I was convinced by
> some more experienced Ada people that we could do this using variant
> records.  When you upgrade the structure you add a new variant.  This
> does require recompiling users of the structure, but it doesn't force
> old, stable programs to be recoded unless they want to take advantage
> of the new structure's features.

   The thing that is hard in Ada[tm] was dealing with a structure
which was *later* than the one you expected. Normal Ada
scope/recompilation rules keep versioned structures in a linked
executable from getting out of date with respect to themselves (with
due care, of course), but don't deal well with a structure which is
sent to it from something external.
   Since this technique came from the ARPAnaut world, you might
guess that the data structures can be packets...

   My work-around is to make sure I pass pointers to things, and not
depend on the `size attribute (which is not exactly what I'd call
good practice... I wonder if its even ethical?).

 --dave c-b
-- 
 David Collier-Brown.                 {mnetor yunexus utgpu}!geac!daveb
 Geac Computers International Inc.,   |  Computer Science loses its
 350 Steelcase Road,Markham, Ontario, |  memory (if not its mind) 
 CANADA, L3R 1B3 (416) 475-0525 x3279 |  every 6 months.

      reply	other threads:[~1988-03-10 14:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2307@geac.UUCP>
     [not found] ` <2767@enea.se>
1988-03-08 13:39   ` Writing upgradable data structures David Collier-Brown
1988-03-10 14:03     ` David Collier-Brown [this message]
replies disabled

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