From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp and Guile Date: 19 Aug 2002 23:03:47 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: <87bs7yzhl8.fsf@zagadka.ping.de> References: <200207200035.g6K0ZAb27891@aztec.santafe.edu> <200207212015.g6LKF4c00874@aztec.santafe.edu> <200207251807.g6PI75d07615@aztec.santafe.edu> <874renlito.fsf@zagadka.ping.de> <200207271853.g6RIre710837@aztec.santafe.edu> <200207310554.g6V5ssc16508@aztec.santafe.edu> <200208021743.g72HhkX01596@aztec.santafe.edu> <200208071424.g77EO0k03146@wijiji.santafe.edu> <200208091639.g79GdbQW003675@santafe.santafe.edu> <200208130147.g7D1lsR07028@wijiji.santafe.edu> <87bs86lghc.fsf@zagadka.ping.de> <200208140515.g7E5FYU07493@wijiji.santafe.edu> <87sn1hthxo.fsf@zagadka.ping.de> <200208151953.g7FJrsS07830@wijiji.santafe.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1029791130 22540 127.0.0.1 (19 Aug 2002 21:05:30 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 19 Aug 2002 21:05:30 +0000 (UTC) Cc: neil@ossau.uklinux.net, raeburn@raeburn.org, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17gtiI-0005rE-00 for ; Mon, 19 Aug 2002 23:05:26 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17gu9t-0006Sl-00 for ; Mon, 19 Aug 2002 23:33:58 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17gtjO-0008U9-00; Mon, 19 Aug 2002 17:06:34 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17gthE-0008SH-00 for emacs-devel@gnu.org; Mon, 19 Aug 2002 17:04:20 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17gtgi-0008Pl-00 for emacs-devel@gnu.org; Mon, 19 Aug 2002 17:04:19 -0400 Original-Received: from dialin.speedway42.dip19.dokom.de ([195.138.42.19] helo=zagadka.ping.de) by monty-python.gnu.org with smtp (Exim 4.10) id 17gtgh-0008Pa-00 for emacs-devel@gnu.org; Mon, 19 Aug 2002 17:03:47 -0400 Original-Received: (qmail 2939 invoked by uid 1000); 19 Aug 2002 21:03:47 -0000 Original-To: rms@gnu.org In-Reply-To: <200208151953.g7FJrsS07830@wijiji.santafe.edu> Original-Lines: 38 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:6660 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6660 Richard Stallman writes: > All Elisp variables would be constructed specially, even if they > didn't make use of any of the available features initially. That > would mean that variables declared in Scheme can not be later made > buffer local since normal Scheme variabled would not be constructed in > the special way. > > This would be a big inconvenience in practice. It would mean that > mentioning a variable in Scheme code once prevents you from using it > in other ways. It needs to be possible to make a variable "special" > (in this sense) after having used it in other non-lexical ways. Hmm, I think that maybe Scheme people will prefer to explicitely declare that a variable is buffer local at the point of its definition. But maybe I'm wrong. In any case, we can reverse the logic and say that variables need to be specially constructed when the user does not want them to be used "specially" (i.e., buffer-locally, etc). That would work just as well, I think. Variables that hold functions would be a candidate, for example. That is, (define foo #f) would construct a normal variable that can be made thread-local, buffer-local, etc., while (define (frob-foo) ...) would construct a 'dumb' variable that can't these things, but that would allow faster access. -- GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405