29得票6回答
将我的运行中的toplevel保存以备后用

在使用 ocaml 或 ghci 解释器时,我经常会建立一个重要的“上下文”(我没有更好的词来形容),包括绑定的值、函数、已加载的模块等。有没有一种方法可以将所有内容保存并在以后重新加载,以便我可以恢复到之前的状态?或者更好的是,将整个内容导出为文本文件,以便重新加载或轻松修改为编译成可执行文...

29得票9回答
为什么对冲基金和金融服务公司经常使用OCaml?

与一些量化分析师/对冲基金交谈后,我得出结论:他们中的大多数似乎在许多任务中使用自制语言或OCaml。但其中许多人无法回答为什么。 我当然可以理解为什么他们大多不想使用C++,但相比其他脚本语言,比如Python、Ruby等,为什么OCaml在这些用途上更卓越?

29得票1回答
LLVM OCaml绑定

我正在开发 llvm 的 OCaml 绑定。我通过 opam 安装了 llvm 包 (opam install llvm),但是当我在 utop 中使用 llvm 时,出现了以下错误:#require "llvm";; Error: The external functio...

29得票3回答
为什么OCaml的(+)操作符不是多态的?

我是OCaml的初学者。我喜欢OCaml的速度,但我并不完全理解它的设计。例如,我希望+操作符可以支持整数、浮点数等多态类型。 为什么我们需要使用+.呢?

28得票2回答
OCaml:为什么我不能使用这个运算符中缀?

我定义了一个自定义的等于运算符(具体定义并不重要,所以我会插入一些虚假的内容):let ( ~=~ ) a b = true 如果我尝试使用中缀操作符:if a ~=~ b then 1 else 2 我遇到了以下错误:This expression is not a function; it...

28得票4回答
Ocaml中的高阶类型构造器和函数子是什么?

以下的多态函数能够实现吗?let id x = x;; let compose f g x = f (g x);; let rec fix f = f (fix f);; (*laziness aside*) 这段代码是为类型/类型构造函数或模块/函子编写的吗?我已经尝试了。type ...

28得票6回答
使用其他语言编写Emacs扩展程序

我想将一个已经用OCaml编写的应用程序与Emacs“接口”结合起来(例如,类似于Emacs GDB模式)。我希望在不编写大量Lisp代码的情况下完成这个目标。从MVC的角度来看,我希望View是Emacs,但是Model和Controller仍然(主要)使用OCaml。 有没有人知道是否有...

28得票7回答
如何在Vim中使用OCaml?请提供当前的配置设置。

我从未使用过Vi或Vim,但它似乎是编辑OCaml文件的最佳选择。 不幸的是,我迷失在了太多需要关注的事情中:ocaml-vi-addon、vi-scripts、otags等。 我用cream打破了对Vim的最初恐惧, 但我不确定除vim-scripts外是否需要其他包*。 -> 我使用...

26得票11回答
我该如何在OCaml中从文本文件中读取行?

这是我到目前为止的代码。这不就是你所需要的吗?但我一直在收到“错误:未绑定模块Std”的错误提示。let r file = let chan = open_in file in Std.input_list (chan)

26得票4回答
功能性广度优先搜索

在有向无环图中,函数式深度优先搜索很可爱。 然而,在具有循环的图形中,我们如何避免无限递归?在过程性语言中,我会在访问节点时标记它们,但假设我不能这样做。 已访问节点列表是可能的,但由于在递归之前需要对该列表进行线性搜索,因此速度会很慢。比列表更好的数据结构显然会有所帮助,但这不是目标,因...