Comment by mwkaufma

14 hours ago

"How do you apply algo X to a problem which has been narrowly-tailored and/or under-specified to specifically exclude X" isn't exactly a constructive inquiry.

A general graph is not exactly "narrowly tailored". Graphs are pretty common.

  • Graphs are common. But you don't have to represent each edge as a pointer. For example you can represent them using (sparse) adjacency matrices. Or you can represent edges using a pointer in each direction (even for a directed graph) or some other data structure (as is commonly the case in triangle mesh data structures). Lots of options. Most do not require GC.

  • No but they are under-specified. OP is specifically working with a document-hierarchy data-structure with a natural ownership/weak-pointer distinction to exploit -- no need to abstract it to a general graph.

    • Yes, but then they also said:

      > hopefully design your language semantics to discourage cycles

      thus expanding the scope of their comment beyond that specific use case.

      3 replies →