|
|
|
|
|
by dylukes
998 days ago
|
|
AoVA lacking its own total ordering on indices might be a problem for some use cases, but not for the one that is suggested here: AST nodes. In these cases, the arrays can be just one component (could think of it as an arena) of a heap-ish structure. [1] The cost is that your indices now need to be two dimensional (tag_idx, va_for_tag_idx). But the number of tags is known at compile time and you can optimize storage by packing so that tag_idx is the upper 4-5 bits and va_for_tag_idx uses the rest. See: [1] https://www.cs.cornell.edu/~asampson/blog/flattening.html |
|