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

Re: Backward compatibility, pattern matching and some small things



Andre van Tonder <andre@xxxxxxxxxxxxxxxxx> writes:

> Hi Jorgen, thanks for your comments
>
> On Sun, 12 Sep 2004, Jorgen Schaefer wrote:
>
>> [...] Is there a good reason for changing the argument order and
>> makeup of the DEFINE-RECORD macro from that specified in SRFI-9?
>> [...]
>
> So as to permit omissions without running into ambiguities (if you agree
> that the possibility of ommissions is a good thing).
> [...]

Thanks for the explanation. I sure don't want to heat up that old
argument, and ...

> Notice that the current SRFI specifies DEFINE-RECORD instead of the
> SRFI-9 DEFINE-RECORD-TYPE, so legacy code using SRFI-9 can be adapted
> by adding a simple macro defining the latter in terms of the former.

... this "minuscle" detail eluded me somehow. Sorry. :-)

Do you think it would be a good idea to include a compatibility
macro for people who prefer the other syntax, but still want to
use some of the features of the present SRFI?

(define-syntax define-record-type
  (syntax-rules ()
    ((define-record-type type-name
        (constructor-name field-tag ...)
        predicate-name
        field-spec
         ...)
     (define-record type-name
       (constructor-name field-tag ...)
       (field-spec
        ...)
       predicate-name))))

> While I specified matching on records (and only on records - the
> rest is not required) because without it, records are much less
> useful to me, there certainly is a strong argument for splitting
> matching off into a separate SRFI, and I *might* do that if I
> can summon up the required mixture of masochism and ruthlessness
> for it.

Good luck for (and I mean that), I'm looking forward to a good
matching SRFI.


Thanks for your considerate reply. I think I'm happy with the SRFI
now :-)

Greetings and thanks,
        -- Jorgen

-- 
((email . "forcer@xxxxxxxxx") (www . "http://www.forcix.cx/";)
 (gpg   . "1024D/028AF63C")   (irc . "nick forcer on IRCnet"))