gpt4 book ai didi

module - 受子签名约束的 OCaml 子模块

转载 作者:行者123 更新时间:2023-12-04 23:43:42 25 4
gpt4 key购买 nike

我有一个模块 Mod受签名 Sig 约束.该模块有一个 Nested子模块。签名具有匹配的 Nested子签名:

module type Sig = sig
val a : int
module type Nested = sig
val b : int
end
end

module Mod : Sig = struct
let a = 1
module Nested = struct
let b = 2
end
end

但是,这会产生以下错误:
Error: Signature mismatch: 
Modules do not match:
sig val a : int module Nested : sig val b : int end end
is not included in
Sig
The field `Nested' is required but not provided

我错过了什么?

最佳答案

在您的代码中声明嵌套模块的方式是错误的:

module type Sig = sig 
val a : int
module Nested : sig val b : int end
end

module Mod : Sig = struct
let a = 1
module Nested = struct
let b = 2
end
end

查看以下链接中子模块的声明方式: http://caml.inria.fr/pub/docs/oreilly-book/html/book-ora131.html

它可以帮助我解决您的错误。

关于module - 受子签名约束的 OCaml 子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177502/

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