A C# implementation of Prolog
// PM> Install-Package CSProlog -pre
using System;
using Prolog;
class Program
{
static void Main(string[] args)
{
var prolog = new PrologEngine(persistentCommandHistory: false);
// 'socrates' is human.
prolog.ConsultFromString("human(socrates).");
// human is bound to die.
prolog.ConsultFromString("mortal(X) :- human(X).");
// Question: Shall 'socrates' die?
var solution = prolog.GetFirstSolution(query: "mortal(socrates).");
Console.WriteLine(solution.Solved); // = "True" (Yes!)
}
}
Prolog Engine
Unit Tests
Dotnet Core Console Interactive Interpreter (tested in linux and windows)
DOS Console Interactive Interpreter
Windows Forms Example
An example of how to use the engine within another Program