<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=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@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";
        mso-fareast-language:EN-US;}
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-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.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-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I wonder what Professor Wirth’s views might be on this.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">From the book The School of Niklaus Wirth (>> The Art of Simplicity<<) ISBN 1-55860-723-4, the chapter by Michael Franz called Oberon – The Overlooked Jewel:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">“I still vividly remember the day that With decided to replace the elegant data structure used in the compiler’s symbol table handler by a mundane linear list. In the original compiler, the objects in the symbol table had been sorted in
 a tree data structure (in identifier lexical order) for fast access, with a separate linear list representing their declaration order. One day Wirth decided that there really weren’t enough objects in a typical scope to make the sorted tree cost-effective.
 All of us Ph.D. students were horrified: it had taken <i>time</i> to implement the sorted tree, the solution was
<i>elegant</i>, and it worked <i>well</i> – so why would one want to throw it away  and replace it with something
<i>simpler</i>, and even worse, something as prosaic as a linear list? But of course, Wirth was right, and the simplified compiler was both smaller and faster than its predecessor.”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The implementation using IF … THEN chains is simple. If the most common cases are positioned first in the chain then the execution time for these cases is minimised. The compiler will be simpler, the implementation of the ELSE (or an error)
 is simple to implement and the compiler will be simple and fast.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Looking through the body of Oberon code that we have what is the distribution of the number of cases? I realise we are talking about a new feature, but I still favour the simple solution, in keeping with the spirit of Oberon.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">John Stout<o:p></o:p></p>
</div>
<br>
<table class="MsoNormalTable" border="0" cellpadding="0" width="600" style="width:450.0pt;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 0cm 0cm 0cm">
<tbody>
<tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes">
<td width="120" style="width:90.0pt;padding:.75pt .75pt .75pt .75pt"><img width="120" height="88" src="http://apply.kgv.ac.uk/images/logo.gif" alt="King George V Logo">
</td>
<td style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:gray;mso-fareast-language:EN-GB"><b>John Stout</b><br>
Management Information Systems Coordinator <br>
Tel: 01704 530601<br>
E-Mail: JSS@kgv.ac.uk<br>
Web: www.kgv.ac.uk</span> </p>
</td>
</tr>
</tbody>
</table>
<br>
<table class="MsoNormalTable" border="0" cellpadding="0" width="600" style="width:450.0pt;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 0cm 0cm 0cm">
<tbody>
<tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes">
<td width="600;padding:.75pt" .75pt.75pt.75pt?="">
<p class="MsoNormal"><span style="font-size:8.0pt;font-family:"Tahoma",sans-serif;color:gray;mso-fareast-language:EN-GB">Information contained in this e-mail is intended for the use of the addressee only and is confidential.  Any dissemination, distribution,
 copying or use of this communication without prior permission of the addresseeis strictly prohibited.<br>
<br>
Every effort has been made to ensure that any attachment to this mail does not contain virus. King George V College has taken every reasonable precaution to minimise this risk, neither it nor the sender can accept liability for any damage which you sustain
 as a result of software viruses. You should carry outyour own virus checks before opening any attachments.<br>
<br>
</p>
<img width="236" height="35" src="http://apply.kgv.ac.uk/images/thinkprint.jpg" alt="Think Before You Print">
</span></td>
</tr>
</tbody>
</table>
</body>
</html>