Module OCaml中嵌套签名的示例?
在OCaml中,可以嵌套签名:Module OCaml中嵌套签名的示例?,module,ocaml,ml,Module,Ocaml,Ml,在OCaml中,可以嵌套签名: module type FOO = sig module type BAR (* … *) end 我只是想知道是否有人在使用这个例子,因为我想不出任何地方需要它。我想它可能对函子的返回签名有用,但我想不出任何具体的东西。我想到的第一个例子: (这确实是一个函子签名)我记得看到过一些模块(可能是电池),其中包括一个中缀模块,只有在真正需要时才能单独打开。比如说, module Rational = struct let add a b =
module type FOO =
sig
module type BAR
(* … *)
end
我只是想知道是否有人在使用这个例子,因为我想不出任何地方需要它。我想它可能对函子的返回签名有用,但我想不出任何具体的东西。我想到的第一个例子:
(这确实是一个函子签名)我记得看到过一些模块(可能是电池),其中包括一个
中缀
模块,只有在真正需要时才能单独打开。比如说,
module Rational =
struct
let add a b = ...
let sub a b = ...
module Infix =
struct
let (<+>) = add
let (<->) = sub
end
end
我们也使用它们,尽管它们是单独的文件(与-mlpack结合),用于我们需要的所有生物数据解析器——Nexus、Fasta、Phylip等等
最后,通常在对新算法进行原型化时,我们会先用ocaml编写,然后再使用C版本。我们通常将ocaml版本保存在具有相同函数名的内部模块中
module Align =
struct
module OCaml =
struct
end
end
嵌套模块非常有意义。然而,问题是关于嵌套模块签名的问题。Michael,你似乎在乞求这个问题。嵌套模块的最终好处导致了嵌套模块签名的必要性。
module Align =
struct
module OCaml =
struct
end
end