In v0.2 DerivationTree::Derived uses a Box to point to its children, which makes it strictly a tree. However any time there is a shared_id then the tree stores in memory to full copies of the shared portion. It is more accurately a DAG. We should consider storing each cause in a RC (or maybe an ARC) so that nodes that have the same shared_idare stored in the same place in memory.
In v0.2
DerivationTree::Derived
uses aBox
to point to its children, which makes it strictly a tree. However any time there is ashared_id
then the tree stores in memory to full copies of the shared portion. It is more accurately a DAG. We should consider storing each cause in aRC
(or maybe anARC
) so that nodes that have the sameshared_id
are stored in the same place in memory.