Norm: XSLT assumes that they are side effect free, can we assume the same?

15:11:11 [Norm]

Alex: If you want a side-effect, pass the stuff through the pipeline.

15:11:33 [Norm]

Alex: Something that goes around the back and passes a note can't be prevented

15:11:34 [MoZ]

side effect free is intimately related to management of resources

15:12:05 [Norm]

Alex: If parameter are a separate thing, then you could imagine a step that sets parameters.

15:12:46 [Norm]

Alex: I'm not sure we know enough about the whole structure to know how to resolve this

15:13:03 [MSM]

q+

15:13:12 [MSM]

zakim, Michael is MSM

15:13:13 [Zakim]

+MSM; got it

15:13:24 [Norm]

Alex: Is it sufficient to say for now that we don't want to encourage side effects?

15:13:29 [MSM]

ack MSM

15:13:46 [Alessandro]

q+

15:14:10 [Norm]

MSM: I wonder if it would do the trick to say, if there are side-effects their order and number of times they occur is undefined.

15:14:34 [Norm]

MSM: If you know the order of side effects is going to be ok, then you know something that this spec and this implementation are not obligated to tell you

15:14:46 [Norm]

MSM: "It's your problem"

15:14:48 [Norm]

ack Alessandro

15:15:23 [Norm]

Alessandro: What is the definition of a side-effect in this discussion?

15:15:26 [MoZ]

Zakim, mute me

15:15:26 [Zakim]

MoZ should now be muted

15:15:37 [MSM]

s/that this spec and this implementation are not/that this spec does not and this implementation is not/

15:15:42 [Norm]

Alessandro: Given the same input documents, a transformation might produce different outputs

15:16:08 [MSM]

zakim, who is making noise?

15:16:19 [Zakim]

MSM, listening for 10 seconds I could not identify any sounds

15:16:28 [Norm]

Alessandro: And I see a lot of components that would be useful, to fetch things from a database or web service for example, where it would be hard to gaurantee no side effects

15:17:37 [Norm]

Norm: I want it to be the case that if you pass the same inputs to a component, you will get the same result. Or that an engine is free to return the same result.

15:17:54 [Norm]

MSM: In that formulation, I have a lot more sympathy

15:19:35 [MoZ]

imagine the information of the time and date

15:20:43 [Norm]

Norm expresses again his desire to be able to cache results

15:22:01 [MoZ]

he that's my sample :)

15:22:14 [Norm]

s/he/hey/

15:23:19 [MoZ]

Norm, XSLT is a functionnal language

15:24:06 [MSM]

[MSM thinks the discussion is not sufficiently clear in distinguishing the cases where (a) side-effect-free ness is required and (b) it is allowed and (c) it's not allowed (whatever that might mean)

15:24:10 [MSM]

]

15:24:17 [MoZ]

Norm, +1 for default is side effect free

15:25:52 [Norm]

Alessandro: What is the value of saying components are side-effect free? Unspoken benefit is related to caching, which I support. But it looks like the type of side-effect free language we are thinking about would only have an implication on caching on running the same steps multipe times in the same pipeline

15:25:56 [MoZ]

Alessandro, not just caching but also intrepreting the structure

15:26:06 [Norm]

Alessandro: I don't see that case as happening very often

15:26:41 [Norm]

Alessandro: Is this really the case we're talking about?

15:27:16 [MoZ]

good example is cocoon expire parameter

15:27:17 [Norm]

Alessandro: The case I see more often is that you run the same pipeline multiple times and you want to cache results across multiple executions.