最佳答案
我已经用 F # 做 dev 有一段时间了,我喜欢它。然而,我知道 F # 中不存在的一个流行词是高类型类型。我读过关于高级类型的材料,我想我理解他们的定义。我只是不知道它们为什么有用。有人能提供一些例子,说明高级类型在 Scala 或 Haskell 中使什么变得容易,需要在 F # 中进行变通吗?对于这些示例,如果没有更高类型的类型(或者 F # 中相反的类型) ,解决方案会是什么?也许我只是太习惯于围绕它工作,以至于我没有注意到这个特性的缺失。
(我认为)我得到,而不是 myList |> List.map f
或 myList |> Seq.map f |> Seq.toList
更高的类型允许你简单地写 myList |> map f
,它将返回一个 List
。这很好(假设它是正确的) ,但似乎有点小气?(这难道不能简单地通过允许函数重载来实现吗?)我通常转换成 Seq
反正,然后我可以转换成任何我想之后。再说一次,也许我只是太习惯于绕开它了。但是有没有更高类型的 真的可以在击键或类型安全方面为您节省时间的例子呢?