<html>  
<table width="100%" border=0>
<tr><td><img src="file:title.png"></td>
    <td align="right"><img src="file:cube.gif"></td>
</tr>
</table>
<hr width=100% height=2>
<BR>


<font face="Tahoma" color="black">
<U><B>List Sugar</B></U><BR>
The List Sugar replaces an expression such as:<br>
<font face="Courier New" color="#000080">
&nbsp;&nbsp;&nbsp;&nbsp;x := (<b>list</b> a b c nil);<br>
<font face="Tahoma" color="black">
With:<br>
<font face="Courier New" color="#000080">
&nbsp;&nbsp;&nbsp;&nbsp;x := <b>cons</b> a <b>cons</b> b <b>cons</b> c <b>cons</b> nil;<br>
<BR>
</font>




<hr width="100%" height="2">
<font face="Tahoma" color="black">
<BR>
<U><B>Else Sugar</B></U><BR>
The Else Sugar allows you to ommit the 'else' keyword in if commands; <BR>A command such as:<br>  
<font face="Courier New" color="#000080">
&nbsp;&nbsp;&nbsp;&nbsp;<b>if</b> <u>expr</u> <b>then</b><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u>Commands</u><BR>
<BR>
<font face="Tahoma" color="black">
Will compile into:<BR>
<font face="Courier New" color="#000080">
&nbsp;&nbsp;&nbsp;&nbsp;<b>if</b> <u>expr</u> <b>then</b><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u>Command</u><BR>
&nbsp;&nbsp;&nbsp;&nbsp;<b>else</b><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x := x  <BR>



<hr width="100%" height="2">
<font face="Tahoma" color="black">
<BR>
<U><B>Case Sugar</B></U><BR>
The Case Sugar is a Pattern Matching Command.<BR>
Syntax:<BR>
<font face="Courier New" color="#000080">
&nbsp;&nbsp;&nbsp;&nbsp;<b>case</b> <u>expr</u> <b>of</b><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u>Pattern(1)</u> <B>=></B> <u>Command(1)</u>;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u>Pattern(2)</u> <B>=></B> <u>Command(2)</u>;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u>Pattern(n)</u> <B>=></B> <u>Command(n)</u><BR>
<BR>
<font face="Tahoma" color="black">
The Execution of the Command is as follows:<ol face="Tahoma">
<li>Compute <u>expr</u> and save its value: <b>E</b>
<li>Scan Patterns(1..n) in the order they are written until finding the first pattern which the matches <b>E</b>
<li>Once <u>Pattern( i )</u> is found, assign all its variables with the right subtrees
<li>Execute <u>Command( i )</u>
</ol>







<hr width="100%" height="2">
<font face="Tahoma" color="black">
<BR>
<U><B>Booleans Sugar</B></U><BR>
The Booleans Sugar allows you to use the keywords: <font face="Courier New" color="#000080"><B>true</B> <font face="Tahoma" color="black">and</font> <font face="Courier New" color="#000080"><B>false</B><font face="Tahoma" color="black"> as boolean literals.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;

<font face="Courier New" color="#000080"><B>false</B     ></font> will compile into <font face="Courier New" color="#000080"><B>&nbsp;nil </B></font><BR>
&nbsp;&nbsp;&nbsp;&nbsp;
<font face="Courier New" color="#000080"><B>true&nbsp;</B></font> will compile into <font face="Courier New" color="#000080"><B>(nil)</B></font><BR>









</font>
</html>
