2009-12-16

safe pointers

7.6:
. pointers all include the id of the scope they are part of,
so that when asking a type-mgt to make an assignment to that pointer,
it can tell whether the scopes differ,
-- looking esp'ly for when a local
is being assigned to an external --
and, then things can be arranged to guard against dangling pointers .
. this needs to include the idea of monads
where each external has a local proxy,
and then it's the responsibility of the run-time system
-- not the type-mgt --
to worry about dangling pointers .


8.9: adda/pointer/types of addressing:
. pointers are addresses;
here is a catalog of addressing types or dimensions:
. persistent pointers can target the name, location, or contents:
{ url -- name of path and file
, filename -- any object or location having that name
, file obj -- the particular object regardless of changes in filename or location
}
. non-persistent addresses -- specific to a time or space domain:
( these are pointers that are indexes or offsets of a private [or local] heap,
ie, a heap used only by a particular
process, type, type.class, or object .
)
. pointer ownership:
clients can refer to obj's by pointers
and servers can use private pointers to structure their obj's .