Hi Michael,
perhaps it is time to add monads to XPath?

They should solve this issue and all related ones



Best,
Benito


On 05/07/2014 12:58 AM, Michael Kay wrote:
The big problem with a nondeterministic random() function is not defining the 
order of execution, but preventing it being optimised out of a loop. For 
example, how do we ensure that

$xxx[random() gt 0.5]

doesn't select either all the values or none?

Anyway, we're not planning to do non-determinism. This exercise is about 
designing a deterministic way to meet the requirement.

Michael Kay
Saxonica

On 6 May 2014, at 23:48, Michael Sokolov <[email protected]> wrote:

On 5/6/2014 6:41 PM, Michael Kay [email protected] wrote:
My policy on side effects is: all expressions containing side effects are going 
to be evaluated in order

I do something like that in Saxon as well. But I don't attempt to define what "in 
order" means; for example, the order in which different global variables are 
evaluated. Doing this in the spec would be much more problematic.

You don't think it would be reasonable to say something to the effect that the 
order in which non-deterministic expressions are evaluated is non-deterministic 
(ie implementation-defined)? Certainly it would be reasonable enough in the 
case of a random number generator.  Although I suppose if you are going to seed 
it, you would like the seed to effect the random numbers that are generated.

-Mike
_______________________________________________
[email protected]
http://x-query.com/mailman/listinfo/talk



_______________________________________________
[email protected]
http://x-query.com/mailman/listinfo/talk

Reply via email to