Re: Proposal: Simplifying Curry

From: <>
Date: Sun, 11 Oct 2015 10:05:18 -0700

On Wed, 07 Oct 2015, at 20:14, Michael Hanus <> wrote:

> [... Omissis ...]
> I agree to keep the unification operator in the language definition,
> but with the new name/type (===) :: a -> a -> Bool.
> As you said, one does not want to depend on a tool
> where one knows what is necessary to write efficient programs.
> However, for newbies it might be easier to use one equality operator
> only. In some sense, (===) is just an optimization of (==):
> (==) is complete but sometimes the search space is too big,
> so it can be reduced by unification. From a declarative
> point of view, there is no need for (===). From my point of view,
> this is related to strictness annotations or "seq" in Haskell:
> usually, we don't teach it to beginners, but it is good for
> advanced programmers.

In the spirit of having only one equality operator, the notations
(=:=) and (===) are both unsatisfactory or somewhat misleading. I do
not have a good proposal, but maybe someone else does.

curry mailing list

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

This archive was generated by hypermail 2.3.0 : Fr Jul 10 2020 - 07:15:04 CEST