ToDo-list
Blueprints a todo list entry The first argument is the indicator. It is a list of sources like in ToDoListEntry. Each entry SP has to be a threetuple. First entry of SP has to an object, for which the second entry of SP, which has to be the name of an attribute, must become known. Once the attribute is known to the object, it will be compared to the third entry of the list. This can be a value, which is compared directly a function, which is launched and its return value is compared, or a list, consisting of a function and arguments, so the return value of the function with given arguments is compared. If there is no third entry in SP, it is only looked up if the value is known. Once all entries in indicator are processed like this, and all returned true in the comparasion, a list of ToDoListEntryForEqualAttributes is installed. They are installed for the two entries of the list objects which can either be the objects itself or a list containing a function and arguments, which return value is used. For each entry in attributes such an entry is installed. Such an entry can be the name of an attribute, if both objects in objects should share the value between attributes with the same name, or a list of two names, if the attributes do not have the same name. a todo list entry This function creates a ToDoListEntry which can install several ToDoListEntries. The first two arguments, indicator and objects except that there will be only ToDoListEntries installed between the two objects in objects. Each entry in attributes can either be a string which means that the attribute with the given name will be set from the first to the second object in objects once it is known. The third argument attributes is a list of attributes that will be propagated by ToDoListEntries. Each entry TP can either be a list consisting of a DescriptionOfImplication string and one of the following or just one of the following lists: It can be a string, which means that the Attribute with the given name will be propagated from the first to the second object. It can be a list, consisting of two entries, where the first entry is a list of sources like in ToDoListEntry and the second might be a function which will be launched once the first part is fulfilled. It can also be a threetuple which will serve as second to fourth argument of ToDoListEntry. Or it can be a string, which will set the attribute named like this of the first object to the one named in the second object a todo list entry This function allows to create more than one ToDoListEntry with identical list of sources at one time. First argument is a list of sources like in the other ToDoListEntry functions Second argument is a list of threetuples, which serve as second to fourth argument of ToDoListEntry or a function, which serves as second argument for ToDoListEntry or a tuple with a description string and one of the above. Represents the objects for which the blueprint is created in the arguments nothing This function installs an immediate method which can install ToDoListEntryToMaintainEqualAttributes. First argument must be a filter, and once the filter becomes true the ToDoListEntryToMaintainEqualAttributes is installed with the second to fourth argument as first to third. In those attributes, at any point, the variable ToDoList_this_object can be used. When the entry is installed This will be replaced with the object to which the filters became known, i.e. the one which triggered the immediate method. nothing The same as ToDoListEntryToMaintainEqualAttributesBlueprint for ToDoListEntryToMaintainFollowingAttributes nothing The same as ToDoListEntryToMaintainEqualAttributesBlueprint for ToDoListEntry
ToDo-list entries Adds the ToDo-list entry E to the ToDo-lists of it's source objects and creates a new one, if this is needed. This function might be called with lists of entries a list Returns the a list of source parts of the ToDo-list entry entry. This is a triple of an object, a name of a filter/attribute, and a value to which the attribute has to be set to activate the entry a list Returns the target part of the ToDo-list entry entry. This is a triple of an object, a name of a filter/attribute, and a value to which the specific filter/attribute should be set. The third entry of the list might also be a function to which return value the attribute is set. a boolean Processes a ToDo-list entry, i.e. sets the information given in TargetPart if the definitions in SourcePart are fulfilled. Returns a function if the entry could be processed, false if not, and fail if SourcePart or TargetPart weren't availible anymore. a ToDoListEntry The first argument must be a list consisting of two, three or four-tuples where the first entry must be the object to which the attribute given as a string in the second entry must be known to process this entry. The second entry can also be a list of strings, in that case all the attributes given as names must be known. Also, in this case, only two entries in this tuple are allowed. The third part can be a value or a list, consisting of a function followed by arguments which will be computed by the time the attribute given as second entry becomes known to the first entry. If the second part is only a string, and there is a third entry in the tuple the attribute is compared to the third entry. One can set a comparating function as fourth entry, which must take two entries and return false or true. If the value of the attribute matches the (computed) value in the third entry for all members of the list in the first argument the attribute given as third argument, also by name, of the second argument is set to the value of the fourth argument. This can also be a list which has to be computed, or a function, which retun value is used in this case. a ToDoListEntry The first argument is a list of three-tubles like above. Once all preconditions become fulfilled the function given as second argument is launched. nothing If the given value of the target part is the return value of a function this command sets the target value of the entry to a function. This is done to keep proof tracking availible. nothing If the target object, i.e. the first entry of the target part, was given as a function, this method can set this entry to the return value computed in ProcessToDoListEntry. This happens atomatically, do not worry about it. a ToDoListEntry Creates a ToDoListEntry which also installs a contraposition. The arguments source_prop and target need to be strings which name a property, and sval and tval need to be boolean values, i.e. true or false. a list Has to be set to a string, which describes the reason for the conclusion. If the ToDo-list entry is displayed, the given string will be displayed with a because before it. a ToDoListEntry Creates a ToDoListEntry for two equal attributes, which means that both values of the two attributes will be propagated in both directions. a ToDoListEntry Creates a ToDoListEntry for two equivalent attributes, which means that both values of the two attributes will be propagated in both directions. Please note that this one does NOT implement contrapositions.
Category true or false This is the category of ToDo-lists. Every ToDo-list is an object of this category, which basically contains the ToDo-lists.
Constructor nothing Creates a new empty ToDo-list.
This is the magic a boolean Gets a ToDo-list entry, which is a pair of a list of strings and a weak pointer object, and processes it. If the action was done, it returns true, if not, it returns false, and it returns fail if the action is not possible anymore due to deleted objects. nothing This is the magic! This attribute is never set. Creating an ToDo-list entry installs an ImmediateMethod for this attribute for the specific category of the object to which ToDo-list is added, and the filter the entry contains. It is then triggert if the filters become applicable, so the ToDo-list is processed
Methods for all objects A ToDo-list Returns the ToDo-list of an object, or creates a new one.
Proof tracking This is a way to track proofs from ToDoLists. Not only for debugging, but also for knowing how things work together. a tree If the object obj has the attribute name, and its value is val, and the knowledge has been obtained trough ToDoList-entries, this method traces the way the property was set, and returns a tree which describes the full way of how the attribute became known.
Maintainance nothing This operation activates ToDoLists for the argument. nothing This operation activates ToDoLists for all objects. nothing This operation deactivates ToDoLists for the argument. nothing This operation deactivates ToDoLists for all objects. Note that it is not possible to activate ToDoList for a single object while they are not activated. ToDoListEntries will yet be stored for all objects that can have ToDoLists. All objects created while ToDoLists are deactivated have by default no ToDoList. nothing Stores the result of Where( 100 ) in an entry if the entry is triggered. This is not activated by default, since it might slow down the system. nothing Deactives the storage of the result of Where( 100 ) if an entry is triggered. This is the default.