CSProlog 6.0.0

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
<PackageReference Include="CSProlog" Version="6.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
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

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
6.0.0 808 4/24/2018
5.0.0.1 542 5/2/2017
5.0.0.1-alpha 345 4/15/2017
5.0.0-alpha 505 12/16/2015