On Wed, 07 Oct 2015, at 20:14, Michael Hanus <mh_at_informatik.uni-kiel.de> 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.
Sergio
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Do Okt 15 2015 - 17:15:50 CEST