(define-syntax define-method (ir-macro-transformer (lambda (expr inject compare) (assert (pair? expr)) (let* ((proc (car expr)) (defn (cdr expr)) (_ (assert (list? defn))) (_ (assert (= 4 (length defn)))) (sig (first defn)) (name (car sig)) (args (cdr sig)) (writer (second defn)) (reader (third defn)) (uri (fourth defn)) ) ;(list 'quote `(begin (define req #;(make-request uri: uri method (if writer 'POST 'GET)) ) (define (sig) req ,writer) ) ; ) )))) ; (define-method (tester a b) #f #f #f)