3

我正在尝试从头开始编写专家系统。我是这方面的初学者,我的项目需要一些帮助。

我的 UI 是一个 .NET Windows 应用程序,现在我想将它连接到 LISP 以准备知识库。

好的,这就是我的计划……你们怎么看?任何想法或建议都会有所帮助。

谢谢。

4

3 回答 3

2

我认为最好的系统是将IronScheme 之类的东西嵌入到您的程序中。

这些允许 Scheme 代码与 .NET 交互。您可以为其提供可以从 Scheme 执行的功能,这些功能是对标准 .NET 功能的补充。

否则,你无能为力。您是否使用任何需要LISP 的特定于 LISP 的功能?否则只需将规则放入文件并解析它。

于 2009-12-20T18:13:14.263 回答
1

有几种方法。如果你想使用非玩具 lisp,那么你必须使用某种 IPC 到 Lisp 程序,因为几乎所有 lisp 实现都在它们自己的进程中运行(ECL 和可能的 Allegro CL 除外)。所以有几种选择:

  • SWANK 是控制 Lisp 运行时的协议,并为几个 Lisp 实现了它。但是,它是针对 IDE 需求量身定制的,因此可能对您非常有用,也可能不太有用。
  • FOIL是 Lisp 和 .NET/Java 之间的接口。

PS。'Lisp' 现在的意思是'Common Lisp',所以我假设你在谈论它。

于 2009-12-20T19:10:54.963 回答
0

您可以查看Slime(Emacs 模式)以及如何连接到 Lisp 进程。您可以构建您的 UI 以使用与 Slime 对话的 Swank 后端相同的 RPC 协议进行通信。

Bill Clementson对 Slime 进行了概述。有关更多详细信息,请参阅Tobias Rittweiler 出色的 SLIME 演示文稿

于 2009-12-21T04:47:28.660 回答