> The way I see this is not a problem with the fn functions. The problem is
> related to the fact how the objects are used. In this case, the objects are
> used to construct a new object. The dataguide needs to handle that. Similar to
> serialization, this means that the entire object is needed.
Yes, this is being handled and the usage of objects is being tracked. The
process() function in the dataguide computation has a parameter for that --
propagates_to_output. You've actually seen it in action -- it is pessimistic
and assumes all fn: functions propagate their input to the output. That is why
the parameter to count() was assumed to be used and you've seen no pruning.
I've now made fn:count() a special case and it's input is no longer considered
used for output and its parameter is allowed to be pruned. All the other
functions are handled as if they propagate their input and skipping is allowed
only where it's indeed possible.
Your team Zorba Coders is subscribed to branch lp:zorba.
Mailing list: https://launchpad.net/~zorba-coders
Post to : firstname.lastname@example.org
Unsubscribe : https://launchpad.net/~zorba-coders
More help : https://help.launchpad.net/ListHelp