This page is part of the web mail archives of SRFI 76 from before July 7th, 2015. The new archives for SRFI 76 contain all messages, not just those from before July 7th, 2015.
I have several of questions about the 'opaque'
option.
- Why are its effects limited to the reflective
procedures? Is it a restriction on them or
is something more general intended? Should
implementation-specific debuggers be allowed to
inspect opaque records? It seems very un-Scheme-like
to explicitly restrict programs and implementations
in this way. A program that runs in an implementation
that implements this restriction will get the same
result in one that ignores it.
- If this functionality is important, shouldn't
there be a general mechanism that would apply
to procedures, ports, and other data structures
as well?
- It seems unfortunate to have to specify opacity
when a record type is created. Suppose I want
to use a general queue package, say, that is
implemented using non-opaque records, but I want
to hide the internals. As it is, I must create
my own opaque type that wraps the general one.
-Richard Kelsey