comp.lang.ada
 help / color / mirror / Atom feed
From: hbaker@netcom.com (Henry G. Baker)
Subject: Re: Modulus and Remainder operations (Was Re: Help with a bit of C code)
Date: Fri, 14 Oct 1994 15:39:09 GMT
Date: 1994-10-14T15:39:09+00:00	[thread overview]
Message-ID: <hbakerCxo659.H6w@netcom.com> (raw)
In-Reply-To: 37k951$153e@watnews1.watson.ibm.com

In article <37k951$153e@watnews1.watson.ibm.com> ncohen@watson.ibm.com writes:
>In article <hbakerCxL95y.8L3@netcom.com>, hbaker@netcom.com (Henry G. Baker)
>says of the bounded error that results from aliasing subprogram
>variables: 
>
>|>                     But this policy is still a crock, especially for
>|> Ada 'limited' types, because the definer of the type has lost control
>|> of the type.  The 'textbook' definitions of prototypical limited types
>|> such as 'bank accounts' are no longer safe in the presence of such
>|> equivocation.
>|>
>|> See "How to Steal from a Limited Private Account--Why Mode INOUT
>|> Parameters for Limited Types MUST be Passed by Reference".  Ada
>|> Letters XIII, 3 (May/June 1993), 91-95.  This paper is also in my ftp
>|> directory.
>
>Henry, you seem to be envisioning some sort of adversarial relationship
>between the writer of a limited private type and the client who uses the
>type.

In short, yes.  We'll never reach the nirvana of being able to
more-or-less painlessly put together large systems from smaller
components without some strong guarantees that clients of
encapsulations cannot screw up the objects exported by the
encapsulations.  The more of these 'contractual' issues that can be
put _into_ the language and type system so that they can be enforced,
the easier it will be to construct these systems by composition.

Static type systems and 'packages' were deemed important for precisely
these reasons.  However, Ada83 & Ada9X have heretofore refused to close
this loophole in the strong typing model.

>It's still a step forward from Ada 83, where the same rule violation is
>considered erroneous, which means in effect that the underlying abstract
>machine is broken and NOTHING is guaranteed.

I agree that it is a step forward, in much the same vein that a square
wheel is an improvement on a triangular one.  Still makes for one heck
of a bumpy ride, though.  :-)

      Henry Baker
      Read ftp.netcom.com:/pub/hbaker/README for info on ftp-able papers.




  reply	other threads:[~1994-10-14 15:39 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-09-27 14:40 Modulus and Remainder operations (Was Re: Help with a bit of C code) David A. Cobb
1994-09-28 13:56 ` Robert Dewar
1994-09-29  9:04   ` Christopher Costello
1994-09-29 14:34   ` Norman H. Cohen
     [not found]   ` <1994Oct7.225248.6208@nosc.mil>
     [not found]     ` <1994Oct10.084630.19894@sei.cmu.edu>
     [not found]       ` <37bof4$ljl@gnat.cs.nyu.edu>
     [not found]         ` <37cigq$6e0@felix.seas.gwu.edu>
1994-10-11 14:42           ` Norman H. Cohen
     [not found]     ` <hbakerCxFK2p.4wp@netcom.com>
     [not found]       ` <1994Oct11.161048.1058@nosc.mil>
1994-10-11 20:06         ` Norman H. Cohen
1994-10-13  1:51           ` Henry G. Baker
1994-10-13  8:27             ` Magnus Kempe
1994-10-13 12:30               ` Robert Dewar
1994-10-14 15:45               ` Henry G. Baker
1994-10-14 22:11                 ` Robert Dewar
1994-10-15 17:35                 ` Tucker Taft
1994-10-13 10:38             ` Tucker Taft
1994-10-13 21:34             ` Norman H. Cohen
1994-10-14 15:39               ` Henry G. Baker [this message]
1994-10-14 22:56                 ` David Weller
1994-10-16  1:25                   ` Henry G. Baker
1994-10-13 18:13           ` Charles H. Sampson
1994-10-13 16:56             ` Robert I. Eachus
1994-10-13 20:59             ` Robert Dewar
1994-10-13 23:44             ` Bob Duff
replies disabled

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