<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Thank you for the reference. However, I could not see anything there that stated that extensions to the language extensions had been included. An immediate problem that jumps out at me is rule G4:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><em><span style='font-family:"Segoe UI","sans-serif";color:#24292E;background:white'>f</span></em><span style='font-family:"Segoe UI","sans-serif";color:#24292E;background:white'> is a parameter of type ARRAY <em><span style='font-family:"Segoe UI","sans-serif"'>m</span></em> OF BYTE and <em><span style='font-family:"Segoe UI","sans-serif"'>Ta</span></em> is any type with size <em><span style='font-family:"Segoe UI","sans-serif"'>n</span></em> = <em><span style='font-family:"Segoe UI","sans-serif"'>m</span></em> bytes.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Segoe UI","sans-serif";color:#24292E;background:white'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>That rule is *<b><i>not</i></b><i>*</i> part of the latest 2016 version of Oberon language definition (or any previous version AFAIR). You may have been misled by the fact that It is an undocumented feature that has been implemented in the RISC5 Oberon compiler. As I have stated here recently the RISC5 compiler should not be treated as if it were a language reference compiler.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Regards,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Chris Burrows<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>CFB Software<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><a href="https://www.astrobe.com">https://www.astrobe.com</a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> Luca Boasso [mailto:luke.boasso@gmail.com] <br><b>Sent:</b> Friday, 1 May 2020 3:37 PM<br><b>To:</b> chris@cfbsoftware.com; ETH Oberon and related systems<br><b>Subject:</b> Re: [Oberon] Type compatibility in Oberon<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>For an up to date and comprehensive list of type rules for Oberon-07 you can also refer to:  <a href="https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md" target="_blank">https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md</a><o:p></o:p></p><div><p class=MsoNormal>oberonc slightly generalizes the implied rules in Prof. Wirth latest source code.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Comments like "<a href="https://github.com/lboasso/oberonc/blob/master/src/OJP.Mod#L230">(* Type Rule F.1, F.2 *)</a>" clearly link the definition in the document with the actual implementation in the code, leaving little space for interpretation.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Thu, Apr 30, 2020, 15:32 Chris Burrows <<a href="mailto:chris@cfbsoftware.com" target="_blank">chris@cfbsoftware.com</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=MsoNormal>When I followed the link in the post below the item that really grabbed my<br>attention was the excellent document:<br><br>Type compatibility in Oberon<br><br><a href="https://www.miasap.se/obnc/type-compatibility.html" target="_blank">https://www.miasap.se/obnc/type-compatibility.html</a><br><br>It is apparent to me that a lot of thought has gone into the preparation of<br>this document. It would be very useful to any Oberon programmer who was<br>having difficulty understanding why his program would not compile due to a<br>type-compatibility issue.<br><br>I haven't used OBNC so can't say how well it conforms to these rules -<br>knowing August's great attention to detail I would expect it to be 'very<br>well'. While the Astrobe ARM compilers comply with the vast majority of<br>these rules there are one or two minor exceptions. These are described in<br>the accompanying documentation. You should also expect some very minor<br>relaxations of the rules (e.g. ARRAY OF BYTE parameters) when using the<br>Project Oberon RISC5 compiler. <br><br>Regards,<br>Chris Burrows<br>CFB Software<br><a href="https://www.astrobe.com" target="_blank">https://www.astrobe.com</a><br><br><br><br>> -----Original Message-----<br>> From: Oberon [mailto:<a href="mailto:oberon-bounces@lists.inf.ethz.ch" target="_blank">oberon-bounces@lists.inf.ethz.ch</a>] On Behalf Of<br>> August Karlstrom<br>> Sent: Friday, 1 May 2020 2:00 AM<br>> To: <a href="mailto:oberon@lists.inf.ethz.ch" target="_blank">oberon@lists.inf.ethz.ch</a><br>> Subject: Re: [Oberon] Interfacing with Foreign Systems<br>> <br>> On 2020-04-30 01:50, Skulski, Wojciech wrote:<br>> > Chris:<br>> ><br>> >    how about OOC and OO2C? Are they not in the same spirit?<br>> ><br>> > <a href="http://ooc.sourceforge.net/index.html" target="_blank">http://ooc.sourceforge.net/index.html</a><br>> <br>> OBNC is a better example. It targets the latest version of Oberon and is<br>> actively maintained.<br>> <br>> <a href="https://www.miasap.se/obnc/" target="_blank">https://www.miasap.se/obnc/</a><br>> <br>> <br>> -- August<br>> --<br>> <a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>> <a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br><br>--<br><a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br><a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><o:p></o:p></p></blockquote></div></div></div></body></html>