<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Unnamed entities (or is it structural equivalence?) can create troubles.<div class="">See yourself</div><div class=""><br class=""><div class=""><div class="">TYPE DotType = PROCEDURE (col, x, y: INTEGER);</div><div class="">VAR dot: DotType;</div><div class=""><br class=""></div><div class="">PROCEDURE myDot(x, y, col:: INTEGER); BEGIN END myDot;</div><div class=""><br class=""></div><div class="">dot := myDot; (* allowed in Oberon, structurally equivalent, but the formal parameters are totally scrambled *)</div><div class=""><br class=""></div><div class="">Here you see, how the unnamed formal parameters (or the structural equivalence) can generate a complete mess!</div><div class=""><div class="">The compiler should not only check the types of the formal parameters but their names as well.</div><div class="">Or: to be extremely consequent(!!) A PROCEDURE (especially those to be used as variables) should get a named TYPE. Something like</div><div class=""><br class=""></div><div class="">PROCEDURE myDot = DotType; (* totally new syntax *)</div></div><div class=""><br class=""></div><div class="">But this is too far off-topic.</div><div class=""><br class=""></div><div class="">Jörg</div><div><br class=""><blockquote type="cite" class=""><div class="">Am 08.10.2017 um 07:12 schrieb Andreas Pirklbauer <<a href="mailto:andreas_pirklbauer@yahoo.com" class="">andreas_pirklbauer@yahoo.com</a>>:</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=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">> On Sun Oct 8 02:26:53 CEST 2017 Chris Burrows wrote:</span></font><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">></span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">> If the programmer has chosen to use anonymous arrays it might well be reasonable to assume</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">> he is not concerned about name equivalence so why should he be inconvenienced but prohibiting</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">> assignments? Surely not just because it conflicts with somebody else's personal taste?</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">It all boils to the question of whether we view the text “ARRAY 10 OF INTEGER” in an anonymous array declaration as</span></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=""> a) a name in its own right</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""> b) a name with a parameter 10</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""> c) not a name (anonymous entity)</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">Different programmers will have different points of views on this.</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class=""><br class=""></span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">-AP</span></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><br class=""></div>--<br class=""><a href="mailto:Oberon@lists.inf.ethz.ch" class="">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br class=""><a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" class="">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br class=""></div></blockquote></div><br class=""></div></div></body></html>