整合Prolog与C#
有谁知道一个很好(而且最好是免费)的方式来集成Prolog和C#?
我正在寻找创build一个Prolog DLL或类似的从我的托pipe代码调用,并检索一个答案一旦所有的处理已完成。 我期待它主要是单方面的(C#调用Prolog)。
我已经看到了这个问题 ,谈论Prologs真实世界的用法,但我想知道如果任何人有任何经验与C#&Prolog? 或一个不错的教程/文章?
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和套接字进行通信。