-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1183 Add transient mode and the transient{} expression #1209
Conversation
I’m looking forward to the discussion (the most controversial aspect might be the suggestion to make the behavior completely implementation-defined). Just one note: I have seen the example with transient {
for $i in 1 to 5
return fn:doc('https://nanotime.com')
} |
e8129d7
to
7631d15
Compare
Rebased to current master, and fixed a typo. |
7631d15
to
58a9c7c
Compare
Some questions that I think we should try to answer for us or/and in the spec:
And a Saxon-specific quetion: If we introduce the extension, would make functions like |
(1) I don't think a feature that changes the spec, by relaxing constraints that the specification imposes on implementations, can be considered vendor-specific. |
Thanks.
I would like to understand better whether there’s a chance to use I’m asking those questions because the current prose does not include examples that would help me to understand how we should reasonably support or advocate
I see. If it’s mostly about performance, it seems to be a vendor-specific thing indeed.
As the File Module states that Maybe I’m being too rigorous here. If it’s no strict requirement of the current specification that a processor adheres to the defined function properties, we should think about introducing additional expressions to enforce determinism, or also context (in)dependency and focus (in)dependency, of functions. |
Let me just address one of your points:
I think that's a completely wrong interpretation. "Nondeterministic" means there is no guarantee of how it behaves, it doesn't mean there is a guarantee that it behaves in a particular way. |
I can see your point. Why should then someone write |
My primary use case for this feature has nothing to do with achieving predictable behaviour for nondeterministic functions. It's all about eliminating the cost of achieving predictable behaviour when predictable behaviour isn't required. |
This proposal met some resistance and I've decided to withdraw it. |
Fix #1183