ocaml
我在做一个项目时发现了一些我不太了解的东西。
假设我同时使用 OCaml 标准库的Array
和List
模块。它们都实现了该功能length
,但具有不同的类型。在List
模块中,这是它的类型:
length: a' list -> int
在Array
模块中,它具有以下类型:
length: a' array -> int
open
但后来我希望你通过关键字在我正在实现的同一个模块中使用这两个模块:
open List
open Array
当我尝试length
在列表中使用该函数时,在编译过程中出现类型错误。
由于 OCaml 是一种强大的静态类型语言,我想知道为什么编译器不知道我想要 list 模块的长度函数,因为我声明我同时使用两者。