Re: Proposal: Simplifying Curry

From: Michael Hanus <>
Date: Sun, 11 Oct 2015 17:55:49 +0200

On 10/09/2015 03:02 PM, Julio Mariņo wrote:
> My position on this issue, in short, would be:
> - I agree with eliminating the Success type as it was just a subtype of
> Bool and making it a separate type led to the proliferation of
> innecessary entities, as Occam would say.
> - However, I prefer to let the programmer choose between narrowing-based
> or constraint solving-based implementations of predicates. While the
> choice may be simple for the special case of predefined equality of
> first-order values, I do not think that generalizes well for other
> predicates or for nonstandard definitions of equality.
> - Allowing the automatic replacement of narrowing-based predicates by
> their analogues based on constraint solving, when available, should be a
> compiler optimization option.
I agree to leave Boolean and constraint equality but change only
the status of Boolean equality to flexible.

My main motivation for this is that explaining/teaching Curry
becomes easier. I am currently adapting the material for
my declarative programming course for the next term
(which is based on Curry as initially described in
and I must say that the introduction into functional logic
programming becomes easier with this proposal.
Of course, I also introduce equational constraints,
but as an optimization option at same later point.

Best regards,


curry mailing list

Received on Do Okt 15 2015 - 17:15:50 CEST

This archive was generated by hypermail 2.3.0 : Mi Aug 05 2020 - 07:15:04 CEST