[R6RS] Records draft
dyb at cs.indiana.edu
Tue Jun 28 00:43:52 EDT 2005
Hi---I'm finally back on line and am trying to catch up, slowly.
> > I do remember that we discusses a procedural interface for records in
> > Boston but I don't remember which were the arguments in favor of such an
> > interface. Could someone remind me this? Thanks.
> It's there for two reasons:
> - for explaining the semantics
> - to enable introspection, i.e. for debuggers or pretty printers
Actually, a primary reason historically is to allow the construction
of portable interpreters that can create record types that are the same
as those created the host evaluator. Introspection (reflection) is the
other major reason.
> It explicitly has library status in the draft---I expect that Scheme
> implementors who are violently opposed to non-opaque records will just
> not implement that part.
I believe that the procedural interface should be part of the core
language, and that we should provide a way for the record definer
to prevent reflection. Security is a concern not just of a Scheme
implementor but of implementors of individual libraries.
More information about the R6RS