在
Scala中,我可以表达一个函数,每次引用它时都会对它进行评估:
def function = 1 + 2 + 3
或仅评估一次的val
val val1 = 1 + 2 + 3
即使我多次打电话.
当然,在Haskell中,我可以定义一个函数(当我调用它时,它会反复评估):
function = 1 + 2 + 3
我可以在Haskell中定义Scala的val模拟吗?
更新:问题不在于懒惰的评估.
UPDATE2:
function = 1 + 2 + 3 main = do print function print function print function