【发布时间】:2014-06-11 07:58:39
【问题描述】:
我有这个 OCaml 函数:
fun f [x; y; z] -> (f x y), (f z);;
老师要我回答:这个函数的类型是什么。
但我不明白[x; y; z] 是什么意思?它是一个列表吗?我不这么认为,因为解决方案是
('a -> 'a-> 'b) -> 'a list -> b*('a->'b))
这意味着z 是不同的类型,我无法理解如何获得它。是向量吗?三个输入的序列?也不要这么认为,否则会是
fun f x y z -> (f x y), (f z);;
有人可以帮我吗?
【问题讨论】:
-
这是一个列表,因此 x、y 和 z 必须具有相同的类型。
标签: ocaml type-inference