Types
The following code snippet provides an easy way to print the type tree of probabilistic circuits.
using InteractiveUtils;
using ProbabilisticCircuits;
using AbstractTrees;
AbstractTrees.children(x::Type) = subtypes(x);For example, we can see ProbabilisticCircuits.ProbCircuit's type tree.
AbstractTrees.print_tree(ProbCircuit)ProbCircuit └─ PlainProbCircuit ├─ PlainInnerNode │ ├─ PlainMulNode │ └─ PlainSumNode └─ PlainInputNode
AbstractTrees.print_tree(InputDist)InputDist ├─ Binomial ├─ Categorical ├─ Indicator ├─ BitsBinomial └─ BitsCategorical