<html 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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=DE-CH link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Wojtek</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>«BY» is still in the language. It does not have to be 1. You can increment by 2, 3, 4, 12, 59 whatever, but it has to be constant. If it is a variable take WHILE.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Jörg</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Gesendet von <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> für Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>Von: </b><a href="mailto:skulski@pas.rochester.edu">Skulski, Wojciech</a><br><b>Gesendet: </b>Montag, 10. Dezember 2018 01:24<br><b>An: </b><a href="mailto:oberon@lists.inf.ethz.ch">ETH Oberon and related systems</a><br><b>Betreff: </b>Re: [Oberon] Oberon System 3 on WIndows: Why does the step sizein FOR-loop have to be a constant expression?</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Joerg:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Removing an increment "BY" from a FOR loop looks like a highly questionable optimization to me. I am not sure if the person who made this optimization wrote a lot of data processing code, or any at all. Stepping by an increment other than "1" is a common practice in data processing. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Wojtek</p><p class=MsoNormal>________________________________________</p><p class=MsoNormal>From: Oberon [oberon-bounces@lists.inf.ethz.ch] on behalf of Jörg Straube [joerg.straube@iaeth.ch]</p><p class=MsoNormal>Sent: Sunday, December 9, 2018 4:15 PM</p><p class=MsoNormal>To: ETH Oberon and related systems</p><p class=MsoNormal>Subject: Re: [Oberon] Oberon System 3 on WIndows: Why does the step size in     FOR-loop have to be a constant expression?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Use WHILE if step size is variable.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Jörg</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Am 09.12.2018 um 17:54 schrieb Dieter <d.gloetzel@web.de>:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> On page 273 of "Programming in Oberon" Wirth and Reiser write:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> FORStatement = "FOR" ident ":=" expression "TO" expression</p><p class=MsoNormal>>                              ["BY" ConstExpression "DO"]</p><p class=MsoNormal>>                               StatementSequence</p><p class=MsoNormal>>                              "END"</p><p class=MsoNormal>> And indeed when I try to put a variable as step size, the compiler doesn't like it.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> This means I cannot write reusable code, which allows to be executed under different conditions with different step sizes.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I am sure, there is some reasoning behind this, but I find it kind-off inconvenient.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Regards, Dieter</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> --</p><p class=MsoNormal>> Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems</p><p class=MsoNormal>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.inf.ethz.ch_mailman_listinfo_oberon&d=DwIGaQ&c=kbmfwr1Yojg42sGEpaQh5ofMHBeTl9EI2eaqQZhHbOU&r=uUiA_zLpwaGJIlq-_BM9w1wVOuyqPwHi3XzJRa-ybV0&m=-G2bXhw98iRu7ApZv0lM95cj2z2RIfyOYI0lIM_6CoQ&s=JWl3Y6-mrBhYQ2AxFHiCKyuGonRS9IhQi7tVh-gwExc&e=</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>--</p><p class=MsoNormal>Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems</p><p class=MsoNormal>https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.inf.ethz.ch_mailman_listinfo_oberon&d=DwIGaQ&c=kbmfwr1Yojg42sGEpaQh5ofMHBeTl9EI2eaqQZhHbOU&r=uUiA_zLpwaGJIlq-_BM9w1wVOuyqPwHi3XzJRa-ybV0&m=-G2bXhw98iRu7ApZv0lM95cj2z2RIfyOYI0lIM_6CoQ&s=JWl3Y6-mrBhYQ2AxFHiCKyuGonRS9IhQi7tVh-gwExc&e=</p><p class=MsoNormal>--</p><p class=MsoNormal>Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems</p><p class=MsoNormal>https://lists.inf.ethz.ch/mailman/listinfo/oberon</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>