Hello again,

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,

UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe

Reply via email to