2010-09-06 1 views
3

Я пишу код OCaml. В его части я хочу проверить, равны ли два арифметических выражения (например, x + 2 + y == x + 2 * y-y + 2). Реализация этого в математике проста, поэтому все, что мне нужно, поможет выполнить Mathematica и вернуть результат в OCaml. Моя платформа ОС - Linux.Вызов Mathematica из программы OCaml

Приветствия, Z.

ответ

3

Вы можете быть в состоянии использовать что-то вдоль линий этого:

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 
... 

Documentation of open_process here

Documentation of module Scanf here

3

очень общий ответ написать сценарий Mathematica в командной строке, который принимает 2 выражения (либо в командной строке, либо в stdin), и в outpu ts являются ли они равными. Затем в OCaml просто вызовите эту программу с системным вызовом.

Что касается написания такого командной строки Mathematica сценария, я рекомендую MASH (раскрытие: Я сделал MASH): Call a Mathematica program from the command line, with command-line args, stdin, stdout, and stderr

 Смежные вопросы

  • Нет связанных вопросов^_^