【发布时间】:2013-11-22 08:23:50
【问题描述】:
是否可以编写一个 Haskell 函数,该函数取决于值是已经计算出来还是 thunk?例如。如果 lazyShow :: [Int] -> String 将 thunk 显示为 ? 并正常计算值,在 GHCi 中我们会看到
> let nats = [0..]
> lazyShow nats
0 : ?
> nats !! 5
5
> lazyShow nats
0 : 1 : 2 : 3 : 4 : ?
【问题讨论】: