From: stt@houdini.camb.inmet.com (Tucker Taft)
Subject: Re: access_to_constant as subprogram paramater
Date: 1998/09/19
Date: 1998-09-19T00:00:00+00:00 [thread overview]
Message-ID: <EzJo6C.5EC.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: 6u0pmf$rvk$1@nnrp1.dejanews.com
nelson@blaze-net.com wrote:
: Why does the language disallow an access_to_constant as a parameter
: to a subprogram?
At the time of the design, we didn't have a compelling-enough
reason to include this capability. Personally, I was a little
concerned that using "access constant" for access-to-constant
parameters, but simply "access" (instead of "access all") for
access-to-variable parameters would also confuse people. In retrospect,
I wish we had included the access-to-constant parameters, but
it doesn't seem like a very big deal either way.
In any case, you can just use a named access-to-constant
type in many cases, or even simpler, a plain old "IN" parameter.
: For example:
: --
: -- Example illustrating desire to pass access_to_constant to a procedure.
: -- Refer to RM 3.10(12) and 6.1.
: --
: procedure Access_Parameter is
: PathName : aliased constant String := "/a/b/c.adb";
: -- Declared as constant in order to produce compilation error
: procedure Parse (Input : access String) is
: --
: -- Would like to declare this:
: -- procedure Parse (Input : access constant String) is
: -- as Parse never modifies the input string
: --
: begin
: null; -- Parse a pathname string into components
: end Parse;
: begin
: Parse(PathName'Access); -- line 22
: end Access_Parameter;
What's wrong with "Input : in String"? That seems by far the
simpler approach in a case like this, and no need to use that
gnarly "'Access" at all.
--
-Tucker Taft stt@inmet.com http://www.inmet.com/~stt/
Intermetrics, Inc. Burlington, MA USA
An AverStar Company
next prev parent reply other threads:[~1998-09-19 0:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-09-19 0:00 access_to_constant as subprogram paramater nelson
1998-09-19 0:00 ` David C. Hoos, Sr
1998-09-19 0:00 ` Tucker Taft [this message]
1998-09-20 0:00 ` dewarr
1998-09-19 0:00 ` dewarr
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox