Re: Language changes: Committed choice

From: Michael Hanus <>
Date: Wed, 28 Oct 1998 11:30:24 +0100

Herbert Kuchen wrote:
> I discussed this proposal with Wolfgang, and we agree with
> it. It is indeed nice that it subsumes the old choice from the
> point of view of expressivity (in particular Frank Steiner's
> "one" example could be handled) while it does not reduce laziness.

This sounds positive. If I receive no further comments,
I'll try to update the language report and include
these changes (also the changes discussed in the last week
about the constraint syntax). I (and hopefully all other
Curry implementors/users) appreciate these changes very much
since it simplifies the syntax of Curry.

> Originally, we were not not thinking of deep guards, since
> the implementation would be simpler then. But after some
> discussion, we have some ideas how to implement the new
> committed choice. Thus, it should not introduce serious
> problems.

This is nice. However, the question of deep/flat guards
is not so simple in a functional logic language due
to nested terms and lazy evaluation. I think that even
your merge example has deep guards since the necessary
computation of a WHNF for a demanded argument may cause
a complex subcomputation for this redex which corresponds
to a deep guard. From an implementation point of view,
it would be interesting to check whether such subcomputations
are deterministic. If this is the case, the implementation
of the committed choice can be considerably simplified.

Best regards,

Received on Mi Okt 28 1998 - 11:34:00 CET

This archive was generated by hypermail 2.3.0 : Fr Okt 23 2020 - 07:15:02 CEST