"Prof. A Olowofoyeku (The African Chief)" wrote:
... snip ...
I must confess that I still cannot understand why any of this is a "better" solution than leaving things the way they are. How does the above advance the situation over a simple "type foo=Integer (n)"?
Because, I believe, "type foo = minval .. maxval;" is absolutely pure standard Pascal. In general the standards allow the attribute PACKED to be added to any type (this is hazy) so I believe "type foo = packed minval .. maxval;" remains completely legal anywhere. The compiler is always free to ignore the packed attribute.
The preparatory step is to accept the 'packed' reserved word in such statements, and discard it.
At some time in the future it would also be possible to implement offset non-symettric ranges with this syntax. E.G. "packed -64 .. 191;" could indicate a one byte quantity, whose zero value is actually represented by 0x40 (in C nomenclature). Such a mechanism can also handle unsigned ranges. This is pure blue-skying.