1
foo x y = x*x + y

fat x y = let xx = x*x in xx + y

bar x = \y -> x*x + y

baz x = let xx = x*x in \y -> xx + y

foo' = foo 2

fat' = fat 2

bar' = bar 2

baz' = baz 2

重复调用foo', fat', bar', or会baz'导致不同的运行时性能吗?基本上,我对 GHC 如何保持价值以及何时放弃中间值很感兴趣。如果我用它替换,使用where子句会导致不同的结果let吗?

4

0 回答 0