Re: [xsl] Sequential numbers in pure xslt, breaking the no-side-effect rule

Subject: Re: [xsl] Sequential numbers in pure xslt, breaking the no-side-effect rule
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 16 Mar 2007 15:55:08 GMT
> I don't have that luxury, 

Sometimes (like here) it's tempting (or even from a performance point of
view perhaps a requirement) to say you need an imperative assignment
with side effects and guaranteed execution order, but in a strong sense
that is not true. That's Turing's (standing on Church and Godel and
others) main insight: Any machine (or programming language) that can
compute anything intersting at all can compute exactly the same
algorithms as every other one. So no algorithm _requires_ state to be
mantained as a side effect, it's _always_ possible to rewrite the
algorithm so that any state required is explictly passed from function
to function. Now it may be that in practical cases the amount of state
that would be required to be passed is large and you don't want to pass
it through a function call interface, but well, that's the job of the
optimising complier to sort out.  Saying that the _end user_ has to
rewrite the algorithm in an imperative style in order to get an
effective computation is just so 1960's:-)

David

Current Thread