如何缩进现有 OCaml 代码
我有大约 30.000 行缩进严重的 OCaml 代码(包括 mly 和 mll 文件),并且想要缩进它们。我尝试在谷歌上搜索“ocaml indent”的变体,我能得到的最接…
ocaml 类型 'a. 是什么意思? 'a->意思是?
在ocaml语言规范中,有一个简短的部分: poly-typexpr ::= typexpr | { ' ident }+ . typexpr 文本中没有任何解释,poly-typexpr的唯一实例是定义方法…
OCaml 外部声明中的 % 是什么意思?
OCaml 标准库中的许多 external 声明在函数名开头都有一个 %,例如 int_of_float 的定义: external int_of_float : float -> int = "%intoffloat" …
ocamlc,模块编译
我用 ocaml 写了一个应用程序。它由几个模块组成: Util (util.ml) Work1 (work1.ml) - 打开 Util Work2 (work2.ml) - 打开 Util Main (main.ml) - 打…
OCaml 是否有增强的解释器 toploop?
Python 有 IPython .. OCaml 有类似的东西吗? 我非常希望有命令历史记录,尽管其他功能也很好。我读过,我可以通过在 Emacs 中运行它来获取命令历史…
当我将函数应用于 OCaml 中的已知参数列表时,如何避免警告?
如何将多个值 a、b、c 等转换为 a'、b' ,c'等,这样x'=f(x)?这些值绑定到特定名称,并且它们的数量在编译时已知。 我尝试通过以下方式将函数应用于…
集合算法的 Ocaml 实现建议
我在 ocaml 中转换以下算法时遇到问题 为了实现这个算法,我使用了 Set.Make(String) 函子,实际上输入和输出是 2 个函数 任何人都可以在 ocaml 中为…
如何在 OCaml 中创建具有多个参数的类型?
我正在尝试创建一个具有多个类型参数的类型。我知道如何使用一个参数创建一种类型: type 'a foo = 'a * int 但我需要有两个参数,以便我可以参数化“…
如何简化这个 ocaml 模式匹配代码?
我正在编写一个简单的小 ocaml 程序,它从文件中读取代数语句,使用 ocamllex/ocamlyacc 将其解析为 AST,减少它,然后打印它。我减少表情的部分似乎…
选择与 LLVM 一起使用的函数式编程语言时,有哪些权衡?
我们暂时假设 C++ 不是函数式编程语言。如果你想使用 LLVM 为后端编写一个编译器,并且你想使用函数式编程语言及其与 LLVM 的绑定来完成你的工作,据…