Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
yes this makes sense for simple assumptions.
Yep, the goal of this discussion should be to really try to find as many pitfalls as possible and to see if they are really pitfalls.
however, what about "consistent data"?
problem1: what happens if you delete a [table foo] object? what happens if you create another [table foo] instance just after deletion? this might be handled explicitely for pd's internal tables, but how about similar (external!) "tables"? problem2: how to deal with singletons? (but thinking about this reveals, that the deletion of singletons' isn't handled "correctly" anyway (actually it is not handled at all - until we have someting like the [closebang]; and once we have this, the problem will be solved anyhow); so this might not be such a big problem)
Funny: I was also thinking about how this may affect to singletons recently.
Anyway one thing we should probably keep in mind: The problems we talk about only occur for objects, that are trying to delete themselves, that want to commit suicide. So we don't need to think too much about "passive" objects that cannot do anything anyway, about objects that don't have outlets and aren't senders. [table] currently seems to be such an object, that can only be killed from the outside.
However it is not clear, that [table] will be such an object for all times. For example data structures already are "active" objects, that can produce messages when manipulated with the mouse or so. Attached is an example for this. Data structures may introduce new complications, as it's also possible to delete the [struct] definition through an action initiated by an instance of this structure. This currently crashes, too (also attached) but deleting a [struct] while instances are still alive can crash Pd anyways, so I'm not sure, if this is a suicide-related problem.
Ciao