【发布时间】:2013-10-05 10:43:02
【问题描述】:
短版:
有没有办法让其他程序调用 Lisp 程序的 Lisp 函数?
长版:
我正在考虑一个图形数据库项目:) 不要立即开始,到目前为止我只是在探索。我已经尝试了几个图形数据库,我对它们最大的抱怨是它们都是用 Java 编写的(有些是用 C++ 编写的,这也不会削减它......)。 Java 没有很好的对外交流方式。它只能嵌入到另一个 Java 程序中。 C++ 很难嵌入/我怀疑嵌入是否已经计划好了。
所以,我显然想用 CL 编写它,但我也在考虑其他选择。因此,如果您认为 CL 根本不会这样做,但您有理由相信其他语言会这样做,那么这是一个有趣的答案!我对“其他语言”的要求是它必须以某种方式支持并行计算。显然,高性能。并且,如前所述,可扩展性。
【问题讨论】:
-
如果你不关心效率,json-rpc 是一个可能的解决方案。我经常使用 json-rpc 来桥接用不同语言编写的不同程序。
-
@SaltyEgg 效率是主要关注点 :) 在构建数据库时,您真的不想牺牲任何可用资源。
-
那你应该使用CFFI,据我所知。
-
@SaltyEgg 是的,这就是我要做的。我只是不知道有一种方法可以与 C 程序对话。我仍然不太了解如何从 C 中嵌入 Lisp 程序,但既然功能在那里,我会发现(嗯,我猜 :))
标签: lisp common-lisp graph-databases ffi