Re: processing steps every time

/ James Fuller <james.fuller.2007@gmail.com> was heard to say:
| in section 2 Pipeline Concepts it states;
|
| 'The result of evaluating a pipeline (or subpipeline) is the result of
| evaluating the steps that it contains, in an order consistent with the
| connections between them. A pipeline must behave as if it evaluated
| each step each time it occurs. Unless otherwise indicated,
| implementations must not assume that steps are functional (that is,
| that their outputs depend only on their inputs, options, and
| parameters) or side-effect free.'
|
| wondering if this is too limiting a paragraph with respect to possible
| future optimizations ... for example, does the above term 'evaluated'
| include simplifying a multi-container step to a container step, when
| static analysis reveals that a certain logic branch (e.g. xpath
| condition) is never satisfied.

No, the magic phrase is "must behave as if". If static analysis reveals
(correctly :-)) that only one branch of a choose *can ever happen* then
discarding all the other branches and simplifying the step will *behave
as if* each step was evaluated. At least, that's my understanding.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | Our culture peculiarly honors the act
http://nwalsh.com/            | of blaming, which it takes as the sign
                              | of virtue and intellect.--Lionel
                              | Trilling

Received on Friday, 2 May 2008 13:20:42 UTC