Re: Proposal: Relaxing restrictions in Curry

From: Michael Hanus <>
Date: Fri, 5 Nov 2004 09:18:19 +0100

Wolfgang Lux wrote:
> I was assuming that because you once remarked that you like to consider
> success as being a base operation similar to return () in the IO monad.
> I have to admit that Success = ConstraintStore -> ConstraintStore is not
> really a practical definition -- at least as long as you want to
> consider
> ConstraintStore as a set of constraints. The only sensible
> interpretation
> of ConstraintStore would be as a (mutable) reference to the current set
> of constraints. Since all constraints should be using the same
> constraint
> store, they must return the same constraint store reference that was
> passed
> as input to them, so one could as well use Success = ConstraintStore ->
> ().

I agree.
Just to make it clearer since mutable references sound dangerous.
The nice point about (concurrent) constraint programming is that
the constraint store is only monomorphically growing, i.e.,
constraints (i.e., information contents) is only added but never
retracted. Thus, the order of evaluation does not influence
the success or failure of computations, in contrast to traditional
concurrent programming with destructive updates.


Received on Fr Nov 05 2004 - 09:18:19 CET

This archive was generated by hypermail 2.3.0 : Fr Okt 07 2022 - 07:15:18 CEST