Hi Cle,

> >  Anonymous variables ('@' in Pilog, '_' in Prolog) may not work as
> >  expected, when there is more than one of them in a complex rule,
> >  with each in a different context.
> > ...
> But anyway, the most important thing is, to *know* about that 
> restriction! Then -- perhaps -- one can solve or work-around it ... so, 

Yes, the work-around is easy: Just use variables '@1', '@2' instead of
'@'. It is just rather inelegant, and may produce unwanted output :-(


The next problem seems rather hairy:

>     (? (@CL list 'foo '(@N)) (equal (@P . (@A)) @CL) (call @P . @A) (@ 
> retract (-> @CL))
>  ...
>     (be retract (@CL)
>       (equal (@P . (@A)) @CL)
>       (call @P . @A)
>       (@ retract (-> @CL)) )

It works if you use

   ...  (equal (@P (@A)) @CL) (call @P @A) ...

and
   ...
   (equal (@P (@A)) @CL)
   (call @P @A)
   ...

But don't ask me why! 'call' seems rather tricky, and I don't remember
how and why I implemented it in that way (about 15 years ago) :-(

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

Reply via email to