Thank you all for the quick and informative replies - I&#39;ll read up on fexprs.<div><br></div><div>Matthias said: &lt;snip&gt;<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "> When you think about macros as syntax </span><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">and when you realize that syntax no longer exists at run-time &lt;snip&gt;</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">I like lisp because it is almost free of syntax. If you think of it as a data format that can be used to define functions you see that there is no syntax - and if &#39;if&#39; can apply at run-time, there&#39;s no reason not to</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">(define (one-two f x)</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">  (f x 1 2))</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">(one-two + 3) ==&gt; 6</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">(one-two if #t) ==&gt; 1</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br></span></div>