comp.lang.ada
 help / color / mirror / Atom feed
From: "Samuel T. Harris" <sam_harris@hso.link.com>
Subject: Re: Package with initialization only
Date: 1999/07/21
Date: 1999-07-21T00:00:00+00:00	[thread overview]
Message-ID: <37964947.5C95E5D1@hso.link.com> (raw)
In-Reply-To: 7n57tf$60q$1@nnrp1.deja.com

Ted Dennison wrote:
> 
> In article <37961DD6.E56BD3E9@maths.unine.ch>,
>   Gautier <gautier.demontmollin@maths.unine.ch> wrote:
> > A small "aesthetic" problem: I have a package with initialization
> only;
> > thus I must add a dummy procedure to resolve the with/without body
> > ambiguity Ada95 doesn't accept. There is surely a more elegant
> formulation,
> 
> Well, perhaps it would be more pleasing if you renamed your dummy
> routine "Initialize" and moved all the initialization code into it. If
> you put it into the public part that would even allow others to
> reinitialize the variable.
> 

While I don't disagree with Ted's suggestion,
I do want to point out that many times the
"intialization" must be done only once, preferably
during elaboration. In such cases, I call the
procedure "elaborate" and call it in the package body.
I feel the name elaborate conveys the restriction
of single initialization

In my experience, a common need for an elaborate
procedure is a variable which is an array of access
to strings. The strings may change over time and I
don't want the entire package body recompiling because
of such changes. By using an "initialize" or "elaborate"
procedure, I can make it a separate unit thus
isolating the compilation impact. 

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Scientific and Technical Systems
"If you can make it, We can fake it!"




  reply	other threads:[~1999-07-21  0:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-07-21  0:00 Package with initialization only Gautier
1999-07-21  0:00 ` Robert A Duff
1999-07-21  0:00 ` Ted Dennison
1999-07-21  0:00   ` Samuel T. Harris [this message]
1999-07-21  0:00     ` David C. Hoos, Sr.
1999-07-22  0:00     ` David Kristola
1999-07-22  0:00       ` Marin David Condic
1999-07-22  0:00         ` laoxhai
1999-07-22  0:00       ` Samuel T. Harris
1999-07-22  0:00       ` Ted Dennison
1999-07-21  0:00 ` Martin C. Carlisle
1999-07-21  0:00 ` Gautier de Montmollin
1999-07-22  0:00 ` Robert I. Eachus
replies disabled

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