From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: lexical-binding questions Date: Sat, 05 May 2012 22:43:09 -0400 Message-ID: References: <871umzrvfw.fsf@gmail.com> <87wr4rqg6g.fsf@gmail.com> <878vh62mt2.fsf@catnip.gol.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1336272201 905 80.91.229.3 (6 May 2012 02:43:21 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 6 May 2012 02:43:21 +0000 (UTC) Cc: emacs-devel@gnu.org, Thierry Volpiatto To: Miles Bader Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun May 06 04:43:20 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SQrRO-0002sZ-V3 for ged-emacs-devel@m.gmane.org; Sun, 06 May 2012 04:43:19 +0200 Original-Received: from localhost ([::1]:57134 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQrRO-0008GT-Ch for ged-emacs-devel@m.gmane.org; Sat, 05 May 2012 22:43:18 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:36751) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQrRL-0008GM-Ni for emacs-devel@gnu.org; Sat, 05 May 2012 22:43:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SQrRK-0000YC-2T for emacs-devel@gnu.org; Sat, 05 May 2012 22:43:15 -0400 Original-Received: from ironport-out.teksavvy.com ([206.248.143.162]:22075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQrRJ-0000Xs-U9; Sat, 05 May 2012 22:43:13 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApUIACxOgk9MCplG/2dsb2JhbABDuCMDgQyBCIIJAQEEAVYjEAs0EhQYDSSIHAW2MothhHkEpEWBXYMD X-IronPort-AV: E=Sophos;i="4.75,391,1330923600"; d="scan'208";a="178547385" Original-Received: from 76-10-153-70.dsl.teksavvy.com (HELO pastel.home) ([76.10.153.70]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 05 May 2012 22:43:10 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id BC82859119; Sat, 5 May 2012 22:43:09 -0400 (EDT) In-Reply-To: <878vh62mt2.fsf@catnip.gol.com> (Miles Bader's message of "Sun, 06 May 2012 09:08:41 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.143.162 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:150312 Archived-At: >>> Also, in CL, the declare spec is placed at the beginning of the let >> [...] >>> Why does it behave differently from CL? >> Because it forces the interpreter to check for the presence of >> a `declare' every time it sees a `let', even though it will only find >> one once per century or so. >> It's an OK design for a language where there's always going to be >> a pre-processing of some sort before evaluation but for Emacs's pure >> naive interpreter it's inconvenient. > It doesn't seem _that_ inconvenient (or inefficient)... We could live with it if we had no choice, yes. But given the fact that current Elisp already uses (defvar ) for that purpose and that Elisp has no intention to morph into CL, I think the current design makes a lot more sense. Stefan