Re: Name discussion for new primtive

From: Michael Hanus <>
Date: Thu, 11 Nov 2004 12:51:58 +0100

Bernd Brassel wrote:
> > Nevertheless, I still prefer simply 'eval' (it would be more
> > conservative for people from lazy functional programming), we
> > just need to clearly state in the report that it evaluates its
> > argument to a non-variable value, i.e., a constructor-rooted term.
> I think the idea to call it something like eval is good. evalC, however,
> could imply, like ground, that the value does not contain any logical
> variables at all. But evalC [X] should not suspend.
> Can we express this easily as well or do you think there will be no
> misunderstandings?

I don't think so. Since the evaluation primitive "seq" is well known,
"eval" seems very similar to "seq" and the difference is not reflected
in the name. Moreover, we usually say that, at the top-level, an
input expression is "evaluated" to a normal form. For instance,
the expression "id X" is evaluated to "X". Therefore, it might
be very confusing if "eval (id X)" cannot be evaluated but suspends.



curry mailing list
Received on Do Nov 11 2004 - 12:54:24 CET

This archive was generated by hypermail 2.3.0 : Do Jun 20 2024 - 07:15:07 CEST