New feature: proper object lifecycle protocol; init and teardown fragments.
A class definition may contain fragments of C code for initialization
and teardown. Initialization fragments are invoked from the default
`init' message behaviour, in least-to-most specific order, immediately
after initializing the corresponding class's direct slots (if any);
teardown fragments are included in the default behaviour of a new
`teardown' message, in most-to-least specific order.
Now that we have initialization and teardown, we can implement more
useful object lifecycle functionality around them, e.g., dealing with
dynamically allocated objects. Appropriate new definitions have been
added to the library.
17 files changed: