
Dear Haskell cafe members, I am somebody one could well call a bloody beginner but the elegance of functional programming and am therefore truly interested to learn more about Haskell. Now I have an assignment to write a parsing function to convert a string of a mathematical expression into a tree in UPN style to evaluate it afterwards. So my evaluating function looks like this: data Op = Plus|Minus|Times|Div|Fac deriving(Show,Eq) data OpTree = Term OpTree Op OpTree |Number Float |E deriving(Show,Eq) eval(Number z) = z eval(Term li op re) |op == Plus= (eval li) + (eval re) |op == Minus= (eval li) - (eval re) |op == Times= (eval li) * (eval re) |op == Div= (eval li) / (eval re) And I tried to write a parsing function but I got stuck in the very beginning. So far I wrote: --parsing parsing :: String->[OpTree] parsing (a:b:c:xs) t |isDigit b = ((parsing xs)) ((Term (read a) c (read b)):t) And the Hugs compiler gives me so many error messages, that I have no clue how to get rid of this mess. Could anybody give me a hint where my error is and whether I am right in the general direction. Thanks a lot for any kind of help, Max Hoffmann