问题
Does anyone know of a nice (and preferably free) way to integrate Prolog and C#?
Im looking to create a Prolog dll or similar to call from my managed code, and retrieve an answer once all the processing has been complete. Im looking for it to be predominantly one sided (c# calls Prolog).
I have seen this question which talks about Prologs real world usage but I was wondering if anyone had either any experience with c# & Prolog? or a nice tutorial/article?
回答1:
You can take a look at Yield Prolog.
Yield Prolog uses yield keyword in C# (and Python, and JavaScript) and custom Variable class to simulate Prolog machine. This way, you get a Prolog API in your favourite language. You don't need to connect your main language with P# or similiar projects.
回答2:
It's not free, but Sicstus Prolog allows connection to C# and Java
This is the Prolog implementation we use at our company, and it is very fast and useful.
回答3:
C#Prolog, available from SourceForge (Prolog interpreter written in C#)
回答4:
Perhaps P# will be useful for you
回答5:
You can use ECLiPSe Prolog. i have integrated it with VC8. it would be better to use VC8 instead of C#.
回答6:
If deployment with a full prolog implementation is not a problem you can use SWI-Prolog and talk to it via XPCE and sockets.
回答7:
If your prolog is swi-prolog, you have two choices. The older, and essentially deprecated, version is http://www.swi-prolog.org/contrib/CSharp.html
The newer, much better one is swicli. http://www.swi-prolog.org/contrib/NetMono.html
来源:https://stackoverflow.com/questions/181855/integrating-prolog-with-c-sharp