On 2011 May 26, at 11:59, Brandon Allbery wrote:

On Thu, May 26, 2011 at 05:41, Jacek Generowicz <jacek.generow...@cern.ch > wrote:
On 2011 May 26, at 11:12, Brandon Allbery wrote:
(Think gensym. Hm, except last time I did anything serious with Lisp, it was Maclisp... does gensym even still exist, or did CL do something inscrutable with it?)

But gensym does seem to be overkill in the case I presented.
(...) In Lisp terms, I'm looking for make-symbol and intern.

I think I just landed on "inscrutable";

Nah, it's probably just me confusing you.

(gensym) used to do pretty much that, it rolled symbols starting from 'a0000 for the first one generated in a given interpreter.

It still does essentially that. (Just don't be fooled by the "name" a0000: you can't access that symbol through that name. Aaaah, maybe in Maclisp it really did intern them under that name, but that would surprise me).

'(gensym)' in CL is a bit like 'object()' in Python or 'new MyEmptyClass' in C++: the key point being that if you don't bind the thing being created right now, you'll never be able to get your hands on it again.

Coming back on topic: Yes, I could use gensym for my purposes (though CL provides a variety of similar yet subtly different tools, which is why gensym feels a bit weird in this context).


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to