I am doing yet another code review of the expander for Vicare, splitting the one big library into a set of smaller libraries: faster compilation, better code partitioning and so clarity. I am also writing a new documentation chapter on the internals of the expander: it will not be a full explanation of how the expander works, but it will make understanding easier (I hope).
I want to expose some of the internals to allow inspection of how the rib
and stx
objects and the marks are used, but I am still studying how to do
it.
I will take this occasion to write an apology: in the past, I have written about the expander’s internals stating wrong assertions about the algorithm. Sorry if this caused further confusion in an already difficult topic.