From 82e908d670ca5542a92394ad5d7c1b5b428450fd Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Fri, 14 Aug 2015 01:53:14 -0400 Subject: [PATCH] First successful test importing macro from compiled lib --- test2.scm | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/test2.scm b/test2.scm index 35427067..d0d7ee14 100644 --- a/test2.scm +++ b/test2.scm @@ -18,26 +18,26 @@ ; ; WTF is the macro unable to be evaluated when the same code works as part of *defined-macros*??? ; -;(define-syntax test -; (er-macro-transformer -; (lambda (expr rename compare) -; (cond ((null? (cdr expr)) #t) -;; (cond ((null? (cdr expr))) -; ((null? (cddr expr)) (cadr expr)) -; (else (list (rename 'if) (cadr expr) -; (cons (rename 'and) (cddr expr)) -; #f)))))) -; -;(define-syntax or -; (er-macro-transformer -; (lambda (expr rename compare) -; (cond ((null? (cdr expr)) #f) -; ((null? (cddr expr)) (cadr expr)) -; (else -; (list (rename 'let) (list (list (rename 'tmp) (cadr expr))) -; (list (rename 'if) (rename 'tmp) -; (rename 'tmp) -; (cons (rename 'or) (cddr expr))))))))) +(define-syntax test + (er-macro-transformer + (lambda (expr rename compare) + (cond ((null? (cdr expr)) #t) +; (cond ((null? (cdr expr))) + ((null? (cddr expr)) (cadr expr)) + (else (list (rename 'if) (cadr expr) + (cons (rename 'and) (cddr expr)) + #f)))))) + +(define-syntax or + (er-macro-transformer + (lambda (expr rename compare) + (cond ((null? (cdr expr)) #f) + ((null? (cddr expr)) (cadr expr)) + (else + (list (rename 'let) (list (list (rename 'tmp) (cadr expr))) + (list (rename 'if) (rename 'tmp) + (rename 'tmp) + (cons (rename 'or) (cddr expr))))))))) (write (test 1 2 3)) (write (my-or 1 2 3 'or))