comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: Mutable parameter of a function (long ago was: Re: What   evil would happen?)
Date: Mon, 05 Jan 2004 11:19:19 -0500
Date: 2004-01-05T11:19:19-05:00	[thread overview]
Message-ID: <sdGdnfZQ3eIVE2SiRVn-tw@comcast.com> (raw)
In-Reply-To: <ds9ivv07np35qqqflj126pg406t4bmd2qh@4ax.com>

Dmitry A. Kazakov wrote:

> Error is a result of a decision. Though the reverse is not true. Not
> every decision results in an error.

I have to agree with Alexandre here.  A lot of effort went into making 
informed decisions on these topics.  Some were easy, and the unanimous 
concensus reflected that.  Others involved tradeoffs and required lots 
of debate and discussion.  Finally, a few issues were clearly about 
style, and there was no right or wrong involved.

I put the decision on function parameters in the last group, along with 
the decision (for Ada 9X) on changing the underscore rule for Ada 
identifiers.  Everyone understood the issues, and for the in out 
function parameters DEC Ada had a pragma that created "value returning 
procedures" as a workaround, so there was real experience with using an 
Ada version that allowed it.

The concensus was strongly in favor of retaining the Ada 83 rule.  This 
was at the Ada 9X meeting in Salem, MA, and at that meeting we took a 
final unanimous vote that everyone present (technically, every country 
represented) was comfortable with all the decisions reached there.

Personally I voted for in out parameters for functions.  But when that 
vote was over, I went and helped design a random number generator 
interface that passed the generator as an in parameter.  The issue had 
been discussed, everyone knew that the effect on the final standard 
would impact the RNG package, and that the vote for the status quo would 
continue to allow functions with side effects. (The option of "fixing" 
functions so that side effects were not allowed was considered, and 
dismissed quickly.  A different decision was made for functions in 
protected objects, which sometimes requires nesting of protected types.) 
  Everyone--including me--was comfortable with the result.

-- 
                                           Robert I. Eachus

"The war on terror is a different kind of war, waged capture by capture, 
cell by cell, and victory by victory. Our security is assured by our 
perseverance and by our sure belief in the success of liberty." -- 
George W. Bush




  reply	other threads:[~2004-01-05 16:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-02 17:55 Mutable parameter of a function (long ago was: Re: What evil would happen?) Alexandre E. Kopilovitch
2004-01-03  1:56 ` Robert I. Eachus
2004-01-03 11:18   ` Dmitry A. Kazakov
2004-01-04  0:58     ` Robert I. Eachus
2004-01-04 12:07       ` Dmitry A. Kazakov
2004-01-05  3:17         ` Alexandre E. Kopilovitch
2004-01-05  9:55           ` Dmitry A. Kazakov
2004-01-05 16:19             ` Robert I. Eachus [this message]
2004-01-06  3:04             ` Randy Brukardt
2004-01-06  9:32               ` Dmitry A. Kazakov
2004-01-06  3:01         ` Randy Brukardt
2004-01-06  9:26           ` Dmitry A. Kazakov
replies disabled

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