<div>Hi,</div>
<div>   Can anyone explain how to turn the code from infix to Prefix. I want to include a let statement below. I not sure of how prefix  works.</div>
<div> </div>
<div>expr :: Parser Expr<br>expr = buildExpressionParser table factor<br>   &lt;?&gt; &quot;expression&quot;</div>
<div>table :: [[Operator Char st Expr]]<br>table = [[op &quot;*&quot; Mul AssocLeft, op &quot;/&quot; Div AssocLeft]<br>       ,[op &quot;+&quot; Add AssocLeft, op &quot;-&quot; Sub AssocLeft]<br>       ]<br> where<br>   op s f assoc<br>
      = Infix (do{ string s; return f}) assoc</div>
<div>factor :: Parser Expr<br>factor = do{ char &#39;(&#39;<br>          ; x &lt;- expr<br>          ; char &#39;)&#39;<br>          ; return x<br>          }<br>     &lt;|&gt; number<br>     &lt;?&gt; &quot;simple expression&quot;</div>

<div>number :: Parser Expr<br>number = do{ ds &lt;- many1 alphaNum<br>          ; return (Val $ read ds)<br>          }<br>     </div>
<div>John</div>