[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mis-features of let

From: rgb
Subject: Re: Mis-features of let
Date: 19 Apr 2005 13:31:36 -0700
User-agent: G2/0.2

Now that I've slept, maybe I'll understand.  Can we try again

Stefan Monnier wrote:
> > If symbols created by let refer to an abstract concept then you're
> `let' does not create symbols.

Ok, semantic error.  From the point of view of a program the
symbol is being created and destroyed but actually it must
just be getting interned and uninterned.  I don't know of a
way to tell the difference but I can't think of a reason I'd
need to know other than to use the correct term here.

So if I conceed it isn't being `created' and you replace my
erroneous use of create with intern does it make any difference?
If not, what explains this?

(defun test ()
  (let (foo)
    (put 'foo 'hold "this ")
    (symbol-plist 'foo)))
=> test

(unintern "foo")
=> t

(symbol-plist 'foo)
=> nil

=> (hold "this ")

(symbol-plist 'foo)
=> nil

The lifetime of the plist is obviously limited.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]