comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@world.std.com>
Subject: Re: Library Level Question
Date: 1999/03/01
Date: 1999-03-01T00:00:00+00:00	[thread overview]
Message-ID: <wcczp5x9spt.fsf@world.std.com> (raw)
In-Reply-To: m3lnhztu9w.fsf@mheaney.ni.net

The explanation below is not quite right.  "Library level" means
anything whose lifetime is essentially forever -- ie it lasts until the
end of the whole program.  A variable (or anything else) can be nested
inside as many packages as you like, and it lasts "forever".  That's
library level.  OTOH, if it's nested inside a procedure, function, or
task, then it's not at library level -- its lifetime ends when the
containing procedure returns, or whatever.

I think "library level" was a poor choice of terms, because it makes
people think of "library unit", which isn't quite right.

Matthew Heaney <matthew_heaney@acm.org> writes:

> This just means that when you have a package, not declared in anything
> else, as in
> 
> package Book is
>   ...
> end Book;
> 
> that it is at library level.  Just like our book.
> 
> But if we have a package inside another, like this:
> 
> package Book is
> 
>   package Diagram is 
> 
>   ...
>   end Diagram;
> 
> ...
> end Book;
> 
> 
> then the inner package is _not_ at library level.  The diagram is in the
> book, not the library.
-- 
Change robert to bob to get my real email address.  Sorry.




  parent reply	other threads:[~1999-03-01  0:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-15  0:00 Library Level Question Steve Doiel
1999-02-15  0:00 ` David C. Hoos, Sr.
1999-02-15  0:00 ` Matthew Heaney
1999-02-15  0:00   ` Steve Doiel
1999-02-15  0:00     ` kirk
1999-02-16  0:00       ` Steve Doiel
1999-02-23  0:00         ` Tucker Taft
1999-03-01  0:00   ` Robert A Duff [this message]
1999-03-08  0:00     ` Matthew Heaney
replies disabled

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