It is possible to evaulate this step-by-step:
Although this is a very simple example, all functions no matter how complex can be broken down in this way into their component parts and evaulated in a simple way. With a very large function this may take quite some time, and one of the major disadvantages of the hugs haskell interpreter is that you can not tell it to step through the evaluation. Debugging may involve a manual walkthrough of the code!