Re: processing steps every time

On Fri, May 2, 2008 at 3:20 PM, Norman Walsh <ndw@nwalsh.com> wrote:
> / 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.

I was reading it this way, but uncertain ... thank you for the clarification.

regards, Jim Fuller

Received on Friday, 2 May 2008 13:24:07 UTC