comp.lang.ada
 help / color / mirror / Atom feed
From: eberard@ajpo.sei.cmu.edu (Edward Berard)
Subject: Re: Record rep specs for private components
Date: 18 Jun 89 14:30:51 GMT	[thread overview]
Message-ID: <523@ajpo.sei.cmu.edu> (raw)

I have a problem with the following:

>   package a is
>      type aa is private;
>   private
>      type aa is range 0..1000;
>   end a;
>
>   with a;
>   package b is
>      type bb is record
>         bbb : a.aa;
>      end record;
>      for bb use record
>        at mod 2;
>        bbb at 0 range 0..15;       --Legal?
>      end record;
>      x : bb;
>   end b;

If type a.aa is private, then its underlying implementation should be
unknown outside of package a. This means that it should be impossible
for another program unit to specify how much space an instance of this
type should take up. [Of course, package a could supply operations
which could provide alternative representations of known sizes, and
these could be used in other program units.]

In short, if the rep spec is legal Ada, it should not be, and should
be fixed in Ada 9X.

				-- Ed Berard
				   (301) 353-9652

             reply	other threads:[~1989-06-18 14:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1989-06-18 14:30 Edward Berard [this message]
1989-06-20 13:06 ` Record rep specs for private components Joe Orost
1989-06-23 19:57   ` Goodenough
1989-06-24 16:30     ` Edward Berard
  -- strict thread matches above, loose matches on Subject: below --
1989-06-10  0:16 Joe Orost
1989-06-17 16:43 ` Joe Orost
replies disabled

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