Michael Hanus wrote:
> Sergio Antoy wrote:
>> Given the following program:
>>
>> test = 1+x ? zero x where x free
>> zero 0 = 0
>>
>> what should the evaluation of test produce?
>
>> From the current language definition,
> the evaluation has two nondeterministic branches,
> one (1+x) suspends and one (zero x) evaluates to 0.
> In a fair implementation, you good a suspended evaluation
> and 0, in an unfair (based on backtracking like PAKCS),
> it suspends.
Sorry to disagree; the fact whether you get a suspended result
and 0 has nothing to do with fairness, it is simply a matter
of (proper) handling of deadlocks. In fact, MCC, which uses
backtracking like PAKCS at the top-level, reports a suspension
first and then computes the result 0.
Regards
Wolfgang
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Do Okt 25 2007 - 12:24:50 CEST