[xsl] Re: Reference to variable cannot be resolved.

Subject: [xsl] Re: Reference to variable cannot be resolved.
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Fri, 14 Feb 2003 20:25:35 +0100
"David Carlisle" <davidc@xxxxxxxxx> wrote in message
news:200302141743.RAA02084@xxxxxxxxxxxxxxxxxxxx
>
> > I am sure that if you were designing your own language you'd never
> > allow such a practice.
>
> I think actually it's more normal to allow this than not.
> in lisp dialects it's not usually an error if a let binding shadows
> a binding of the same name. in lambda calculus you allow
> lambda x. ( x .... lambda x. (....x ) ... x)
> with the usual understanding that the 1st and 3rd x are a different
> variable (bound by the outer lambda) to the 2nd x which is bound by the
> inner lamda.


This is not exactly the same. The leftmost x has the greatest scope, which
covers the scope of the inner x. This is really shadowing.

What the WD specifies is two or more x-s with exactly the same scope. This
is confusing, to say the least.
Also, the WD is lacking the Lisp dialects brackets, therefore guessing what
the real scope of one of the many identically named variables is -- this may
become a rather difficult and unpleasant task.

I think the biggest problem here is that the scope of a variable is no
longer obvious in these cases. This will also impose an (hidden) order of
evaluation, which is not the most desirable feature for a non-imperative
language.


=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread