12345678910111213141516 |
- (module define-macro (define-macro)
- (import scheme
- (chicken base)
- (chicken syntax))
-
- (define-syntax define-macro
- (er-macro-transformer
- (lambda (exp r c)
- (let ((def (cadr exp))
- (body (cddr exp)))
- `(define-syntax ,(car def)
- (er-macro-transformer
- (lambda (e2 r2 c2)
- (define (transform-func ,@(cdr def))
- ,@body)
- (apply transform-func (cdr e2))))))))))
|