[xquery-talk] Global variables in XQuery
Bas de Bakker
bas at x-hive.com
Thu Oct 5 10:09:34 PDT 2006
Michael Kay wrote:
> XQuery is a functional language, and like other pure functional languages,
You suggest that XQuery is a pure functional language. But it is not,
because functions can have side effects in the sense that calling the
same function twice with the same arguments can yield different results.
Particularly, if the function creates a new node, it has to be a node
with a new node identity.
Similarly,
let $x := <foo/> return ($x is $x)
is different from
<foo/> is <foo/>
In a language like Haskell, such a substitution of a let-variable could
never change the result of an expression.
Regards,
Bas de Bakker
X-Hive Corporation
More information about the talk
mailing list