Re: QT4CG meeting 145 draft agenda, 9 December 2025

> 
> Thanks! it was an issue in Abel’s exslt unless i remembered incorrectly,
> but of course that was a long time ago, and his paper that mentioned it
> may have been written to a draft. Either way, Saxon sets a high
> standard!
> 

Well, as Dimitre habitually reminds us, Saxon may do pretty thorough pipelined evaluation of sequences, but we don't do any pipelining for arrays. It will no doubt get onto the list as soon as a  paying customer tells us it's urgent. Different implementations are always going to differ in what functionality they choose to optimise.

That's really why we need some use cases we can study. The old XQuery use cases would be a good example to follow. Use cases would enable us to talk about the details of the proposed spec and the impact of doing things differently, and it would also enable us to study what assumptions are being made about optimizations that are needed in the implementation.

I currently have a gut feeling that many of the use cases could be satisfied by a simple function such as

generate-sequence($initial-state, $step)

returning a sequence of states, where $step is a function that computes the next state from the current state. For example you could get a sequence of 1000 random numbers by doing

for $random in generate-sequence(random-number-generator(current-dateTime()), fn($state){$state?next()})
count $size
where $size < 1000
return $random?number

Efficient evaluation (and indeed, termination) depends, of course, on the FLWOR expression being pipelined.

To test that gut feeling, we would need to see more use cases. Which of the use cases are NOT easily satisfied by such a simple generator function?

Michael Kay
Saxonica

Received on Tuesday, 9 December 2025 17:38:51 UTC