On 4/24/07, Josip Gracin gracin@tel.fer.hr wrote:
Hello!
Could somebody please give me a hint why are the families and kids part of Cells? Obviously, I ask this because I don't really understand their purpose. Is this "family" functionality only a bunch of convenience functions for organizing objects in a tree structure or is there some more profound reason for its being a part of Cells.
It's "just" a bunch of convenience functionality for searching through one-parent-many-children trees. But I put "just" in quotes because you need a suite of tree- or net-searching utilities to really enable the declarative style that makes Cells such a win.
If you're asking because you have different net-searching needs, there's no reason you have to use the family suite of utilities with Cells, you can go ahead and build your own. For example, in a compiler you might want to search for things lexically, or along control-flow or value-flow edges: the family functionality will help you with lexical searching, but for the other two, you can certainly use your own search functions. (And you'll probably want those searches to be in lazy-until-asked cells).