Re: Intended meaning

From: Michael Hanus <>
Date: Thu, 01 Nov 2007 10:19:32 +0100

Wolfgang Lux wrote:
> I think sharing of variables across different branches of a
> non-deterministic choice should only be a matter of optimization.
> An implementation *may* choose to share variables across
> non-deterministic branches if it can prove that this does not affect
> the results computed (though eventually the order in which they are
> computed). On the other hand, within a particular branch of a

I fully agree to this. I think that sharing is heavily related
to the details of the operational semantics. For instance,
sharing is important to obtain optimal evaluation in
demand-driven strategies. It is required for non-confluent
programs evaluated by a demand-driven strategy if the declarative
semantics is based on CRWL. Thus, if the declarative semantics
of a language like Curry or Toy is based on CRWL,
sharing between non-deterministic branches can be an important
optimization (in particular contexts) but is not strictly required.
If one wants to have more, it should be justified by a
declarative semantics in order to make it comprehensible
without any reference to a complex strategy.

Best regards,

curry mailing list
Received on Do Nov 01 2007 - 10:25:05 CET

This archive was generated by hypermail 2.3.0 : Do Jun 20 2024 - 07:15:09 CEST