| ▲ | taliesinb 4 hours ago |
| Hello! Yes I am curious, how does one deal with cycles in the code hash graph? Mutually recursive functions for example? |
|
| ▲ | aryairani 4 hours ago | parent [-] |
| There's an algorithm for it. The thing that actually gets assigned a hash IS a mutually recursive cycle of functions. Most cycles are size 1 in practice, but some are 2+ like in your question, and that's also fine. |
| |
| ▲ | littlestymaar 4 hours ago | parent [-] | | Does that algorithm detects arbitrary subgraphs with a cyclic component, or just regular cycles? (Not that it would matter in practice, I don't think many people write convoluted mutually recursive mess because it would be a maintenance nightmare, just curious on the algorithmic side of things). | | |
| ▲ | aryairani 16 minutes ago | parent [-] | | I don’t totally understand the question (what’s a regular cycle?), but the only sort of cycle that matters is a strongly connected component (SCC) in the dependency graph, and these are what get hashed as a single unit. Each distinct element within the component gets a subindex identifier. It does the thing you would want :) |
|
|