The Common Lisp Reasoner is an extension to CLOS (Common Lisp Object System) which adds a flexible rule language suitable for various reasoning tasks for AI-related applications (for scheduling, planning and diagnosis).
Its rule language supports non-directional constraints and unidirectional rules. CLR also includes ATMS (the Assumption-based Truth-Maintenance System). It supports XML and RDF/XML, OWL.
Homepage
Download
Recent Releases
3.608 Jul 2023 19:12
minor feature:
3.506 Aug 2016 20:51
minor feature:
Changes Since Last Release: During deserialization, if elements contain many subelements, the variable *count-subelements* may be bound to nil, or the method count-subelements-p specialized, to eliminate the considerable overhead of maintaining a count of these values.
Bug fixes: XML Schema deserialization failed in clisp due to defaulting of :direct-superclasses argument of ensure-class if class exists and in SBCL if it doesn't. Forward-referenced base complexTypes were assigned the wrong place in the class hierarchy.
3.416 Oct 2014 06:05
minor feature:
Has been tested in Allegro 9.0, clisp 2.48, ECL 13.5.1, LispWorks 6.1.1
and SBCL 1.1.2 (Win32).
Faster checking for nogoods when adding assumptions during backtracking
search.
More robust deserialization, including support for:
Global XML Schema elements and references to them.
The datatypes boolean, integer, nonNegativeInteger, positiveInteger and
string.
Moreover, *assumption* may be assigned a single assumption, which is then
used to justify all assertions encountered during deserialization.
Bug fixes:
RDF and OWL class serialization failed if its label was absent.
The specialization of a slot referred to in a :count slot option but not the
slot itself resulted in an incorrect OWL serialization.
Elements declared as ignored could nonetheless cause deserialization to
fail.
Range classes created during deserialization corresponding to successive
cardinality restrictions were not hierarchically organized.