Re: Ada exception block does NOT work?
- From: "Frank J. Lhota" <NOSPAM.FrankLho@xxxxxxx>
- Date: Sat, 20 Aug 2005 18:47:58 -0400
"Robert A Duff" <bobduff@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:wccslx4gumc.fsf@xxxxxxxxxxxxxxxxxxxxxxx
> ...
> To me, "pointer" does not imply "a single machine address".
> To me, "pointer" means something that can point at things,
> and that includes fat pointers, pointers containing array
> dope, pointers represented as offsets instead of addresses,
> double indirections, &c.
Thats fine, but also understand that to many others, "pointer" does mean "a
single machine address". It certainly does not hurt to introduce a new term
to avoid potential misunderstandings.
> To me, "pointer" and "reference" are synonymous.
OK, but just be aware that in C++, "pointer" and "reference" are not
synonyms.
> And "address" or "machine address" can be used for the hardware-level
> concept.
>
> An index into an array can be used as a pointer to a particular
> array element.
So the number 3 can be thought of as a pointer into any array indexed by a
integer. An interesting concept, but this is certainly a non-standard use of
the term "pointer".
> Ada evolved from Pascal, and Pascal called them pointers.
> In Pascal, there was no requirement or implication that
> they must be a single machine address. There is no need
> for array dope in Pascal, but adding array dope doesn't seem
> like it requires renaming the whole concept.
For the record, I know of no Pascal compiler that implements a pointer as
anything other than a machine address.
>> As for Integer, you're quite right, but it's also quite natural to use
>> that name (or a shortened form of it) for such a subset. Such a usage is
>> quite common in computer languages; see FORTRAN (1955?) for an
>> example. What would be a better name for such a type?
>
> I'd use "Integer" for what Lisp calls "bignums" -- integers that can
> grow without bound (except of course you can run out of memory,
> but that's true of Strings and whatnot, too. I'd call the integer type
> that is based on the hardware (e.g. 32-bit integers) "Machine_Integer".
> And I wouldn't put it in a package called "Standard" and I wouldn't
> make it automatically visible everywhere.
>
> I think one ought to be allowed to say:
>
> type T is range 1..10**100;
>
> Portably.
Now that is an interesting concept. I am fond of divorcing the language from
platform constrains when practical. There are, however, some practical
concerns about this proposal. An Ada 'bignum' type would undoubtedly be a
controlled type, introducing more overhead than one would expect in a scalar
type.
--
"All things extant in this world,
Gods of Heaven, gods of Earth,
Let everything be as it should be;
Thus shall it be!"
- Magical chant from "Magical Shopping Arcade Abenobashi"
"Drizzle, Drazzle, Drozzle, Drome,
Time for the this one to come home!"
- Mr. Lizard from "Tutor Turtle"
.
- Follow-Ups:
- Re: Ada exception block does NOT work?
- From: Robert A Duff
- Re: Ada exception block does NOT work?
- References:
- Ada exception block does NOT work?
- From: bubble
- Re: Ada exception block does NOT work?
- From: Georg Bauhaus
- Re: Ada exception block does NOT work?
- From: bubble
- Re: Ada exception block does NOT work?
- From: Jeffrey R. Carter
- Re: Ada exception block does NOT work?
- From: Maciej Sobczak
- Re: Ada exception block does NOT work?
- From: Jeffrey R. Carter
- Re: Ada exception block does NOT work?
- From: Maciej Sobczak
- Re: Ada exception block does NOT work?
- From: Robert A Duff
- Re: Ada exception block does NOT work?
- From: Jeffrey R. Carter
- Re: Ada exception block does NOT work?
- From: Robert A Duff
- Re: Ada exception block does NOT work?
- From: Jeffrey R. Carter
- Re: Ada exception block does NOT work?
- From: Robert A Duff
- Ada exception block does NOT work?
- Prev by Date: Re: [OT]
- Next by Date: Re: [OT] TEST
- Previous by thread: Re: Ada exception block does NOT work?
- Next by thread: Re: Ada exception block does NOT work?
- Index(es):
Relevant Pages
|