comp.lang.ada
 help / color / mirror / Atom feed
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!"




  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