Tony Whyman via fpc-pascal wrote:

Prospero Pascal was close to ISO Pascal (although I have lost my original copy of ISO Pascal) and I would guess that the above is copied from ISO Pascal.

You can find the ISO-7185 document on the internet, just search for 
"iso7185.pdf".

A less known aspect of the ISO-7185 Pascal case-statement is that it is an error if none of the case-conditions is met.

6.8 .3.5 Case-statements
The values denoted by the case-constants of the case-constant-lists of the 
case-list-elements of a
case-statement shall be distinct and of the same ordinal-type as the expression 
of the case-index
of the case-statement . On execution of the case-statement the case-index shall 
be evaluated . That
value shall then specify execution of the statement of the case-list-element 
closest-containing the
case-constant denoting that value . One of the case-constants shall be equal to 
the value of the
case-index upon entry to the case-statement ; otherwise, it shall be an error.

I find the idea of a "closest containing value" rather weird. For me, programming is strict logic, not finding something "closest".

Anyway, the innocent looking case-statement does have some interesting aspects.

As an aside, I much prefer OTHERWISE to ELSE given that it is much closer to natural language. The IF...THEN..ELSE 
construct probably dates back to Algol 60 and I wonder why it was proposed. In normal English use, "else" is 
not used in this way. It usually follows another word, such as "anyone else", "anything else", 
"or else".

You might say

"If I go to town then I will be out. Otherwise, I will stay at home". I would never replace "otherwise" with 
"else" in such a sentence. "Else" belongs in a statement such "Does anyone else have a view".

Interesting observation !

Regards,

Adriaan van Os

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to