Lennart Augustsson has just posted a couple of queries concerning the Haskell Report's transformations for defining the semantics of pattern-matching constructs. His questions are of the following form: In the RHS of the translation, does symbol `X' refer to its meaning in the canonical module PreludeCore, or its meaning in the context of the translated expression? I think it's pretty clear (from cultural understanding, not from the Report) that the former meaning is intended, so I assume that the question is really `How could the Report make this intention clear?' It's probably easiest just to insert a sentence explaining the convention to be observed, but it may be worth noting that the Lisp community has ample experience with this issue. In most Lisps, syntactic translation (macro definition) is part of the language, not the metalanguage. Thus, avoiding or requesting name-capture in macro-expansions is a user-level issue, requiring attention on the part of language-feature designers. A good place to start reading about this subject is the appendix on macros in the Revised^4 Report on Scheme. -- Dan Rabin ([EMAIL PROTECTED])