【发布时间】:2019-09-06 23:29:56
【问题描述】:
我正在做计算 let 表达式的练习题,但我不理解这个表达式的输出。
这是表达式:
let a = 2
b = 1:[i * 2 | i <- b]
f a = 1:[i * a | i <- (f a)]
in take (a+2) (f (head (tail b) ))
输出应该是 [1,2,4,8]。有人可以逐步解释为什么这是输出
【问题讨论】:
标签: haskell stream expression evaluation let