Name discussion for new primtive

From: Bernd Brassel <>
Date: Thu, 11 Nov 2004 11:29:54 +0100

We have discussed a little bit about the name for the new primitive
exchanging rigid eval annotations. Short summary of arguments:

1) The name waitFor
  + expresses identity
  - is quite operational
  - seems not to cover the behaviour correctly, as there is not always
any waiting involved, for instance (waitFor 3) does not wait any more
than (id 3) (whatever waiting exactly means).

2) suspendOn
  - too operational
  - not nesesarily any suspension involved

3) groundVal
  - misleading: does groundVal [X] suspend?

4) groundHnf
  + seems to describe the result correctly.
  - does not mention anything about suspension (does it need to?)

5) binding
  - misleading: for X=:=Y &> binding X Why is the result not Y (as in
  - what does (binding 3) mean?

6) rigid
  - not easy to understand the meaning, for someone, who does not know
the history.
- bad meaning in Prolog

7) nonVar
  + seems to describe the behaviour well
> Similarly to other selectors (e.g., "snd" returns the second component
> of a pair), nonVar returns the "non-variable part" of a term,
> i.e., the term itself if it is a non-variable. If it is a variable,
> it cannot return anything until the variable is known.
  - bad meaning in Prolog

Are there more pros and cons that I did not mention? Herbert, do you
have some more arguments in favour of waitFor?
It seems to me now, that groundHnf and nonVar are the most reasonable
names, what do you think?


curry mailing list
Received on Do Nov 11 2004 - 12:30:08 CET

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