0
我有一个函数:柯里函数取消OCaml中的多态性?
let rec loop size elem =
if size <= 0 then []
else elem::(loop (size - 1) elem);;
如果我在UTOP键入我预计类型int -> 'a -> 'a list = <fun>
,但是如果我做一个功能let loop_3 = loop 3
的loop_3
类型变得'_a -> '_a list = <fun>
。关于我的主要区别在于它将函数从多态函数(输入为'a
)更改为弱多态函数(输入类型为'_a
)。这是为什么发生?有什么办法可以解决这个问题吗?