From: "Peter C. Chapin" <pchapin@sover.net>
Subject: Re: Typing in Ada
Date: Mon, 31 May 2004 20:03:05 GMT
Date: 2004-05-31T20:03:05+00:00 [thread overview]
Message-ID: <Xns94FAA347BFEA8pchapinsovernet@207.106.93.237> (raw)
In-Reply-To: mxJuc.18113$be.10152@newsread2.news.pas.earthlink.net
Jeffrey Carter <spam@spam.com> wrote in news:mxJuc.18113$be.10152
@newsread2.news.pas.earthlink.net:
> procedure Strongly_Typed is
> type I1 is new Integer;
> type I2 is new Integer;
> type I3 is range -100 .. 100;
[snip]
>
> int main () { /* I cannot call this Strongly_Typed */
> typedef int I1;
> typedef int I2;
> typedef short I3;
This isn't an entirely fair comparison because in C, typedef doesn't
introduce a new type it simply creates a new name for an existing type. In
Ada, it would be more similar to using a subtype, perhaps. Something like
subtype I1 is Integer;
In any event to create a new type in C you need to introduce a structure. In
fact, different structures do have different types:
typedef struct {
int x;
} A;
typedef struct {
int x;
} B;
int main()
{
A a;
B b;
a = b; // Error. A and B are different types.
...
I'm not sure if there is a formal definition of strong typing or not. I've
always thought that it had to do with the property of every expression and
variable having a well defined type. If so, that is as true of C as it is of
Ada (in some ways its even more true of C because in C literal numbers have
specific types... there is no "universal integer" type used, for example, for
integer literals). The real difference is that C does a bunch of automatic
type conversions and, furthermore, normally performs these conversions
without checking if the converted value will fit into the target type. I'm
not sure that's a strong typing issue, however.
Peter
next prev parent reply other threads:[~2004-05-31 20:03 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-31 13:32 Typing in Ada Empit
2004-05-31 14:04 ` Poul-Erik Andreasen
2004-05-31 17:01 ` Jeffrey Carter
2004-05-31 20:03 ` Peter C. Chapin [this message]
2004-05-31 22:56 ` tmoran
2004-06-01 1:09 ` Peter C. Chapin
2004-06-01 4:40 ` tmoran
2004-06-01 11:26 ` Peter C. Chapin
2004-06-10 3:01 ` Dave Thompson
2004-06-10 3:00 ` Dave Thompson
2004-05-31 23:22 ` Nick Roberts
2004-06-01 1:04 ` Peter C. Chapin
2004-06-01 2:29 ` Nick Roberts
2004-06-02 4:39 ` Robert I. Eachus
2004-06-02 15:17 ` Hyman Rosen
2004-06-01 2:36 ` Hyman Rosen
2004-06-01 4:27 ` Larry Kilgallen
2004-06-01 4:05 ` Hyman Rosen
[not found] ` <d4vnb0tepd4togdrvdrbqpok1ne6n9i2vp@4ax.com>
2004-06-01 14:36 ` Wes Groleau
2004-06-01 20:24 ` Niklas Holsti
2004-06-02 4:43 ` Wes Groleau
2004-06-02 5:28 ` Robert I. Eachus
2004-06-02 8:19 ` tmoran
2004-06-02 14:47 ` Wes Groleau
2004-06-02 11:26 ` Marin David Condic
2004-06-02 14:54 ` gratuitous restrictions (was:Typing in Ada) Wes Groleau
2004-06-02 5:04 ` Typing in Ada Robert I. Eachus
2004-06-01 2:14 ` David C. Hoos
2004-06-02 1:30 ` Jeffrey Carter
2004-06-02 10:53 ` Peter C. Chapin
2004-06-02 11:38 ` Marin David Condic
2004-06-17 2:50 ` Dave Thompson
2004-06-17 4:24 ` James Rogers
2004-06-17 12:28 ` Hyman Rosen
2004-06-17 23:42 ` James Rogers
2004-06-20 11:27 ` Nick Roberts
2004-06-20 23:29 ` new revision ada Brian May
2004-06-21 2:16 ` tmoran
2004-06-21 2:34 ` James Rogers
2004-06-22 2:16 ` Roland Illig
2004-06-22 3:41 ` James Rogers
2004-06-22 6:53 ` Martin Krischik
2004-06-21 23:33 ` Brian May
2004-06-22 20:26 ` Simon Wright
2004-06-23 0:50 ` Larry Elmore
2004-06-22 22:06 ` tmoran
2004-06-21 5:31 ` Wes Groleau
2004-06-21 12:27 ` new revision ada (limited with, excpetion handling) Nick Roberts
2004-06-21 13:04 ` Martin Dowie
2004-06-22 10:38 ` new revision ada Georg Bauhaus
2004-06-22 12:45 ` James Rogers
2004-06-22 15:17 ` Martin Krischik
2004-06-22 16:09 ` new revision ada (exception handling) Nick Roberts
2004-06-23 7:55 ` Pascal Obry
2004-06-23 8:40 ` Martin Krischik
2004-06-23 19:33 ` Randy Brukardt
2004-06-24 6:57 ` Martin Krischik
2004-06-24 21:13 ` Randy Brukardt
2004-06-25 8:05 ` Dmitry A. Kazakov
2004-06-25 17:28 ` Randy Brukardt
2004-06-23 4:31 ` new revision ada Brian May
2004-06-23 19:47 ` Randy Brukardt
2004-06-22 16:37 ` Georg Bauhaus
2004-06-26 14:57 ` Robert I. Eachus
2004-06-01 1:02 ` Typing in Ada Alexander E. Kopilovich
-- strict thread matches above, loose matches on Subject: below --
2004-06-01 2:11 David C. Hoos, Sr.
2004-06-01 2:13 David C. Hoos, Sr.
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox