Guan Versions Save

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.

1.0.4

2 years ago

Guan ships as a .NET Standard library and is available from Nuget.org

Changes (BREAKING)

  • BREAKING change: QueryContext ctor now requires non-null input parameter. See GuanExamples for sample code. You will need to modify your query expression executor code to adopt the new pattern.
  • Added basic second order support.
  • Added retract system predicate per Feature Request (Issue #17):
retract(Clause) | the first clause unifying with Clause is removed from the database
  • Running GuanTest application without any arguments will run it in interactive mode. To run the p1.test run guantest Scripts\p1.test or guantest Scripts.
  • Added new unit tests for retract.

1.03

2 years ago

Guan ships as a .NET Standard library and is available from the Nuget.org Package gallery

Changes

  • Fixed package dependency bug. When you install Guan into a .NET project, it will also install the required System.Text.Json nupkg.
  • Updated nuspec file and nupkg generation Powershell script.
  • Added Getting Started section and related GuanExamples standalone project for use in experimenting with Guan inside a containing .NET Core 3.1 application.
  • Code changes to remove dependency on Newtonsoft.Json (it was used in one function...).

guan-release

2 years ago

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-preview2

2 years ago

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

2 years ago

Guan Preview ships as a .NET Standard 2.0 library. A signed nupkg is available from the nuget.org gallery.