I understand the basic concepts, but are there any special algorithms used or maybe some blogs, papers or even books on the subject for someone building their own system? There seems to be very little information out there on actually implementing a system like this.
I understand the basic concepts, but are there any special algorithms used or maybe
Share
The dependency tree itself is trivial to load, all you need is some mapping from keys (such as names) to objects.
You’ve not specified any language, so I’ve chosen Python. The expected input is a file of lines in the form “[name]: [space separated dependencies]”.
This code assumes any item not listed has zero dependencies, and you could traverse the tree to add empty entries if desired. At the very least you should check for recursive dependencies.
Example:
[Note: I take a shortcut, since I really don’t require a file of lines, but an iterable of lines (which a file meets), so I pass a list of lines to the function.]
You can build all sorts of functions on top of this basic structure, and encapsulate it and those concepts (like depends vs recommends vs suggests, and even conflicts vs replaces, etc.) into various objects specific to your system.