[cap-talk] Domain change (IPC?) overhead

David Wagner daw at cs.berkeley.edu
Tue Mar 25 16:49:09 EDT 2008


Jonathan Shapiro writes:
>The broader, more
>interesting issue that you raise, and that MarkM raised indirectly, is
>that not all domain boundaries need to guard all issues. DeepCopy
>boundaries might be something one wants to state explicitly.
>
>Which raises the question: is DeepCopy a type or a qualifier?

That's an interesting issue (and I didn't realize I was raising it).

My impression is that type qualifiers are most useful when the concept
expressed by the qualifier is orthogonal to the concept expressed by the
type (e.g., it makes sense to have both a DeepCopy T and a non-DeepCopy
T, and the implementation of a T should not have to be aware of the
DeepCopy status).  In this case, I don't think DeepCopy is separable
from the representation of the type, so I'm inclined to say it should
work fine to have it be a type, not a type qualifier.

You can have a type T that is a subtype of DeepCopy but where you use it
ignoring its DeepCopy properties.  So this would give you two kinds of
types: those that don't support DeepCopy and must be proxied if passed
over a DeepCopy boundary; those that do support DeepCopy and can be
either copied or proxied, whichever is more convenient.  This would
also give you two kinds of boundaries: those that only allow you to pass
DeepCopy-able objects across them; and those that allow you to pass any
object you please.

That's my first reaction, without having given it any real thought.


More information about the cap-talk mailing list