On 08/07/2013, Mark Proctor <mproctor(a)codehaus.org> wrote:
On 8 Jul 2013, at 08:03, Wolfgang Laun <wolfgang.laun(a)gmail.com> wrote:
> Some backward chaining functionality is indeed available, although it
> cannot be compared with what you have in, say, Prolog.
that might be an undersell. We do full derivation tree's, as per prolog. But
we take this a step further, and have fully reactive derivation trees -
which most prolog systems does not have.
http://www.youtube.com/watch?v=fCjIRVSRFvA
The prolog features we do not have are:
cut
List unification.
Unbound properties for fact instances. So that it unifies against the
property.
Expressions for arguments in unifications.
What about arithmetic? Is this what you mean with the last item, e.g.
fact(0,1).
fact(N,R):- fact(N1,R1),N is N1+1,R is R1*N.
It's OK to expect a hybrid system to have facets not present in one or
the other "pure" system. There's a considerable number of exercises
you can do in Prolog, but can't do in Drools - and the other way
round, to be sure!