Five minutes ago, Hendrik Boom wrote: > On Mon, Aug 01, 2011 at 01:08:27AM -0400, Neil Van Dyke wrote: > > > > Esoterica #2: You'll see functions like "gensym" and "gentemp" in > > some old Lisp dialects, and they will be used mostly to get around > > problems of non-hygienic macros in that particular dialect. I > > don't recall seeing them used in real Racket or Scheme code, > > however, probably because those languages have hygienic macros. > > I've used them extensively in programs doing theorem proving on > formulas involving quantifiers. This had noting to do with macros, > hygienic or not.
That's really the same use as macros: it's the easiest way to get a "completely fresh" value, which is frequently needed in such a world (and can get hairy if you're restricted in a pure world). IMO uninterned symbols are actually a little *worse* for that purpose, because besides the freshness, they have this confusing feature of being printed like other symbols. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users