Self paper: "Annotating Objects for Transport to Other Worlds"
Annotating Objects for Transport to Other Worlds
David Ungar
Abstract:
In Self 4.0, people write programs by directly constructing webs of
objects in a larger world of objects. But in order to save or share
these programs, the objects must be moved to other worlds. However,
a concrete, directly constructed program is incomplete, in particular
missing five items of information: which module to use, whether to
transport an actual value or a counterfactual initial value, whether
to create a new object in the new world or to refer to an existing
one, whether an object is immutable with respect to transportation,
and whether an object should be created by a low-level, concrete
expression or an abstract, type-specific expression. In Self 4.0,
the programmer records this extra information in annotations and
attributes. Any system that saves directly constructed programs
will have to supply this missing information somehow.
Proceedings of the ACM OOPSLA'95 Conference, Austin, TX, 1995.