[Oberon] Clarifying type compatibility in Oberon-07
Andreas Pirklbauer
andreas_pirklbauer at yahoo.com
Thu Oct 5 11:01:29 CEST 2017
EDIT: Except of course that in the case of the definition of “equal types” Ta and Tb are *open* array types.
> On 05 Oct 2017, at 10:58, Andreas Pirklbauer <andreas_pirklbauer at yahoo.com> wrote:
>
> > On Wed Oct 4 08:37:50 CEST 2017 August Karlstrom wrote:
> > Oberon-2 has the following definition of *same type* in appendix A in
> > the language report:
> >
> > Two variables a and b with types Ta and Tb are of the same type if
> > 1. Ta and Tb are both denoted by the same type identifier, or
> > 2. Ta is declared to equal Tb in a type declaration of the form Ta = Tb, or
> > 3. a and b appear in the same identifier list in a variable, record
> > field, or formal parameter declaration and are not open arrays.
> >
> > As far as I understand, Oberon-07 uses structural equivalence for array
> > and procedure types so we must add two paragraphs to this list:
> >
> > 4. Ta and Tb are array types whose element types and lengths are the same, or
> > 5. Ta and Tb are procedure types whose formal parameter lists match.
>
> These two sentences are actually part of the definition of “Equal types”:
>
> Equal types
> Two types Ta and Tb are equal if
>
> 1. Ta and Tb are the same type, or
> 2. Ta and Tb are open array types with equal element types, or
> 3. Ta and Tb are procedure types whose formal parameter lists match.
>
> -AP
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20171005/c420bc80/attachment.html>
More information about the Oberon
mailing list