Re: set_object_with_name???

Pedro Szekely ([email protected])
Thu, 08 Jun 1995 09:08:50 PDT

Kurt,

Interesting question.

I am afraid that replacing an object can be very hard. By the time you see
the definition, you might have visited other parts of the spec that generated
pointers to the object that you want to replace later on. This will be hard.

I was assuming that once an object is created, its type is never changed, so
that all modifications could be done to the structure that was already in
place. If we want to support type mutation, we will have to move to a
representation that has a header object that never changes, that that all
pointers are kept intact when the type mutates. This wouldn't be hard to add,
but why do it now, given that there is another solution for the problem at
hand.

So, in your example, you have to create a Task object when you see
Specify_account the first time. I think that is possible because it is a
value of the subtasks attribute, otherwise the syntax would have to say:

Generate_Report : Task {
subtask_connection = :And_Connection {
subtasks = Specify_account : TASK!!!!!!!!! [MY_TAG],
Specify_perion : Account {

Later on when you see the definition of Specify_account you might have to
change the is_like link, but that should not be a problem.

Pedro Szekely
USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292
Phone: 310/822-1511, Fax: 310/823-6714
URL: http://www.isi.edu/isd/szekely.html