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.
Regards,
Michael
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Do Nov 11 2004 - 12:54:24 CET