Ok, I understand. If I make the identifiers available in the macro definition scope, by importing the libraries, that would that make the macro hygienic, right? I would still need to textually transform the identifier, from X to setX. Can this be achieved by a simple conversion from string to symbol?
Razvan On 5 December 2011 17:24, J. Ian Johnson <[email protected]> wrote: > Precisely. Hygiene guarantees that identifiers that are neither explicitly > passed to a macro nor in the lexical scope of the macro definition will not > be in the output of said macro. This is often too restrictive for macro > writers, since we have naming conventions that we want to programmatically > produce (consider struct). Thus we have datum->syntax. > > You have to be careful about abusing this capability, since unintuitive > collisions can happen when you have two macros using one another that depend > on unhygienic naming conventions. > You should try to restrict your use of unhygienic macros to function > definitions and not macro definitions. > > -Ian _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

