<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><span class="" style="font-family: monospace; white-space: pre-wrap;"><br class=""></span></div><div class=""><span class="" style="white-space: pre-wrap;"><font face="monospace" class=""> > My interpretation of what might have happened is this:
> In Oberon07 the numeric CASE had been dropped, but later</font></span></div><div class=""><span class="" style="white-space: pre-wrap;"><font face="monospace" class=""> > it has been reintroduced but the ELSE has been forgotten.</font></span></div><div class=""><span class="" style="white-space: pre-wrap;"><font face="monospace" class=""><br class=""></font></span></div><div class=""><span class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">That’s one possibility. A</span></font></span><span style="white-space: pre-wrap; font-family: monospace;" class="">nother possibility would be that</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">it was dropped but the </span><span style="font-family: monospace; white-space: pre-wrap;" class="">grammar was not fully restricted</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">to the </span><span style="white-space: pre-wrap; font-family: monospace;" class="">non-numerical case, i.e. only the ELSE was removed</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">but not the fact that that case expression can an integer.</span></div><div class=""><span class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></span></div><div class=""><span class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">Either way</span></font></span><span class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">, we now have a language </span></font></span><span class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">spec that </span></font></span><span class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">contains the</span></font></span></div><div class=""><span class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">numerical </span></font></span><span style="white-space: pre-wrap; font-family: monospace;" class="">case, but an </span><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">implementation that doesn’t.</span></font></div><div class=""><br class=""></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""> > To me, a numeric CASE without an ELSE is pointless.</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">Agreed. </span></font><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">It was the absence of the ELSE clause and the </span></font><span style="white-space: pre-wrap; font-family: monospace;" class="">fact</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">that the numeric </span><span style="font-family: monospace; white-space: pre-wrap;" class="">case hadn’t been implemented in PO2013</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">for </span><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">~5 </span></font><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">years now that caused </span></font><span style="white-space: pre-wrap; font-family: monospace;" class="">me to believe that the</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">intended </span><span style="white-space: pre-wrap; font-family: monospace;" class="">main use of the CASE statement </span><span style="white-space: pre-wrap; font-family: monospace;" class="">is </span><span style="font-family: monospace; white-space: pre-wrap;" class="">with records</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">and </span><span style="font-family: monospace; white-space: pre-wrap;" class="">pointer types (i.e. to check extension levels),</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">where </span><span style="font-family: monospace; white-space: pre-wrap;" class="">the ELSE </span><span style="white-space: pre-wrap; font-family: monospace;" class="">clause </span><span style="font-family: monospace; white-space: pre-wrap;" class="">is indeed not needed, since it</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">is implicit if the </span><span style="white-space: pre-wrap; font-family: monospace;" class="">base type </span><span style="white-space: pre-wrap; font-family: monospace;" class="">appears as the last case.</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class=""><br class=""></span></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""> > My conclusion so far is: If the numeric CASE is not</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""> > implemented but only specified, it should not be</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""> > taken literally.</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">Extensions levels are (internally) also numbers </span></font><span style="white-space: pre-wrap; font-family: monospace;" class="">of course ;-)</span></div></body></html>