On Wed, Nov 25, 2009 at 11:25:35AM +0800, cle wrote:
> Here the predicate aT/1 may be rewritten using the ';' operator as in  
> bT/1. Now I have found, that Pilog offer a 'or' rule. But it seems, this  
> does not resemble ';' of Prolog. Suppose the Pilog translation of the  
> code above:
> ...
>   (be bT (@N)
>     (or (t1 @N) (t2 @N)))
> So I would like to ask, if 'or' works as intended or if there is a bug?

'or' takes not singular expressions, but whole clause bodies in each
argument, to allow the implicit 'and' of Prolog. Thus, an additional
level of parentheses is required.

A working version would be:

   (be bT (@N)
      (or ((t1 @N)) ((t2 @N))) )

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

Reply via email to