Hello Germán, > (if (guile-a?) > (define-macro (define-public-macro head . body) > `(define-public ,(car head) > ;; FIXME: why can't we use procedure->macro > ;; for a non-memoizing variant? > (procedure->memoizing-macro > (lambda (cmd env) > (apply (lambda ,(cdr head) ,@body) (cdr cmd)))))))
For these guile version related code, I suggest something like this: (cond-expand (guile-2 ... ...) (else (define-macro (unless test . body) `(if (not ,test) (begin ,@body))) (export unless)))) Here is a real case example [which starts @ line 44]: http://git.savannah.gnu.org/cgit/guile-gnome.git/tree/glib/gnome/gobject/utils.scm Cheers, David