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

opaque record types

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'

- 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