[racket] Unexpected error extracting value from request bindings.
On Mon, Aug 01, 2011 at 12:28:51PM -0400, Eli Barzilay wrote:
> 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.
Yes, it's to prevent rogue variable capture, which are what hygienic
macros are for, too. But it is an intnded use which is not macros.
-- hendrik