comp.lang.ada
 help / color / mirror / Atom feed
From: bobduff@world.std.com (Robert A Duff)
Subject: Re: Call by reference vs. call by value
Date: 1996/07/22
Date: 1996-07-22T00:00:00+00:00	[thread overview]
Message-ID: <Duy5ur.4Dt@world.std.com> (raw)
In-Reply-To: dewar.837995690@schonberg


In article <dewar.837995690@schonberg>, Robert Dewar <dewar@cs.nyu.edu> wrote:
>If you want to think more about this issue, worry about packed arrays
>too. Requiring call by reference would mean that ALL packed arrays have
>to be passed using general bit pointers, which would be unacceptably
>inefficient in the normal case where slices are not passed. Same
>thing for records, all records would have to be passed by bit address,
>just in case the record you are passing is a field in a rcord with a
>record rep clause.

Pascal solved this problem in a simple (but rather ugly) way: It's
illegal to pass a component of a packed array or record as a parameter.
The *programmer* must declare a temp variable, and make a copy.  And
Pascal doesn't have slices.

I suspect part of the reason for Ada's rules (which of course predate
the DS annex by a decade) is to avoid the ugliness of the Pascal rule.
Unfortunately, the Ada rule introduces an implementation dependence that
I find uncomfortable.

- Bob




  reply	other threads:[~1996-07-22  0:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-07-20  0:00 Call by reference vs. call by value Christopher Felaco
1996-07-20  0:00 ` James A. Krzyzanowski
1996-07-20  0:00   ` Robert Dewar
1996-07-20  0:00 ` Robert Dewar
1996-07-21  0:00   ` Robert A Duff
1996-07-21  0:00     ` Robert Dewar
1996-07-22  0:00       ` Robert A Duff [this message]
1996-07-23  0:00         ` Peter Amey
1996-07-23  0:00           ` Robert Dewar
1996-07-24  0:00             ` Robert A Duff
1996-07-23  0:00           ` Robert A Duff
1996-07-27  0:00             ` Peter Morris
1996-07-28  0:00               ` Robert A Duff
1996-07-24  0:00           ` Richard A. O'Keefe
1996-07-22  0:00   ` Karl Cooper {46901}
1996-07-22  0:00     ` Robert Dewar
1996-07-22  0:00   ` Felaco
1996-07-22  0:00     ` Robert A Duff
1996-07-30  0:00       ` Richard A. O'Keefe
1996-07-22  0:00     ` Robert Dewar
1996-07-30  0:00   ` Felaco
1996-07-31  0:00     ` Robert A Duff
1996-08-02  0:00     ` Robert Dewar
1996-08-03  0:00     ` JP Thornley
1996-08-05  0:00       ` Roderick Chapman
1996-07-21  0:00 ` Robert A Duff
1996-07-21  0:00   ` Robert Dewar
  -- strict thread matches above, loose matches on Subject: below --
1996-07-25  0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-07-26  0:00 ` Peter Amey
replies disabled

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