From: Edward S. <esc...@ce...> - 2016-02-16 19:05:42
|
Hi Eyal, Thank you -- this seems to explain the behavior I'm seeing. Do you have any suggested alternative? A version of dif/2 that doesn't use co-routining maybe? Does such a thing exist? Thanks, Ed On 02/16/2016 01:29 PM, Eyal Dechter wrote: > Hi Ed, > > I think that this is because dif/2 is part of the co-routining extension > and the tabling extension (YAPTab) doesn't support the co-routining > extension. According to the manual (section 18) this should through an > error; that it doesn't is likely a bug. > > I think the reason it is not supported is because tabling in YAP depends > on being able to ask when one term is a variant of another. But in the > presence of constraints like dif/2, two terms that are syntactic > variants are no longer necessarily unifiable. > > Best, > Eyal |