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

Re: Generative record types



> From: "R. Kent Dybvig" <dyb@cs.indiana.edu>
> Subject: Re:  Generative record types
> Date: Wed, 24 Apr 1996 16:44:40 -0500 (EST)
> 
> > 1. I am in favor of opaque types, and object to the make-record-type
> > proposal on the grounds that it builds into the language support for
> > breaking abstractions.  If we had a mechanism for specifying
> > programming environment support, abstraction breaking mechanisms would
> > be worth considering, but not as part of the language.
> > 
> > [ ... ]
> 
> > 2. I object to the procedural interface and prefer a syntactic
> > interface [ ... ]

Isn't this rather similar to the disagreement over macros?

Might it not be handled in a similar way?  (A high-level, "right
semantics", interface, and then a lower, more open and procedural
level.)

I think I understand why some want to stop people from breaking
abstractions.  But sometimes -- I'm sorry -- that's just what I
want to do.  I've found it annoying, for instance, that in Common
Lisp that way to "break into" structs is implementation-specific.

Could we perhaps compromise by having a way to say whether a
particular struct type was opaque or not?  Or would we then
fall out over the built-in types?

-- jeff