Am Donnerstag 24 Dezember 2009 21:31:34 schrieb michael rice:
> Can someone provide a simple example of tracing a function.
>
> Michael
Is
import Debug.Trace
infixl 0 `debug`
debug = flip trace
dfib :: Int -> Integer
dfib =
let fib 0 = 0
fib 1 = 1
fib n = dfib (n-2) + dfib (n-1) `debug` "eval fib " ++ show n
in (map fib [0 .. ] !!)
*MFib> dfib 12
eval fib 12
eval fib 10
eval fib 8
eval fib 6
eval fib 4
eval fib 2
eval fib 3
eval fib 5
eval fib 7
eval fib 9
eval fib 11
144
the kind of example you're looking for?