我想知道是否有可能在OCaml中构建类似于多个分派的内容。为此,我尝试为multimethod的输入签名创建一个显式类型。此外,类型系统应该知道输出将使用哪个构造函数。也就是说,应该在函数调用时静态地知道输出是int num类型的。
这有可能吗?例如,到目前为止,我只能管理一个签名type a b. a num * b num -> a num函数<
我试图在模块之间传递一个AST,我在主模块中写下了下一句话: let var = "value" in.
let tree = Parse.parse_tree ~file:input input_text|> M1.f1 |> M2.f2 关键是,在M2.f2中,我需要计算一个从Main模块接收参数的函数。以类似于“全局变量”的方式,比如在命令式编程中?我读到我需要在Main.ml中声明一个<e