[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: `set!' of generated temporary in macro expansion causes warning
From: |
Andy Wingo |
Subject: |
Re: `set!' of generated temporary in macro expansion causes warning |
Date: |
Fri, 17 Jun 2011 10:48:49 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
Hi,
On Mon 13 Jun 2011 14:10, Andreas Rottmann <address@hidden> writes:
> From: Andreas Rottmann <address@hidden>
> Subject: Silence warnings for variables created by `generate-temporaries'
Applied, also having regenerated psyntax-pp.scm.
FWIW the procedure there is that, after having modified psyntax.scm,
recompiled everything, and all is well, then you cd module/; make
ice-9/psyntax-pp.scm.gen; make.
Thanks for the report and fix, and thanks for the help, Stefan.
Andy
p.s. Regarding hygienically introducing identifiers, I had an idea.
>From a mail I sent to scheme-reports:
To recap:
(define-syntax define-const
(syntax-rules ()
((_ name val)
(define t val)
(define-syntax name (syntax-rules () ((_) t))))))
Guile currently does not make the generated toplevel definition "t" have
a fresh name. It would be nice if it could but it can't be a really
random name -- it needs to be predicatable.
Well why not have the name of "t" be "t" plus some string which depends
only on the incoming form -- like its hash value. (Or the outgoing
form; the considerations are different but similar.)
That way you do preserve the "compatible recompilation" aspect, trading
off true secrecy, but hey. Oh well.
This would obviously be for master / 2.2 and not 2.0.
--
http://wingolog.org/
Message not available