CSProlog 6.0.0

C#Prolog (CSProlog)

C#Prolog -- A Prolog interpreter written in C#.
Can easily be integrated in C# programs.
Characteristics: reliable and fairly fast interpreter, command line interface, builtin DCG, XML- and JSON-predicates, SQL-predicates, extendible.

Install-Package CSProlog -Version 6.0.0
dotnet add package CSProlog --version 6.0.0
paket add CSProlog --version 6.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

CSharpProlog NuGet Package Build status

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!)
    }
}

License

GNU LGPL v.3

CSharpProlog NuGet Package Build status

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!)
    }
}

License

GNU LGPL v.3

Release Notes

v.6.0.0
- BREAKING CHANGE: Remove "SAMPLES, TESTING & EXPERIMENTAL" predefined predicates. (including CHAT-80 support)
- Fix: "help" predefined predicate dose not work.
- Enhance: GetAllSolutions can work with null file name.
v.5.0.0.1
- Support: .NET Standard 1.4 (.NET Core) and UWP
v.5.0.0
- BREAKING CHANGE: Remove dependency of "System.Windows.Forms".
- NuGet package release

Version History

Version Downloads Last updated
6.0.0 (current version) 33 4/24/2018
5.0.0.1 235 5/2/2017
5.0.0.1-alpha 83 4/15/2017
5.0.0-alpha 212 12/16/2015