comp.lang.ada
 help / color / mirror / Atom feed
From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: What's wrong with C++?
Date: Thu, 17 Feb 2011 15:11:58 -0500
Date: 2011-02-17T15:11:58-05:00	[thread overview]
Message-ID: <4d5d8112$0$17330$882e7ee2@usenet-news.net> (raw)
In-Reply-To: <87vd0izba1.fsf@ludovic-brenta.org>

On 2/17/2011 2:55 PM, Ludovic Brenta wrote:
> Hyman Rosen<hyrosen@mail.com>  writes:
>> And what does it mean for something to be
>> "really an integer"?
>
> Simple: integers have arithmetic, enumeration values don't.

C and C++ enumerations don't have arithmetic.
They do convert automatically to integers, but
they don't automatically convert back.

>> Ada 'Pos and 'Val attributes certainly give the illusion that Ada
>> enumerators are integers too!
>
> If you mean to say that Ada provides features for unsafe programming,

Not at all, merely that it's easy within the language to
convert back and forth between enumerations and integers.
Nothing unsafe about it.

> Now try this and see your "illusion" shattered by reality:
> type E is (A, B, C);
> B : E := E'Val (E'Pos (A) + E'Pos (C)); -- Constraint_Error

What illusion? I certainly know that Ada checks and C doesn't!

Oh, and don't Ada implementers go insane because enumerations
are supposed to provide the illusion of being consecutive even
in the face of representation clauses which give them arbitrary
underlying values?

Also, I don't know if you did this intentionally or not, but
you redefine the name B as a variable when it is already an
enumeration literal. Do I recall correctly that this works
because enumeration literals are "really" functions returning
their value, and functions can be overloaded?



  reply	other threads:[~2011-02-17 20:11 UTC|newest]

