On Wed 13 Apr 2011 14:57, Hans Aberg <haber...@telia.com> writes: > What method is Guile using to avoid substitution variable clashes (de > Bruijn numbers, combinators, etc.)?
Each lexical variable is given a fresh name (a gensym) when it is introduced. The expander keeps an environment as to what name maps to what gensym, and residualizes the gensym in the lexical reference or assignment. See "The Scheme Compiler" in the manual, for more. Andy -- http://wingolog.org/