Danny, Jens Axel, Ian, Ray, Thanks for your input... I'm absorbing it all.
I need some really basic help getting my head around all of this. Where can I download a copy of "How to Design Macros"? :-) Tim On 16/01/13 17:22, Jens Axel Søgaard wrote:
Hi Tim, Danny explains the problem well. To accumulate a result, one must stay in the same same dynamic extent. One way to solve the problem is to use local-expand. In some cases one can write expanders for the forms, that needs analysing and call them directlye (rather than write a macro for the subform and then let the expander call a macro transformer). Below is a short example, which incidently shows an alternative solution the local-expand problem, I had the other day (see http://www.mail-archive.com/users@racket-lang.org/msg15937.html ). If you need local-expand, then see Matthews answer on how to use definition contexts with local-expand. /Jens Axel
-- Tim Brown <tim.br...@cityc.co.uk> | City Computing Limited | T: +44 20 8770 2110 | City House, Sutton Park Road | F: +44 20 8770 2130 | Sutton, Surrey, SM1 2AE, GB | -----------------------------------------------------------------------| BEAUTY: What's in your eye when you have a bee in your hand | -----------------------------------------------------------------------' City Computing Limited registered in London No. 1767817. Registered Office: City House, Sutton Park Road, Sutton, Surrey, SM1 2AE VAT number 372 8290 34. ____________________ Racket Users list: http://lists.racket-lang.org/users