![]() |
|
|
|
|
As I mentioned before, all data-structure operations in DiSTiL designate elements intentionally and not by explicit operations. The mechanism through which this is effected is the assignment of retrieval predicates to cursors. Retrieval predicates and ordering clauses are the only way the user can control a retrieval (the elements that the cursor is actually going to access). The system is then free to implement cursor operations in the most efficient way, given a particular composition.
This effectively raises the level of programming data structures quite a bit. The programmer does not need to explicitly maintain data-structures and determine which ones to use in every occasion.