From: Robert A Duff <bobduff@world.std.com>
Subject: Re: OS Bindings (was: Where is the elusive jump command?)
Date: 2000/04/12
Date: 2000-04-12T00:00:00+00:00 [thread overview]
Message-ID: <wccbt3fayqe.fsf@world.std.com> (raw)
In-Reply-To: 8d2dq9$2le$1@nnrp1.deja.com
Robert Dewar <robert_dewar@my-deja.com> writes:
> In article <wccg0srbbc4.fsf@world.std.com>,
> Robert A Duff <bobduff@world.std.com> wrote:
> > If I made the rules, there would be no Max_Int.
>
> That may be OK, multiple precision integers can be useful,
> so long as you do not go berserk and require that I be
> able to use them for case indexes, subscripts, entryu
> family indexes, loop variables, etc.
>
> It is this kind of silly requirement that caused many Ada
> compilers not to even support 64-bit integers when they
> could have done so easily.
I agree about subscripts and entry families, but I don't see the problem
with case statements. Loops? I dunno.
I make the distinction because arrays are limited by address space;
there's not much point in an array (2**99..2**99+1). But there could
well be a point in calculating numbers like 2**99 or 2**999. And
there's nothing wrong with a case statement on such a type.
> The Ada 83 attitude was
>
> "if you implement 64-bit integer arithmetic, you MUST allow
> all the above silly things, but it is absolutely FINE to not
> implement 64-bit integer arithmetic at all."
>
> I am not sure whether we fixed this properly in Ada 95.
Well, the RM allows some sort of non-standard integer types,
which the implementation can arbitrarily restrict.
Eg, you could have a 128-bit integer type that allows "+"
and "-" but not "*" and "/". You can't pass these weird types,
if they exist, as generic parameters.
> In the case of GNAT, we allow 64-bit integer arithmetic
> everywhere, and it would be very easy to allow larger
> arithmetic, provided it is clear we do not have to allow
> it in silly contexts.
I think that is clear. I'm too lazy to look up the RM reference. I do
remember that William Whitaker griped about this allowance rather
strongly, which surprised me, because it seemed to me silly to say (to a
compiler writer) you don't have to support X, but if you do support X,
you have to *fully* support it. That's a bit different than saying, "if
you support X, you have to support it in a standard way", which is
something I have sometimes argued *for*. I admit that I can't formally
define the difference between "incomplete support" and "different
support" -- but I know it when I see it ;-).
- Bob
next prev parent reply other threads:[~2000-04-12 0:00 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-03-21 0:00 Where is the elusive jump command? dis90072
2000-03-21 0:00 ` Stanley R. Allen
2000-03-21 0:00 ` Nicolas Brunot
2000-03-21 0:00 ` Nicolas Brunot
2000-03-27 0:00 ` Robert A Duff
2000-03-28 0:00 ` Dale Stanbrough
2000-03-28 0:00 ` Ken Garlington
2000-03-28 0:00 ` Robert Dewar
2000-03-28 0:00 ` Ken Garlington
2000-03-28 0:00 ` Marin D. Condic
2000-03-28 0:00 ` Robert Dewar
2000-03-29 0:00 ` Marin D. Condic
2000-03-29 0:00 ` Gary Scott
2000-03-29 0:00 ` Robert Dewar
2000-03-30 0:00 ` Gary Scott
2000-03-30 0:00 ` Gautier
2000-03-30 0:00 ` Gary Scott
2000-03-30 0:00 ` David Starner
2000-03-30 0:00 ` William B. Clodius
2000-03-30 0:00 ` Gautier
2000-03-30 0:00 ` David Starner
2000-03-30 0:00 ` Marin D. Condic
2000-03-30 0:00 ` Dan Nagle
2000-03-30 0:00 ` David Starner
2000-03-30 0:00 ` Samuel T. Harris
2000-03-31 0:00 ` Gisle S�lensminde
2000-03-30 0:00 ` Larry Kilgallen
2000-03-30 0:00 ` Gary Scott
2000-03-31 0:00 ` Tarjei T. Jensen
2000-03-31 0:00 ` Larry Kilgallen
2000-03-31 0:00 ` Gary Scott
2000-03-30 0:00 ` Samuel T. Harris
2000-03-31 0:00 ` Gautier
2000-03-31 0:00 ` Tarjei T. Jensen
2000-04-12 0:00 ` Robert A Duff
2000-04-12 0:00 ` Stanley R. Allen
2000-04-12 0:00 ` Samuel T. Harris
2000-04-13 0:00 ` Stanley R. Allen
2000-04-14 0:00 ` Samuel T. Harris
2000-04-14 0:00 ` BASIC->Ada, was " tmoran
2000-04-15 0:00 ` Robert Dewar
2000-04-15 0:00 ` Robert Dewar
2000-04-13 0:00 ` Tarjei T. Jensen
2000-03-31 0:00 ` Gisle S�lensminde
2000-03-30 0:00 ` Alfred Hilscher
2000-03-29 0:00 ` Richard D Riehle
2000-03-29 0:00 ` Robert Dewar
2000-03-30 0:00 ` Richard D Riehle
2000-04-01 0:00 ` Robert A Duff
2000-04-02 0:00 ` Robert Dewar
2000-04-02 0:00 ` Richard D Riehle
2000-04-02 0:00 ` Robert Dewar
2000-04-02 0:00 ` Robert Dewar
2000-03-30 0:00 ` Alfred Hilscher
2000-04-01 0:00 ` Robert Dewar
2000-04-04 0:00 ` Alfred Hilscher
2000-04-05 0:00 ` Ole-Hjalmar Kristensen
2000-04-05 0:00 ` Larry Kilgallen
2000-04-06 0:00 ` Ole-Hjalmar Kristensen
2000-04-06 0:00 ` OS Bindings (was: Where is the elusive jump command?) Larry Kilgallen
2000-04-06 0:00 ` Ole-Hjalmar Kristensen
[not found] ` <eisner comp.lang.ada:53670>
2000-04-06 0:00 ` Larry Kilgallen
2000-04-06 0:00 ` Robert Dewar
2000-04-08 0:00 ` nickerson
2000-04-09 0:00 ` Robert Dewar
2000-04-06 0:00 ` Robert Dewar
2000-04-07 0:00 ` Tarjei T. Jensen
2000-04-09 0:00 ` Robert Dewar
2000-04-10 0:00 ` Tarjei T. Jensen
2000-04-12 0:00 ` Robert Dewar
2000-04-12 0:00 ` Tarjei T. Jensen
2000-04-12 0:00 ` Robert Dewar
2000-04-13 0:00 ` Tarjei T. Jensen
2000-04-15 0:00 ` Robert Dewar
2000-04-15 0:00 ` Tarjei T. Jensen
2000-04-12 0:00 ` Robert A Duff
2000-04-12 0:00 ` Tarjei T. Jensen
2000-04-12 0:00 ` Robert Dewar
2000-04-12 0:00 ` Robert Dewar
2000-04-12 0:00 ` Robert A Duff
2000-04-12 0:00 ` Florian Weimer
2000-04-12 0:00 ` Robert Dewar
2000-04-12 0:00 ` Robert A Duff [this message]
2000-04-15 0:00 ` Robert Dewar
2000-04-15 0:00 ` Robert Dewar
2000-04-15 0:00 ` Gisle S�lensminde
2000-04-13 0:00 ` Tarjei T. Jensen
2000-04-13 0:00 ` Gisle S�lensminde
2000-04-13 0:00 ` Tarjei T. Jensen
2000-04-13 0:00 ` Robert A Duff
2000-04-18 0:00 ` Tarjei T. Jensen
2000-04-15 0:00 ` Robert Dewar
2000-04-15 0:00 ` Tarjei T. Jensen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox