Achim Gratz wrote: > Eric Schulte writes: >> In that thread we agreed that the expansion of no-web references >> *should* be included in code blocks for hashing, but no-one has had the >> time to implement this. > > I think we may have discussed this before, but if you make the hashes > dependent on the possibly recursive noweb expansions this would require > that all expansions be re-computed all the time
I did not think at recursive Noweb expansions. But, yes, that problem could come up as well. > or you would need to discern which of the expansions are "pure" (i.e. depend > only on their arguments, functional-style), which have session semantics and > which of the ones that have session semantics should possibly not be > re-evaluated. I'm not sure that opening this can of worms is worth the > trouble. Maybe a solution to avoid recomputing too much things (in number, and in taken time to do that) would be to only compute the hash for "static" expansions -- the ones without parameters, where it's simply a copy/paste of text in multiple spots. If even that is not done/doable, then some error should be triggered when one uses both the "cache" and the "noweb" header arguments. Because, in the current situation, we think that the graphs (or, in a general way, the results) are up-to-date while it's wrong -- you've changed some piece of code somewhere, and the cached results are still used. Best regards, Seb -- Sebastien Vauban