although not intended so, it seems I mutate the picoLisp mailing list
into a Pilog mailing list ;-)
Another glitch I do not understand. Suppose following Pilog definition:
(be attributes ((@H) @L @V) T (member (@H @V) @L) )
(be attributes ((@H . @) @L @V) (member (@H @V) @L) )
(be attributes ((@ . @T) @L @V) T (attributes @T @L @V) )
I intend to use it like
(? (attributes (b c) ((a 1) (b 2) (c 3)) @V))
which binds @V to 2 and 3 sequentially during backtracking. So far so
good! But if I comment out the first rule, the Pilog interpreter gets
into an endless loop, I have to terminate explicitely.
What would be the reason for this? I thought, that reducing the
attribute list in clause 2 and 3 would eventually lead to NIL. Then
neither clause 2 onr 3 should match and the backtracking should come to
an end. But somehow it does not.
What did I wrong?
Thanks in advance and ciao,