> I would like an answer to the following as to why it wasn't considered
> for
> addition to the Ada standard:

User-defined attributes were considered.

> Why didn't user-defined attribute functions (not 'Read and 'Write) get
> incorporated into the standard.

Because the benefit seemed insufficient to justify the additional
complexity.

Feel free to instantiate the above answer whenever the above
question comes up.

If you want to delve into the history of the Ada 9X design process,
you will find that the design team came up with a very large number
of "interesting" ideas.  However, part of the process was developing
a consensus among the reviewers, and ultimately, we had to limit the
scope of the revision to something manageable by compiler implementors
in finite time with finite resources.

And even if implementability were not an issue, we had to deal
with the overall language complexity issue.  Sometimes adding
a new feature can actually simplify the language, by making it more
orthogonal.  Other times, a new feature adds to the overall
complexity of the language, without adding sufficient extra
capability.  When comparing complexity and power, it might be wise
to thing of complexity as having a larger "exponent" than capability
in the weighting.  A new capability only helps those who use it.
Added complexity can adversely affect all users.

> Example:
>   type An_Integer is range 0 .. 100;
>   function An_Integer'New_Stuff (A : in Integer) return An_Integer;
>
> Usage:
>   A : An_Integer;
>   B : An_Integer := An_Integer'New_Stuff (A);
>
> Well you get the gist.....
> --
> Chris Sparks

-Tucker Taft  [log in to unmask]