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

Re: Small modification



   Date: Sat, 10 Jul 1999 00:32:56 -0400
   From: Olin Shivers <shivers@xxxxxxxxxxxxxxxxxxxxxxx>

   First, put the field-spec's in their own list.

   [...example...]

   This allows future SRFIs to extend this SRFI's syntax with extra items,
   such as Dybvig's meta-programming hooks, or "method definitions"
   for generic operations such as printing or disclosing.

I would rather keep this SRFI's syntax simple and let future SRFIs
do whatever they want.  There are many different variants of
DEFINE-RECORD-TYPE; it isn't possible to be compatible with all
of them.

   Second, Dybvig's old higher-level proposal had one extra field, an
   identifier field, which was a value that was put into the record
   type descriptor for use by the introspection facilities (e.g., the
   debugger). I allowed for this in my proposal, so you wrote

       (define-record-type ship :ship
	 (make-ship size name)
	 ...)

   The "ship" symbol appearing as the first form was the identifier field.
   This is not ultra-important, but I thought I'd throw it out.

This is the syntax that is used in Scheme 48.  As you say, the
initial `ship' is only used for introspection.  The `:ship' can
be used instead, so I threw out that initial field.  The syntax
is wordy enough as it is.
                                     -Richard Kelsey