Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!csulb.edu!hammer.uoregon.edu!arclight.uoregon.edu!feed1.news.erols.com!news.ecn.uoknor.edu!munnari.OZ.AU!uunet!in3.uu.net!uucp1.uu.net!world!bobduff
From: bobduff@world.std.com (Robert A Duff)
Subject: Re: OO, C++, and something much better!
Message-ID: <E4t2wt.KFy@world.std.com>
Organization: The World Public Access UNIX, Brookline, MA
References: <JSA.97Jan16141937@alexandria> <32E4FC5B.242C@watson.ibm.com> <32E7DACB.423@jmpstart.com> <32EFB711.2781@hso.link.com>
Date: Thu, 30 Jan 1997 05:22:05 GMT
Lines: 15
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:244242 comp.lang.smalltalk:50401 comp.lang.eiffel:17967 comp.lang.ada:56820 comp.object:60561 comp.software-eng:53159

In article <32EFB711.2781@hso.link.com>,
Stanley R. Allen <s_allen@hso.link.com> wrote:
>Your specific complaint is really that Ada83 did not provide an
>automatic roll-over capability for integers as part of the language.
>If that's the kind of thing you want (a design question), you can
>achieve it in many statically-type languages; it can easily be done
>in Ada83 or Ada95 using a pacakge with a private type and overloaded
>operators.

But then you lose a lot.  You can't do case_statements on that type.
You can't declare subranges, and have them automatically checked at run
time.  Literals don't work.  You can't index arrays by that private
type.  You can't say "if X in 1..100 then...".

- Bob
