Guan is a cross-platform, general-purpose logic programming library with a C# API for external predicate implementation. It is a close approximation of Prolog, with extended capabilities and some differences.
Guan ships as a .NET Standard library and is available from Nuget.org
retract(Clause) | the first clause unifying with Clause is removed from the database
Guan ships as a .NET Standard library and is available from the Nuget.org Package gallery
Guan ships as a .NET Standard library and is available from the Nuget.org Package gallery.
This is the V1 release of Guan, which is no longer in Preview!
Guan Preview ships as a .NET Standard 2.0 library. A signed nupkg is available from the nuget.org gallery.
In this release, Guan has been improved with bug fixes, implementation enhancements, code improvements, refactorings. There are breaking changes, mostly related to replacement of synchronous methods with asynchronous ones (Check is gone, replaced with CheckAsync in predicate resolver types, for example). Also, Guan is more strict in this release with respect to parsing positional arguments and named arguments. StringContains system predicate has been removed in favor of just using the more powerful match system predicate. Finally, GuanQueryDispatcher has been removed. This is something consumers should write to match their specific needs. You can see a full example of how to program with Guan here.
Guan Preview ships as a .NET Standard 2.0 library. A signed nupkg is available from the nuget.org gallery.