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