基本菜鸟问题:
我有需要懒惰地评估的数据,最常见的方法是制作一个thunk
s; 我习惯这样做的方式是这样的:
fun someFunc () =
let
fun myThunk () = 2 + 2
in
(* body *)
end
但是标准 ML 的每个指南都告诉我它是这样完成的:
fun someFunc () =
let
val myThunk = fn () => 2 + 2
in
(* body *)
end
所以我的问题是:这真的重要吗?输出不一样吗?制作一个函数和将一个 lambda 绑定到一个值之间有什么区别?