comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Division by zero
Date: 28 Jun 2005 17:22:27 -0400
Date: 2005-06-28T17:22:27-04:00	[thread overview]
Message-ID: <wccy88ugorw.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: _pwre.7121$U4.1023104@news.xtra.co.nz

"Lurker" <nowhere@nothing.com> writes:

> "Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
> news:wccfyvm78k0.fsf@shell01.TheWorld.com...
> 
> > Now I have a variable Gizmos, and I want to print out the
> > numbers of Gizmos per Widget (when that's meaningful).
> > In *portable* code, I might want to write:
> >
> >     if Widgets = 0 then
> >         Put_Line("Unknown");
> >     else
> >         Put_Line(Image(Gizmos/Widgets));
> >     end if;
> >
> > If divide by zero were illegal at compile time, even in unreachable
> > code, the above would be annoying illegal on Unix.
> 
> Interesting example. I guess I'm taking it a bit on a tangent now
> but how does that square off with RM 11.6.5 which says in part:
> 
> ... The exception need be raised by the implementation only if, in the
> absence of raising it, the value of this undefined result would have some
> effect on the external interactions of the program ...
> 
> Yes, I know it's just an implementation permission and so doesn't define
> the language. Yet, the idea seems to be that if there is no possible
> observable
> effect then it's ok. Shouldn't the same logic apply in your example as well?

11.6(5) is all about run time effects.  If divide by zero were illegal
(which means at compile time), then 11.6 would not apply.  11.6 is also
(as you said) all about implementation permissions -- i.e. not
portable.  I would hope a legality rule in this area would be portable.

- Bob



  parent reply	other threads:[~2005-06-28 21:22 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-11 21:03 Division by zero Lurker
2005-06-12  2:00 ` David C. Hoos, Sr.
2005-06-12  3:04   ` Lurker
2005-06-12  8:39     ` Dmitry A. Kazakov
2005-06-12  9:43       ` Lurker
2005-06-12 10:36         ` Marius Amado Alves
2005-06-12 11:53         ` Dmitry A. Kazakov
2005-06-13  8:03         ` Ole-Hjalmar Kristensen
2005-06-12 13:10       ` Robert A Duff
2005-06-12 16:55         ` Jeffrey Carter
2005-06-13  3:22           ` Keith Thompson
2005-06-14  2:14             ` Jeffrey Carter
2005-06-13  8:47           ` Lurker
2005-06-14  2:19             ` Jeffrey Carter
2005-06-14  8:35               ` Keith Thompson
2005-06-13 12:19           ` Robert A Duff
2005-06-14  2:31             ` Jeffrey Carter
2005-06-14  8:21             ` Lurker
2005-06-14 20:22               ` Randy Brukardt
2005-06-28 21:22               ` Robert A Duff [this message]
2005-06-29  5:50                 ` Lurker
2005-06-29 13:27                   ` Robert A Duff
2005-06-29 13:54                     ` Dmitry A. Kazakov
2005-06-29 16:03                       ` Robert A Duff
2005-06-30  1:19                     ` Lurker
2005-06-30 11:16                       ` Stuart Palin
2005-06-29 13:50                   ` Dmitry A. Kazakov
2005-06-29 16:07                     ` Robert A Duff
2005-06-30  8:27                       ` Dmitry A. Kazakov
2005-06-29  9:20                 ` Lurker
2005-06-29  9:49                   ` Christoph Grein
2005-06-29 10:40                     ` Lurker
2005-06-29 11:04                       ` Jeff Creem
2005-06-29 12:28                         ` Martin Dowie
2005-06-29 13:40                   ` Robert A Duff
     [not found]     ` <5sana1pm436l6vboifijqblu0irf84afkr@4ax.com>
2005-06-12 17:38       ` Simon Wright
2005-06-12 12:21 ` Robert A Duff
2005-06-12 22:53 ` Georg Bauhaus
2005-06-13  8:34   ` Lurker
2005-06-13  8:54     ` Marius Amado Alves
2005-06-13 17:59       ` Simon Wright
replies disabled

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