从OCaml程序调用Mathematica

从OCaml程序调用Mathematica,ocaml,wolfram-mathematica,Ocaml,Wolfram Mathematica,我正在编写OCaml代码。在其中的一部分,我想检查两个算术表达式是否相等(比如x+2+y==x+2*y-y+2)。在mathematica中实现这一点很简单,因此我只需要一些关于执行mathematica的帮助,并在OCaml中返回结果。我的操作系统平台是Linux 干杯, Z.您可以使用以下内容: let channel_to_mathematica, channel_from_mathematica = open_process "mathematica" in Printf.fprintf

我正在编写OCaml代码。在其中的一部分,我想检查两个算术表达式是否相等(比如x+2+y==x+2*y-y+2)。在mathematica中实现这一点很简单,因此我只需要一些关于执行mathematica的帮助,并在OCaml中返回结果。我的操作系统平台是Linux

干杯,
Z.

您可以使用以下内容:

let channel_to_mathematica, channel_from_mathematica = open_process "mathematica"
in
Printf.fprintf channel_to_mathematica "Tell me if this is equal ...\n";
let answer_from_mathematica = Scanf.fscanf channel_from_mathematica ... 
in
...


一个非常普遍的答案是编写一个命令行Mathematica脚本,该脚本接受两个表达式(在命令行或stdin上),并输出它们是否相等。 然后在OCaml中,只需通过系统调用调用该程序

至于编写这样的命令行Mathematica脚本,我建议使用MASH(披露:我制作了MASH):