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
-------------------------------------------------------------------------------
-
next 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