Welcome to the CHICKEN Scheme pasting service
if the thing with the ellipsis worked added by certainty on Sat Apr 5 15:23:20 2014
(define-syntax define-record
(syntax-rules ()
((_ ?record (?ctor ?arg ...) ?pred (?slot ?reader ?writer) ...)
(begin
(define (?ctor ?arg ...)
(cons '?record (list '?arg ...)))
(define (?pred rec)
(and (list? rec) (eqv? (car rec) '?record)))
(define (?reader r)
(list-ref (cdr r) (list-index (lambda (y) (eqv? y '?slot)) (list '?arg ...)))) ...))))