macros pasted by andyjpb on Mon Oct 29 23:55:25 2012

(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 (= 5 (length defn))))
	  (name   (first defn))
	  (args   (second defn))
	  (writer (third defn))
	  (reader (fourth defn))
	  (uri    (fifth defn))
	 )
   (list 'quote
    `(define (,name ,@args ,proc)
			  
			  ))))))

no title added by anonymous on Tue Oct 30 00:15:38 2012

(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)