I was trying to debug this simple function with recursion. Debuging and stepping works, but list variables (xs,ys,zs) are empty (_),

combinations' :: Int -> [a] -> [[a]] combinations' 0 _ = [ [] ] combinations' n xs = [ y:ys | y:zs <- tails xs, ys <- combinations' (n-1) zs]

I suspect it has to do with Haskell being lazy, but is there a way to see the current state of list variables in a breakpoint step (without changing the source, like with trace)?

Like

xs = [1,2,3] zs = [2,3] [3]...