From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Library Level Question
Date: 1999/03/08
Date: 1999-03-08T00:00:00+00:00 [thread overview]
Message-ID: <m3zp5o1gli.fsf@mheaney.ni.net> (raw)
In-Reply-To: wcczp5x9spt.fsf@world.std.com
Robert A Duff <bobduff@world.std.com> writes:
> 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.
After I posted that response, I regretted it, because I knew it wasn't
right.
I was thinking of a few years back when I was using the VMS Ada
compiler. They had a restriction about the location of procedures that
could be exported: they had to be at "library level" (DEC's term).
What that meant to them was that this was legal:
package P is
procedure Op (O : T);
pragma Export (Op);
end P;
But this was illegal:
package P is
package Nested is
procedure Op (O : T);
pragma Export (Op);
end Nested;
end P;
Ada95 has finally solved these problems; I just need to get my terms
straight.
next prev parent reply other threads:[~1999-03-08 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 ` 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
1999-03-08 0:00 ` Matthew Heaney [this message]
1999-02-15 0:00 ` David C. Hoos, Sr.
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox