all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Le Wang <l26wang@gmail.com>
To: "Johan Bockgård" <bojohan@gnu.org>
Cc: Lars Magne Ingebrigtsen <larsi@gnus.org>,
	Andreas Schwab <schwab@linux-m68k.org>,
	9469@debbugs.gnu.org
Subject: bug#9469: buffer-local variables seem to remember previous values
Date: Fri, 16 Sep 2011 02:14:34 +0800	[thread overview]
Message-ID: <CAM=K+iqiGrWXL2WTcw2QWOn55HnTaoO4YHJp+Qo_nzacguVr3A@mail.gmail.com> (raw)
In-Reply-To: <87ehzktj6b.fsf@gnu.org>

On Wed, Sep 14, 2011 at 2:02 AM, Johan Bockgård <bojohan@gnu.org> wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> There is no memoization: the quote does not *construct* the object, it
>> just returns it.
>
> I think the "as written" bit is mildly confusing, and nearly falls into
> this trap:
>
>    In other languages, an expression is text; it has no other form. In
>    Lisp, an expression is primarily a Lisp object and only secondarily
>    the text that is the object's read syntax. Often there is no need to
>    emphasize this distinction, but you must keep it in the back of your
>    mind, or you will occasionally be very confused.
>
>        -- (info "(elisp) Printed Representation")

This is kind of funny.  Stefan and Andreas basically kept saying quote
just returns the thing, but doesn't construct it.  My mind couldn't
grasp what that means.

The reader is the chasm that I just couldn't cross.  In my mind a
program describes how something happens, it isn't the thing that
happens.  "(quote (a b))", `quote' is a function that returns a
reference to something.  And for it to return the same reference, then
it must be memoizing based on the inputs.

The passage Johan posted along with Drew's explanation has enlightened
me.  Thank you all.

-- 
Le





  parent reply	other threads:[~2011-09-15 18:14 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-10 17:07 bug#9469: buffer-local variables seem to remember previous values Le Wang
2011-09-10 17:44 ` Drew Adams
2011-09-11 16:57   ` Le Wang
2011-09-11 17:56     ` Drew Adams
2011-09-11 18:08       ` Andreas Schwab
2011-09-11 18:49         ` Le Wang
2011-09-11 18:54           ` Lars Magne Ingebrigtsen
2011-09-11 19:18             ` Le Wang
2011-09-11 19:54               ` Lars Magne Ingebrigtsen
2011-09-12  4:39                 ` Le Wang
2011-09-12  7:57                   ` Andreas Schwab
2011-09-12  8:23                     ` Le Wang
2011-09-12  8:35                       ` Andreas Schwab
2011-09-12 14:30                         ` Drew Adams
2011-09-12 15:06                         ` Le Wang
2011-09-13 12:54                   ` Stefan Monnier
2011-09-13 13:12                     ` Le Wang
2011-09-13 15:00                     ` Helmut Eller
2011-09-13 18:02                     ` Johan Bockgård
2011-09-13 18:52                       ` Drew Adams
2011-09-13 20:42                         ` Helmut Eller
2011-09-15 18:14                       ` Le Wang [this message]
2011-09-11 19:37             ` Helmut Eller
2011-09-11 19:46           ` Andreas Schwab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAM=K+iqiGrWXL2WTcw2QWOn55HnTaoO4YHJp+Qo_nzacguVr3A@mail.gmail.com' \
    --to=l26wang@gmail.com \
    --cc=9469@debbugs.gnu.org \
    --cc=bojohan@gnu.org \
    --cc=larsi@gnus.org \
    --cc=schwab@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.