<div>Hi All,</div>
<div> </div>
<div>I&#39;m trying to work out how to show the steps in evaluating &quot;How the function is calculated&quot;. In other words I want this program to actually print out the steps. For e.g. eval (Multiply(Add(Val 10) (Val 20)) (Val 3)    Which is add 10+20 and multiply by 3 = 90</div>

<div> </div>
<div>The program then produces( Prints out) something like</div>
<div> </div>
<div>working: eval (Multiply(Add(Val 10) (Val 20)) (Val 3)  </div>
<div>working Add(Val10) (Val 20)</div>
<div>answer 1 Val 30</div>
<div>answer 2 Val 90</div>
<div> </div>
<div>This is what I have so far but it wont even do the calculations. Any help appreciated.</div>
<div> </div>
<div>data Expression = Val Float<br>                | Add Expression Expression<br>                | Subtract Expression Expression<br>                | Multiply Expression Expression<br>                | Divide Expression Expression<br>
         deriving Show</div>
<div>eval :: Expression -&gt; Float <br>eval (Val x) = x<br>eval (Add x y) = eval x + eval y<br>eval (Multiply x y) = eval x * eval y<br>eval (Subtract x y) = eval x - eval y<br>eval (Divide x y) = eval x / eval y</div>
<div> </div>
<div> </div>
<div> </div>
<div>John</div>