[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] define-macro in chicken 4?
From: |
Thomas Chust |
Subject: |
Re: [Chicken-users] define-macro in chicken 4? |
Date: |
Sun, 23 May 2010 22:34:03 +0200 |
2010/5/23 Alejandro Forero Cuervo <address@hidden>:
> [...]
> It makes it very difficult for me to continue to trust Chicken as a
> development platform when certain APIs get removed like that, with
> little to no consideration to how much effort it'll take for its users
> to keep their software working.
> [...]
Hello Alejandro,
in my humble opinion, the advantages of hygienic macros and a nice
module system were definitely worth a breaking change. In fact, these
features probably make CHICKEN code more robust and reusable for the
future.
If you don't care about hygiene, though, you can always turn old-style
unhygienic macros into bad-style unhygienic explicit renaming macros
;-)
Try something like this:
(define-syntax define-macro
(syntax-rules ()
[(define-macro (id expr) body ...)
(define-syntax id (lambda (expr id-rename id=) body ...))]
[(define-macro id xform)
(define-macro (id expr) (xform expr))]))
Ciao,
Thomas
--
When C++ is your hammer, every problem looks like your thumb.