Thread overview: 155+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-16 17:37 What's wrong with C++? KK6GM
2011-02-16 17:58 ` Hyman Rosen
2011-02-16 18:18   ` KK6GM
2011-02-16 20:25     ` Chris Moore
2011-02-20  4:47       ` Chuck
2011-02-20  4:45     ` Chuck
2011-02-16 19:35   ` Robert A Duff
2011-02-16 20:32     ` Hyman Rosen
2011-02-16 23:31     ` Georg Bauhaus
2011-02-16 20:03   ` Fritz Wuehler
2011-02-16 20:09     ` Hyman Rosen
2011-02-17 17:39     ` Paul Colin Gloster
2011-03-01 15:52       ` Martin Krischik
2011-02-16 23:27   ` Peter C. Chapin
2011-02-16 18:32 ` Pascal Obry
2011-02-16 19:09   ` Hyman Rosen
2011-02-16 19:36     ` KK6GM
2011-02-16 20:07       ` Hyman Rosen
2011-02-17 18:48         ` Yannick Duchêne (Hibou57)
2011-02-17 18:53           ` Ludovic Brenta
2011-02-17 19:14             ` Yannick Duchêne (Hibou57)
2011-02-17 19:38             ` Hyman Rosen
2011-02-17 19:55               ` Ludovic Brenta
2011-02-17 20:11                 ` Hyman Rosen [this message]
2011-02-17 20:51                   ` Ludovic Brenta
2011-02-17 21:03                     ` Hyman Rosen
2011-02-17 21:32                       ` Ludovic Brenta
2011-02-17 21:45                         ` Hyman Rosen
2011-02-17 21:07                 ` Jeffrey Carter
2011-02-17 20:32               ` Yannick Duchêne (Hibou57)
2011-02-17 20:37                 ` Hyman Rosen
2011-02-17 22:54               ` J-P. Rosen
2011-02-17 23:02                 ` Hyman Rosen
2011-02-17 23:03                 ` Hyman Rosen
2011-02-17 23:17                   ` J-P. Rosen
2011-02-17 23:27                     ` Hyman Rosen
2011-02-18  6:56                       ` J-P. Rosen
2011-02-18 19:58                       ` Edward Fish
2011-02-18 20:04                         ` Hyman Rosen
2011-02-18 20:10                           ` Edward Fish
2011-02-18 20:27                             ` Hyman Rosen
2011-02-18 22:00                               ` Edward Fish
2011-02-17 19:34           ` Hyman Rosen
2011-02-16 20:49   ` Nasser M. Abbasi
2011-02-16 21:12     ` Hyman Rosen
2011-02-16 23:07       ` J-P. Rosen
2011-02-16 23:23         ` Hyman Rosen
2011-02-17 20:51         ` Yannick Duchêne (Hibou57)
2011-02-17 20:57           ` Hyman Rosen
2011-02-16 23:35       ` Peter C. Chapin
2011-02-17  3:35         ` Shark8
2011-02-17 20:54           ` Yannick Duchêne (Hibou57)
2011-02-17 22:19             ` Shark8
2011-02-17 11:04         ` J-P. Rosen
2011-02-17 11:52           ` Georg Bauhaus
2011-02-17 14:30             ` J-P. Rosen
2011-02-17 16:29               ` Hyman Rosen
2011-02-17 17:32                 ` Peter C. Chapin
2011-02-18  6:54                   ` Chuck
2011-02-17 21:04                 ` Yannick Duchêne (Hibou57)
2011-02-18  7:02                   ` Chuck
2011-02-17 22:50                 ` J-P. Rosen
2011-02-17 23:00                   ` Hyman Rosen
2011-02-17 23:08                     ` J-P. Rosen
2011-02-19 15:24                     ` Marco
2011-02-19 16:39                       ` Frank J. Lhota
2011-02-19 19:51                         ` Nasser M. Abbasi
2011-02-19 22:36                           ` Anonymous
2011-02-19 22:45                             ` Nasser M. Abbasi
2011-02-20  0:55                               ` Nomen Nescio
2011-02-20  1:51                                 ` Nasser M. Abbasi
2011-02-20  9:49                                   ` Vinzent Hoefler
2011-02-18  7:07                   ` Chuck
2011-02-17 21:00             ` Yannick Duchêne (Hibou57)
2011-02-17 22:55               ` Georg Bauhaus
2011-02-18  3:09                 ` Yannick Duchêne (Hibou57)
2011-02-18  9:37                   ` Georg Bauhaus
2011-02-18 11:34             ` richard
2011-02-18 11:56               ` Georg Bauhaus
2011-02-18 13:26                 ` richard
2011-02-18 14:15                   ` Georg Bauhaus
2011-02-17 20:58           ` Yannick Duchêne (Hibou57)
2011-02-18  7:11             ` Chuck
2011-02-18 17:17               ` Paul Colin Gloster
2011-02-20  4:35                 ` Chuck
2011-02-18  7:16         ` Chuck
2011-02-18  7:27         ` Chuck
2011-02-18  7:28         ` Chuck
2011-02-17  3:41 ` Mike Sieweke
2011-02-17 13:31   ` Peter C. Chapin
2011-02-18  5:15     ` Mike Sieweke
2011-02-18  6:41       ` Chuck
2011-02-18  6:39     ` Chuck
2011-02-17 15:30   ` Hyman Rosen
2011-02-17 17:31     ` Martin
2011-02-17 19:12     ` Yannick Duchêne (Hibou57)
2011-02-17 18:51   ` Yannick Duchêne (Hibou57)
2011-02-18  6:45     ` Chuck
2011-02-18  6:38   ` Chuck
2011-02-17  8:31 ` Ludovic Brenta
2011-02-17  9:02   ` Dmitry A. Kazakov
2011-02-17 13:38     ` Peter C. Chapin
2011-02-17 16:12       ` Dmitry A. Kazakov
2011-02-17 16:25         ` Hyman Rosen
2011-02-17 17:46           ` Georg Bauhaus
2011-02-17 18:09             ` Hyman Rosen
2011-02-18  5:59               ` Chuck
2011-02-17 18:22           ` Dmitry A. Kazakov
2011-02-18  6:23           ` Chuck
2011-02-17 17:27         ` Peter C. Chapin
2011-02-17 18:46           ` Dmitry A. Kazakov
2011-02-18  6:15           ` Chuck
2011-02-18 13:37             ` Peter C. Chapin
2011-02-20  4:33               ` Chuck
2011-02-17 19:29         ` Yannick Duchêne (Hibou57)
2011-02-18  9:17           ` Dmitry A. Kazakov
2011-02-17 19:34         ` Yannick Duchêne (Hibou57)
2011-02-18  9:41           ` Dmitry A. Kazakov
2011-02-17 19:25       ` Yannick Duchêne (Hibou57)
2011-02-18  6:20       ` Chuck
2011-02-17 19:19     ` Yannick Duchêne (Hibou57)
2011-02-17 20:50       ` Georg Bauhaus
2011-02-17 21:08         ` Yannick Duchêne (Hibou57)
2011-02-18  0:13           ` Georg Bauhaus
2011-02-18  6:12         ` Chuck
2011-02-18  7:47           ` Yannick Duchêne (Hibou57)
2011-02-18  6:07     ` Chuck
2011-02-18 17:38       ` Paul Colin Gloster
2011-02-17 11:51 ` Ludovic Brenta
2011-02-17 20:47   ` Yannick Duchêne (Hibou57)
2011-02-20  4:41 ` Chuck
2011-02-20 10:28   ` Brian Drummond
2011-02-20 14:48   ` Britt Snodgrass
2011-10-04 20:51 ` Yannick Duchêne (Hibou57)
2011-10-04 21:00   ` Yannick Duchêne (Hibou57)
2011-10-05  1:53     ` Peter C. Chapin
2011-10-05  2:13       ` Yannick Duchêne (Hibou57)
2011-10-05  4:48         ` Jeffrey Carter
2011-10-05  6:21           ` Yannick Duchêne (Hibou57)
2011-10-05  6:39             ` Jeffrey Carter
2011-10-05  5:13         ` Niklas Holsti
2011-10-05  6:33           ` Yannick Duchêne (Hibou57)
2011-10-05  6:45             ` Jeffrey Carter
2011-10-08  1:36             ` Randy Brukardt
2011-10-08  8:39               ` Niklas Holsti
2011-10-08 23:11               ` Yannick Duchêne (Hibou57)
2011-10-06 13:19         ` Peter C. Chapin
2011-10-06 14:01           ` Hyman Rosen
2011-10-08  1:24       ` Randy Brukardt
2011-10-08 13:14         ` Peter C. Chapin
2011-10-08 17:49           ` Jeffrey Carter
2011-10-08 23:55           ` Yannick Duchêne (Hibou57)
2011-10-10 13:31             ` Paul Colin Gloster
2011-10-11  7:45               ` Yannick Duchêne (Hibou57)
2011-10-11  9:40                 ` SPARK and other provers (Was: Re: What's wrong with C++?) Phil Thornley
replies disabled

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