From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: Implicit Instantiations - was: Re: Why is Ada NOT a good choice for a beginner to programming?
Date: Tue, 14 Jan 2003 16:12:58 -0500
Date: 2003-01-14T16:12:58-05:00 [thread overview]
Message-ID: <1042578778.223719@master.nyc.kbcfp.com> (raw)
In-Reply-To: <3E23A88A.2C0969B0@adaworks.com>
Richard Riehle wrote:
> Implicit type conversions, along with implicit type promotions run
> counter to the Ada philosophy.
True, but irrelevant to the Unit C++ code, which does not involve
any implicit type conversions. (I should have declared my constructors
explicit, and special-cased Unit<Type,0,0,0> to allow an implicit
conversion from Type. But my example was just a rough outline.)
> C++ does not provide the same kind of capability for declaring new
> numeric types one has in Ada. This, in spite of the entertaining
> example from Mr. Rosen.
But it does have the capability for declaring new class types,
and that's what the Unit code uses.
> Typedef does not do the same thing. We are still left with predefined
> types.
I was typedefing class types, not numeric types. My typedefs were
just mnemonic shorthand for the full Unit<...> types.
> The whole idea of Ada is to declare types so they will be checked by
> the compiler and so mismatches will be caught. If there is a problem
> with that, in the current standard, it needs to be fixed, but implicit
> conversions or promotions is simply a bad idea for this language.
And that is precisely what the C++ code is doing. At compile time,
and with zero run-time size or space overhead, the compiler will
catch attempts to add or subtract mismatched units, or to assign
one unit type to a different one. Multiplication or division of
units automatically produces a correct result type, and you can
have arbitrarily complex expressions, all checked by the compiler.
There are absolutely no implicit conversions or promotions involved.
> Actually, I don't think there is really a problem here wrt Ada, even
> after reading your paper.
Except that you can't do this in Ada, and people want to.
next prev parent reply other threads:[~2003-01-14 21:12 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-13 6:05 Implicit Instantiations - was: Re: Why is Ada NOT a good choice for a beginner to programming? Grein, Christoph
2003-01-14 6:04 ` Richard Riehle
2003-01-14 20:25 ` Kevin Cline
2003-01-14 21:12 ` Hyman Rosen [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-01-14 6:29 Grein, Christoph
2003-01-15 4:35 ` Richard Riehle
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox