functional-programming - 我可以用 `let` 实现 OCaml 模块还是需要为它创建一个文件?
问题描述
my_module.mli:
module Make
(Something: SomeModule.S) = sig
val f: t->t
(*...*)
end
my_module.ml:
module Make
(Something: SomeModule.S) = struct
let f t = t
(*...*)
end
好的。假设我想通过做实例化 my_module My_module.Make()
。我必须通过一个Something: SomeModule.S
.
我发现的一种方法是这样做:
某事.mli
include SomeModule.S
val some_module_fn_1: t->t
东西.ml
let some_module_fn_1 t = t
现在我想我可以创建一个新文件:
主文件
let myModuleImpl = MyModule.Make(Something)
myModuleImpl.f 0
但是我真的需要创建单独的文件something.mli
吗something.ml
?我不能简单地创建他们的实现main.ml
吗?
解决方案
推荐阅读
- python - 在 pygame 中为图像使用 VRAM(显卡内存)
- list - Markdown:列表没有很好地转换
- python - 使用二进制搜索从列表中删除不存在的值,尝试引发错误
- python - 逐行解析 Telnet.Read_Very_Eager 返回的字符串
- c# - SQL 中的错误 - 没有错误消息 - 命令未执行
- asp.net - 我如何允许传递包含不安全单词的密码
- ruby - 如何在 jekyll 中为我的根 index.html 设置重定向?
- python - 如何在 XGBClassifier 中使用压缩的稀疏矩阵作为训练数据?
- sql - 如何找到最少的 LIKE 模式来满足字符串列表
- python - Way2SMS python代码不发送短信而POSTS返回成功