gpt4 book ai didi

types - 如何在 OCaml 中定义两个相互链接的模块?

转载 作者:行者123 更新时间:2023-12-01 12:57:30 24 4
gpt4 key购买 nike

我知道我们可以定义两个相互链接的类型,例如:

type a =
| CC of b

and b =
| CD of a

有谁知道如何对两个模块做同样的事情?

module A = struct
type t = | CC of B.t
end

?and? B = struct
type t = | CD of A.t
end

最佳答案

它叫做 recursive modules在 OCaml 中。有点不幸,你必须写两次类型声明。

module rec A: sig
type t = | CC of B.t
end =
struct
type t = | CC of B.t
end

and B: sig
type t = | CD of A.t
end =
struct
type t = | CD of A.t
end

关于types - 如何在 OCaml 中定义两个相互链接的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com