Are components side-effect free?

I think we are getting closer to having a consensus on issue 3096:

Issue 3096
Are components side-effect free?
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3096

On 4/26/06, Norman Walsh <Norman.Walsh@sun.com> wrote:
> I propose that we say that all components are non-functional. That is,
> a pipeline implementation must behave as if it evaluated a component
> every time it occurs [in the context of this message, everytime it is
> used in a step]. "Must behave as if" is spec-ease for "implementations
> that are clever enough to determine with certainty that a component
> is, in fact, functional are free to cache the intermediate results
> because by golly if it is, no one will be able to tell."

Our answer could be: The pipeline language does not mandate components
to be side-effect free. It is expected that amongst the components
provided by an implementation, some will be side-effect free, while
other will have side-effects. Some implementations are expected to
perform some type of caching. They will leverage the information they
have cached combined with their knowledge of components to skip the
evaluation of some steps. To be considered conformant, an caching
implementation must exhibit an behavior equivalent to a conformant
implementation that does not perform any caching.

Alex
--
Blog (XML, Web apps, Open Source):
http://www.orbeon.com/blog/

Received on Saturday, 29 April 2006 01:24:11 UTC