comp.lang.ada
 help / color / mirror / Atom feed
From: kanderso@mabillon.ICS.UCI.EDU (Kenneth Anderson)
Subject: Re: private types and recompilation
Date: 28 Jan 93 01:22:24 GMT	[thread overview]
Message-ID: <9301271722.aa25516@Paris.ics.uci.edu> (raw)

In comp.lang.ada you write:

>When Ada 83 was designed, why did the designers choose to put
>the details of private types in package specifications, rather than
>in package bodies (which is more in the spirit of information hiding, and
>better supports independent compilation).

I'm not sure, but I think because the compiler needs to know the size
of the types so that it can allocate space for parameters in the
subprograms that are defined in the spec.


>generic
>  type ATOM is private;
>package LIST_ADT is
>  type POSITION is private;
>  type LIST is private;
>  procedure CREATE(L: in out LIST);
>  procedure INSERT_AFTER(L: in out LIST; P: POSITION; A: ATOM);
>  ...

>private
>  type LIST;
>  type POSITION is access LIST;

You only need the previous two lines.  The declaration below can be
hidden in the body of the package.

>  type LIST is record
>    A: ATOM;
>    NEXT: POSITION;
>  end record;
>end LIST_ADT;


>-Dave Erickson

Ken
--
-------------------------------------------------------------------------------
-
Ken Anderson                           |  "I'd much rather live in perfection,
U.C. Irvine                            |   than deal with reality." -- Kenbod
-------------------------------------------------------------------------------
-
Happy! Happy! Happy! Joy! Joy! Joy!    |  Practice random kindness and
                         -- Stimpy     |  senseless acts of beauty.
                                       |  -- Anne Herbert
-------------------------------------------------------------------------------
-

             reply	other threads:[~1993-01-28  1:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-01-28  1:22 Kenneth Anderson [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-01-28 23:44 private types and recompilation Alex Blakemore
1993-01-28 18:08 Mark A Biggar
1993-01-28 15:58 Pat Rogers
1993-01-28 15:25 Tucker Taft
1993-01-28 14:13 David Emery
1993-01-28  8:07 Christian S. Collberg
1993-01-27 22:15 David Erickson
replies disabled

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