mfeldman@seas.gwu.edu (Michael Feldman) (06/15/90)
- We know that scalar types have lots of attributes, e.g. 'first and 'last - We know that array types have attributes 'first and 'last as well. In the case of the array type, if we have type Vector is array (1..50) of float V: Vector ; then Vector'First, Vector'Last, V'First, V'last are all permitted but given a scalar type, say type Little is range -10..10; L : Little; why are Little'First and Little'last defined, but not L'first and L'Last? This is one of those maddening little irregularities for which there is undoubtedly a rationale somewhere, but it's not obvious. Can someone comment authoritatively? Thanks! --------------------------------------------------------------------------- Prof. Michael Feldman Department of Electrical Engineering and Computer Science The George Washington University Washington, DC 20052 +1-202-994-5253 mfeldman@seas.gwu.edu ---------------------------------------------------------------------------
stt@inmet.inmet.com (06/16/90)
Re: Irregularities. Keep those cards and letters coming! We are listening, and do hope to iron out some of the simple irregularities in Ada9X. One thing to keep in mind, for Ada83 as well as Ada9x, is that designing a language (or revising it) is a mind-boggling effort, with an extraordinary number of big and little interactions to worry about. There always comes a time in the design process when you have to say enough is enough. Of course, the next day, some smart aleck comes up with a brilliant idea. So you try to squeeze it in under the standardization wire, and sure enough, the following year some other smart aleck points out that that great idea you smuggled under the wire is inconsistent with some other corner of the language. And ta-dah, you have an irregularity! So Ada9X will try to iron out Ada83's irregularities, and Ada200X will iron out those introduced by Ada9X. Programming languages, being the reflection and product of a human activity, are inevitably far from being jewels of perfection. The more important goal, of course, is utility and usability, and a few irregularities here and there don't usually destroy the usefulness (they just annoy the heck out of us purists!). S. Tucker Taft Intermetrics, Inc. Cambridge, MA 02138