给定下面的匿名函数,函数签名中的“<fun:clo@1>”是什么意思?

Given the anonymous function below, what does the "<fun:clo@1>" mean in the function signature?

在此 F# 匿名函数签名中,"fun:clo@1" 是什么意思?

(fun x-> x+2);;
val it : x:int -> int = <fun:clo@1>

我明白匿名函数在做什么,我也明白签名的其余部分,我四处寻找答案,但还没有弄清楚“”是什么意思?

这部分本质上是函数自动生成的名称。

fun 部分是因为它是一个函数。

如果 lambda 在另一个函数中,clo 在某些情况下将被替换为包含函数的版本。

@1是因为它是函数中的第一个lambda。

不过,所有这些实际上都是一个实现细节,可能会在不同版本之间发生变化