(define-syntax if-not (syntax-rules () ((_ c t f) (if (not c) t f)) ((_ c t) (if (not c) t)))) (write (macroexpand-1 '(if-not #t 123 456))) (define (main) (let loop ((datum (read))) (unless (eof-object? datum) ())))