This page is part of the web mail archives of SRFI 9 from before July 7th, 2015. The new archives for SRFI 9 contain all messages, not just those from before July 7th, 2015.
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