On Sat, Feb 12, 2011 at 4:51 PM, Peter Bex <address@hidden>
On Sat, Feb 12, 2011 at 04:35:23PM -0500, Patrick Li wrote:You can do the same trick as before:
> I have a *very* ugly workaround right now.
> I define the convenience function twice. Once normally. And again within a
> begin-for-syntax form.
(module module-a (convenience-function)
(import chicken scheme) (display "do convenience things\n")))
(module module-b (my-macro convenience-function)
(import chicken scheme module-a)
(define-syntax my-macroThis imports module-a (which can be internal and nobody has to know it's
(lambda (_expression_ rename comparison)
"My Macro Output")))
there) both for syntax and normally, and then re-exports the convenience
Yes, this is ugly.
"The process of preparing programs for a digital computer
is especially attractive, not only because it can be economically
and scientifically rewarding, but also because it can be an aesthetic
experience much like composing poetry or music."
-- Donald Knuth
Chicken-users mailing list