[Oberon] Case statements containing base type labels
August Karlstrom
fusionfile at gmail.com
Mon Aug 28 18:47:33 CEST 2023
On 2023-08-28 14:19, Paul Reed wrote:
> So I think the answer to the original question is that *in the reference
> implementation, not the report* it is well-defined, and the order does
> matter: it's a cascaded if...then...else of type tests;
>
> However that's perhaps against the original spirit of CASE, and what it
> *should* be in general is perhaps what Joerg said, the base type case is
> effectively ELSE, and might even preferably be implemented that way...
"NO, NO!
He should look only at the Oberon-Report. This is the definitive
document. But never the compiler! Oberon-Users do not have access to the
compiler source.
The very idea of a high-level language was that it must not be defined
with reference to a computer (or compiler), but be clearly defined as an
abstract machine, the language report. I am afraid that this notion got
lost over the past decades, where in case of doubt one does not analyze
the situation, but simply, due to interactive usage, try and try again.
Also, the "open source" is a terrible promoter of deserting this most
useful idea. Another consequence is that "everyone" creates his own
compiler (language?) version, compromising the very idea of a common
language serving communication.
Please do not consider my compiler as the definition of Oberon, and in
case of doubt read the Report. It is the privilege of a report to leave
certain constructs undefined. In this case a user should simply avoid
using the (undefined) feature."
(Words of wisdom from Niklaus Wirth)
https://lists.inf.ethz.ch/pipermail/oberon/2020/014095.html
/August
More information about the Oberon
mailing list