<div dir="ltr"><div>I'm on your side Wojtek, as a professor and a former student, I'm always praising Wirth's School but struggle with code, despite being Oberon, LoLa or Verilog in ETHZ repositories and followers.</div><div>Too many parts of the codes are full of idioms known to an already involved developer of the tools, but hard for outsiders and newbies.</div><div>I hope for they will follow the preached way.</div><div><br></div><div>Prof. Pablo Cayuela</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 18, 2020 at 1:26 PM Skulski, Wojciech <<a href="mailto:skulski@pas.rochester.edu">skulski@pas.rochester.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Joerg:<br>
<br>
  I am not questioning the code. I am questioning the coding practice: avoiding any comments and writing bit masks explicitly in hex. <br>
<br>
I have learned how to clearly code bit masks from Cypress EZ-SB Frameworks originally written by Anchor Chips. Translated to Oberon it would look like this: <br>
<br>
CONST Bit0 = 1; Bit1 = 2; Bit3 = 4; (* and so on, the same can be written in hex *)<br>
<br>
  mno := inst DIV Bit20 MOD Bit4; (*  inst DIV 100000H MOD 10H; *)<br>
<br>
So now we at least see which bit is being used without parsing hex in mind. The intent of DIV and MOD can be explained in a comment. All your explanations can be written in a comment. As a minimum, a reference to NW papers could be given, with the paper title and page. <br>
<br>
I have written references to NW papers in my SysDef.Mod. I am asking, why I could do in Rochester what has not been done in Zurich, where this whole School of NW supposedly originated?<br>
<br>
I do not want to present public speeches on the merits of NW programming. I only want to see it done, in order for the code to become clear rather than confusing.<br>
<br>
W<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" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</blockquote></div>