F# 允许签名的“.NET”和“OCaml”格式。当您养成使用一种样式的习惯,然后发现无法正确格式化所需签名的情况时,这可能会令人困惑。考虑这段代码,它需要一个灵活的类型作为函数输入到 foo 的输出:
let foo n (bar: int -> #seq<'a>) =
(fun () -> Vector.ofSeq (bar n))
let foobar n = Array.ofSeq([1..n])
let x = foo 10 foobar
我不知道如何以 OCaml 格式表达 #seq<'a>。是否可以?