<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="">EDIT: Except of course that in the case of the definition of “equal types” Ta and Tb are *open* array types.<div class=""><br class=""></div><div class=""><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 05 Oct 2017, at 10:58, Andreas Pirklbauer <<a href="mailto:andreas_pirklbauer@yahoo.com" class="">andreas_pirklbauer@yahoo.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><pre class="" style="background-color: rgb(255, 255, 255);"><span class="" style="white-space: pre-wrap;">> </span><span style="white-space: pre-wrap;" class="">On </span><span style="white-space: pre-wrap;" class="">Wed Oct 4 08:37:50 CEST 2017 </span><span style="white-space: pre-wrap;" class="">August Karlstrom</span><span style="white-space: pre-wrap;" class=""> wrote: </span></pre><pre class="" style="background-color: rgb(255, 255, 255);"><span style="white-space: pre-wrap;" class="">> 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.</span></pre><pre class="" style="background-color: rgb(255, 255, 255);"><span style="white-space: pre-wrap;" class=""><br class=""></span></pre><pre class="" style="background-color: rgb(255, 255, 255);"><span style="white-space: pre-wrap;" class="">These two sentences are actually part of the definition of “Equal types”:</span></pre><pre class="" style="background-color: rgb(255, 255, 255);"><span style="white-space: pre-wrap;" class=""><br class=""></span></pre><pre class="" style="background-color: rgb(255, 255, 255);"><span style="white-space: pre-wrap;" class="">Equal types</span></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">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.
</pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-AP</pre><div class=""><br class=""></div></div></div></blockquote></div><br class=""></div></div></body></html>