From: "Samuel T. Harris" <samuel_t_harris@Raytheon.com>
Subject: Re: HELP: renames and enum values
Date: 2000/04/13
Date: 2000-04-13T00:00:00+00:00 [thread overview]
Message-ID: <38F631AB.44CC06EB@Raytheon.com> (raw)
In-Reply-To: 38F5D6F9.5B8892F2@bton.ac.uk
John English wrote:
>
> Dale Stanbrough wrote:
> > All i was attempting to say is that
> >
> > type blah renames bleh;
> >
> > could be predicted to have the same semantics as a subtype
> > declaration (this would be the "other way" of performing
> > subtyping).
> >
> > I know what beginners think of, because I had 8 years of
> > teaching beginners. This is something that some of them
> > thought of (but not many because most of them were introduced
> > to subtypes long before renames!).
>
> What's even less obvious is the way to rename enumeration literals:
>
> function Enum_Literal return Enum_Type renames Other_Enum_Literal;
>
> Now, that *really* confuses them, and none of them would ever be
> able to guess it without being told!
>
Perhaps I am not "one of them" since I figured this out
quickly the first time I ran into this renaming problem
way back in my youth. I learned Ada 83 by reading the
reference manual long before I had a compiler to play
with. During my initial reading, I found it strange that
enumeration literals would be defined as parameterless
functions. A little introspection quickly revealed the
necessity of this semantic definition to allow the same
literal to be used in different enumeration type definitions.
When I later actually had a compiler to use and needed to
rename some enumeration literals, the function renames
was the first thing I thought of. I actually did not
expect the compiler to accept it, figuring the semantic
definition was just some standarized sugar but was
pleasantly surprise with the successful results.
--
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"
next prev parent reply other threads:[~2000-04-13 0:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <38ECE0EB.4BD4A53E@mindspring.com>
2000-04-07 0:00 ` HELP: renames and enum values Samuel T. Harris
2000-04-07 0:00 ` Al Johnston
2000-04-09 0:00 ` Robert Dewar
2000-04-09 0:00 ` dale
2000-04-09 0:00 ` Robert Dewar
2000-04-10 0:00 ` Dale Stanbrough
2000-04-13 0:00 ` John English
2000-04-13 0:00 ` Samuel T. Harris [this message]
2000-04-13 0:00 ` Ted Dennison
2000-04-13 0:00 ` Robert A Duff
2000-04-13 0:00 ` Samuel T. Harris
2000-04-13 0:00 ` Robert Dewar
2000-04-14 0:00 ` John English
2000-04-14 0:00 ` Tucker Taft
2000-04-10 0:00 ` Samuel T. Harris
2000-04-11 0:00 ` Al Johnston
2000-04-10 0:00 ` Samuel T. Harris
2000-04-11 0:00 ` Al Johnston
2000-04-11 0:00 ` Tucker Taft
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox