F# 解释';F表示法#

F# 解释';F表示法#,f#,F#,我正在学习F#,当我在Visual Studio中键入任何代码并在F#Interactive上运行它们时,它会显示如下内容 val foo : x:'a -> 'a 我想这意味着foo是一个函数,它接收一个类型的参数x,并返回一个与x类型相同的值 但是这是什么意思?许多函数在intellisense上也显示了这一点。单引号(”)表示该参数的类型是泛型的。它可以像您给出的示例那样进行推断,也可以显式应用 有关详细信息,请参见隐式泛型构造下。'a表示类型变量,换句话说,表示尚未确定(且不必确

我正在学习F#,当我在Visual Studio中键入任何代码并在F#Interactive上运行它们时,它会显示如下内容

val foo : x:'a -> 'a
我想这意味着
foo
是一个函数,它接收一个类型的参数
x
,并返回一个与x类型相同的值

但是这是什么意思?许多函数在intellisense上也显示了这一点。

单引号(
)表示该参数的类型是泛型的。它可以像您给出的示例那样进行推断,也可以显式应用


有关详细信息,请参见隐式泛型构造下。

'a
表示类型变量,换句话说,表示尚未确定(且不必确定)的类型


请注意,这不同于
a'
,后者是一个规则变量,其名称为两个字符:a和'。与C#等其他语言不同,单引号是F#变量名称中允许的字符,但作为名称中消除上述类型变量歧义的第一个字符除外。

这正是我在搜索“F#中的单引号含义”时所寻找的。
a'
符号在哪里有用?