API-supported way for translating between `Value`s in an `egglog::EGraph` and `ClassID`s in an `egraph_serialize::EGraph`
gussmith23 opened this issue · 1 comments
For a number of reasons which are generally summed up by this issue, I often need to work with both egglog::EGraph
s and egraph_serialize::EGraph
s. It would be great to have an API-supported, stable way of translating between Values in an EGraph and EClass IDs in a serialized EGraph. As @saulshanabrook pointed out to me, it seems like the process of serialization uses a Value's index into the hashcons to generate its corresponding EClass ID, so that's a hacky way of going back and forth:
Lines 104 to 105 in 0da3209
However, it would give me peace of mind to have a way of doing this that's library-supported!
Thanks all!
I can work on adding to the public API functions to go from the e-class ID to Value and vice versa.