
Hi, As the subject says, I'd like to use the GHCI debugger to inspect the results of some functions. I tried to set ":break"-points on these functions and ":step" through them, but unless I use ":force" I never get to see the result of these functions. Is it possible to somehow break when the result is evaluated? Please find below a log of my attempts to debug a small example, where during debugging none of the "_result" values is ever known/shown. Maarten Faddegon -- $ cat bla1.hs blabla :: [Int] -> Int bla :: Int -> Int papperlap :: Int -> Int -> Int bla x = x+x papperlap y x = ((y *) . bla) x blabla xs = foldl papperlap 0 xs $ ghci bla1.hs GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. [1 of 1] Compiling Main ( bla1.hs, interpreted ) Ok, modules loaded: Main. *Main> :break blabla Breakpoint 0 activated at bla1.hs:7:1-36 *Main> :break papperlap Breakpoint 1 activated at bla1.hs:6:1-31 *Main> :break bla Breakpoint 2 activated at bla1.hs:5:1-19 *Main> blabla [1,2,3] Stopped at bla1.hs:7:1-36 _result :: Int = _ [bla1.hs:7:1-36] *Main> :step Stopped at bla1.hs:7:17-36 _result :: Int = _ xs :: [Int] = [1,2,3] [bla1.hs:7:17-36] *Main> :step Stopped at bla1.hs:6:1-31 _result :: Int = _ [bla1.hs:6:1-31] *Main> :step Stopped at bla1.hs:6:17-31 _result :: Int = _ x :: Int = 3 y :: Int = _ [bla1.hs:6:17-31] *Main> :step Stopped at bla1.hs:6:1-31 _result :: Int = _ [bla1.hs:6:1-31] *Main> :step Stopped at bla1.hs:6:17-31 _result :: Int = _ x :: Int = 2 y :: Int = _ [bla1.hs:6:17-31] *Main> :step Stopped at bla1.hs:6:1-31 _result :: Int = _ [bla1.hs:6:1-31] *Main> :step Stopped at bla1.hs:6:17-31 _result :: Int = _ x :: Int = 1 y :: Int = 0 [bla1.hs:6:17-31] *Main> :step Stopped at bla1.hs:5:1-19 _result :: Int = _ [bla1.hs:5:1-19] *Main> :step Stopped at bla1.hs:5:17-19 _result :: Int = _ x :: Int = 1 [bla1.hs:5:17-19] *Main> :step Stopped at bla1.hs:5:1-19 _result :: Int = _ [bla1.hs:5:1-19] *Main> :step Stopped at bla1.hs:5:17-19 _result :: Int = _ x :: Int = 2 [bla1.hs:5:17-19] *Main> :step Stopped at bla1.hs:5:1-19 _result :: Int = _ [bla1.hs:5:1-19] *Main> :step Stopped at bla1.hs:5:17-19 _result :: Int = _ x :: Int = 3 [bla1.hs:5:17-19] *Main> :step 0 *Main>