Denys Duchier wrote:
> luque@info.ucl.ac.be (Luis Quesada) writes:
>
> > My point is that '#'(X,Y)=Z is a syntax error because a variable
> > cannot occur in the position where Y does. Am I wrong?
>
> You are completely wrong. As I explained, a statement is not an
> expression. X,Y is a fine statement. X,foo(Z) is also a statement.
> X,foo($) is an expression, it is merely convenient syntax for
> local Z in X,foo(Z) Z end, where X,foo(Z) is a statement. The
> distinction between statement and expression is a static one.
>
>
Perhaps what is confusing is that you discarded the most important part of
my previous message :-). Let me try another way of asking the same:
assuming the following context for the variable:
'#'(X, )=Z
can a variable occur in this context? Cannot this be inferred statically?
Luis
-- Catholic University of Louvain Department of Computing Science and Engineering Place Sainte Barbe, 2 B-1348 Louvain-la-Neuve, Belgium Phone: (++32) (10) 47 90 13 Fax: (++32) (10) 45 03 45 Web: http://www.info.ucl.ac.be/~luque- Please send submissions to hackers@mozart-oz.org and administriva mail to hackers-request@mozart-oz.org. The Mozart Oz web site is at http://www.mozart-oz.org/.