5

假设我有一个函数list_fun : int_list -> string list,并且在该函数中我使用了我定义为模块的 StringSet,StringSet = Set.Make(String) ;;我尝试让函数返回Set.elements s并获取 astring list但我得到的StringSet.elt list应该是与 StringSet 相同的东西type t = string

你如何让 OCAML 理解这些类型是相同定义的?当我开始使用 OCAML 标准库函数时,我遇到了几个案例。

4

1 回答 1

7

OCaml 已经知道它们的定义相同 - 除非您正在做一些奇怪的事情来隐藏抽象中的类型,否则它将把 aStringSet.elt liststring list视为相同的类型。

于 2011-03-26T03:32:00.143 回答