Можно ли написать функцию Haskell, которая зависит от того, рассчитаны ли значения уже или являются thunks? Например. если lazyShow :: [Int] -> String
показывает thunks как ?
и вычисленные значения обычно, в GHCi мы увидим
> let nats = [0..]
> lazyShow nats
0 : ?
> nats !! 5
5
> lazyShow nats
0 : 1 : 2 : 3 : 4 : ?