【发布时间】:2014-11-06 00:45:28
【问题描述】:
module type M = sig
type ('k, 'v) t
val foo : 'k -> ('k, 'v) t
end
module M : M = struct
type ('k, 'v) t = ('k * 'v) list
let foo k = []
end
在这个小例子中,为什么M.foo 123 会有一个弱多态类型(int, '_a) M.t)?
【问题讨论】:
标签: polymorphism ocaml value-restriction