我想将XSB Prolog托管在服务器中。有人可以告诉我程序是什么吗?
以下git链接说明了如何在服务器上托管SWIPL,但对于XSB却不起作用
https://github.com/SWI-Prolog/swish
非常感谢您的帮助。
最佳答案
如果要在服务器上托管XSB,只需使用子进程即可生成XSB。
参见XSB Manualspawn_process(+CmdSpec,-StreamToProc,-StreamFromProc,-ProcStderrStream,ProcId)
产生由CmdSpec指定的新进程
XSB子流程的用途之一是创建生成子流程和
控制他们。
产生的子流程可以是另一个XSB流程。
以下示例显示了一个XSB进程产生的另一个,向其发送了一个评估和获取结果的目标:
`| ?-` spawn_process([xsb], To, From,Err,_),
file_write(To,’assert(p(1)).’),
file_nl(To),
file_flush(To,_),
file_write(To,’p(X), writeln(X).’),
file_nl(To),
file_flush(To,_),
file_read_line_atom(From,XX).
`XX = 126`
`yes`
`| ?-`
"Here the parent **XSB** process sends “
`assert(p(1)).`
” and then “
`p(X), writeln(X).`
” to the spawned XSB subprocess."
"The latter evaluates the goal and prints (via “ `writeln(X)` ”)
to its standard output..."