[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why would anyone want opacity?



|   Date: Wed, 8 May 1996 13:55:45 -0400
|   From: Mitchell Wand <wand@ccs.neu.edu>
|   Cc: will@ccs.neu.edu, rrrs-authors@martigny.ai.mit.edu

|   The solution that was arrived at in the 70's was the concept of
|   information hiding and abstract data types.  The point of this was
|   that it is insufficient to merely decree, as Jeff suggests that

|   ...

|   The arguments in favor of strong abstraction resemble in many ways
|   the arguments in favor of strong static typing, and the objections
|   to strong abstraction resemble those against static typic.  This
|   is not a coincidence: static typing is one way of building certain
|   kinds of abstraction boundary.
|
|   For a good short discussion of information hiding, see 
|
|   Steve McConnell, "Missing in Action:  Information Hiding", IEEE Software,
|   March 1996, p 128.

As Jeff has arguled, your example does not argue for opacity.  It
argues for disjointness of new types.

Disjointness eliminates the accidental use of the concrete representation.

Your position (not justified by your examples) implies that such
access should be disallowed (rather than strongly discouraged and
unlikely to happen accidentally).  However, as we've been discussing
for a while, this also disallows the existence and creation of generic
a-posteriori tools.