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

Re: Opacity considered harmful

Tony Garnock-Jones wrote:
> Michael Sperber wrote:
>> Without opacity and with reflection, a client who
gets its hands on a
>> record can get at its fields, thus breaking the
abstractions provided
>> by the maker of that record.
> I see this as an unqualified benefit. [...]
> Sealedness and opacity have given me nothing but
trouble, and have on
> occasion cost my clients real money.

This sort of dilemma usually tells me that one should
think of
other alternatives. So how about this one?:

Provide opaque records but also provide clients with a
mechanism to get to the internal structure by force.
Ideally, the mechanism is highly visible
(syntactically), and too inconvenient to use 'by

A minimal design for this proposal is adding

So the final choice is with the client: Respect
opacity, or ignore it.

(The only compelling reason I see to have the final
choice with
the designer of the record type is security, and I
agree with
Mike that SRFI 76 is not the beast to send into that