Re: Curry Report Vers. 0.8.2

From: Bernd Brassel <>
Date: Tue, 21 Mar 2006 13:52:55 +0100

Michael Hanus wrote:

> > However, I'll keep the definition of (==) as a primitive
> > (like in the MCC) since its direct implementation is a bit
> > more efficient than compare and it is often used in programs.

Wolfgang Lux wrote:
> Michael Hanus wrote:
>> This is a good point. However, instead of a runtime error,
>> one could also simply fail which expresses the view that "compare"
>> could be applied to any expression but is only defined as a total
>> order in ground data terms.

> ... I would agree
> that this rather indicates a shortcoming of MCC's current support for
> debugging unexpected failures. It is a pity that the declarative
> debugger can help diagnosing wrong answers, but not missing answers.

Thus, why not agree to Sebastians suggestion and express all the
primitives, including (==) by compare?

> We could define (==), (<), (<=), (>) and (>=) in terms of compare.

It is just like Michael said earlier:

> From our experience, every new primitive, in particular
> recursion operators like =:=, == etc., requires considerably
> effort not only for the language implementation but also
> for various tools like debuggers, profiles, analyzers etc.
> Thus, I am in favor to avoid such primitives whenever possible.

I think this was quite convincing.


curry mailing list
Received on Di Mär 21 2006 - 18:17:09 CET

This archive was generated by hypermail 2.3.0 : Mi Apr 24 2024 - 07:15:08 CEST