整合Prolog与C#

有谁知道一个很好(而且最好是免费)的方式来集成Prolog和C#?

我正在寻找创build一个Prolog DLL或类似的从我的托pipe代码调用,并检索一个答案一旦所有的处理已完成。 我期待它主要是单方面的(C#调用Prolog)。

我已经看到了这个问题 ,谈论Prologs真实世界的用法,但我想知道如果任何人有任何经验与C#&P​​rolog? 或一个不错的教程/文章?

Prolog.NET ( 编辑:链接更新为旧网站链接已被黑客攻击 )我已经尝试了P#和Prolog.NET,但他们都有自己的弱点。

你可以看看Yield Prolog 。

Yield Prolog在C#(以及Python和JavaScript)和自定义的Variable类中使用yield关键字来模拟Prolog机器。 这样,你就可以用你喜欢的语言获得一个Prolog API。 你不需要连接你的主要语言与P#或类似的项目。

这不是免费的,但是Sicstus Prolog允许连接到C#和Java

这是我们公司使用的Prolog实现,它非常快速和有用。

C#Prolog, 可从SourceForge获得 (使用C#编写的Prolog解释器)

也许P#会对你有用

如果你的序言是swi-prolog,你有两个select。 较旧的,基本上被弃用的版本是http://www.swi-prolog.org/contrib/CSharp.html

更新的,更好的是swicli。 http://www.swi-prolog.org/contrib/NetMono.html

您可以使用ECLiPSe Prolog。 我已经与VC8集成了。 最好使用VC8而不是C#。

如果使用完整的prolog实现进行部署并不成问题,那么可以使用SWI-Prolog并通过XPCE和套接字进行通信。