Re: Comments from Madrid

From: Michael Hanus <>
Date: Tue, 4 Feb 1997 16:26:40 +0100

Here are some short comments to Paco's answer.

Paco Lopez Fraguas wrote:
> - The distinction 'call-time-choice'<-> 'run-time-choice'
> is classical, gives raise to quite different semantics,
> and correspond more or less to
> 'call-by-value' and 'call-by-name' parameter passing, which
> behave completely different in presence of nondeterministic rules.

I understand the intuition behind your notion. On the other side,
it seems a little bit counter-intuitive to prefer 'call-by-value'
parameter passing for non-deterministic functions if you are
interested in a LAZY evaluation strategy. So, I would like
to repeat Sergio's question, since I think an answer would
be quite helpful: what's wrong with the 'run-time-choice'
or 'call-by-name' parameter passing?

> > If Curry is based from the beginning on non-deterministic
> > functions, it will be more difficult to convince functional
> > programmers that Curry covers their programming paradigm
> We do not see why. Maybe some functional programmers could think that
> non-deterministic functions are too strange things, but it seems
> clear that 'usual' functions are a particular case, hence
> Curry would cover FP.

I agree, but you have also to explain that equational reasoning
is unsound for such a language, and this may be annoying.

> Therefore, it seems that we may formulate
> Non-deterministic Curry's operational mechanism =
> Curry's operational mechanism + Sharing

If this works, I would be happy. Then we can consider non-deterministic
functions as a simple extension of "Kernel" Curry, which does not require
any additional implementation effort in a sharing implementation.

> We could agree on that. But in this case, we think
> that the core language should be _simple_, and therefore
> should avoid complicated conditions related to extra variables.
> Let's wait for non-deterministic functions, and the problem
> will dissapear.

I agree. Since I would be happier if we can avoid
complicated conditions on the use of extra variables,
I will try to change this point in the report, in the sense
that the current conditions are not language requirements
but are sufficient criteria for determinism.

Best regards,

Received on Di Feb 04 1997 - 16:30:47 CET

This archive was generated by hypermail 2.3.0 : So Jul 05 2020 - 07:15:03 CEST