From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Kraft Newsgroups: gmane.lisp.guile.devel Subject: Re: %nil once again Date: Mon, 20 Jul 2009 10:12:42 +0200 Message-ID: <4A6426FA.6050803@domob.eu> References: <4A5F2F8A.5040108@domob.eu> <8763drbv07.fsf@arudy.ossau.uklinux.net> <4A603E36.7080100@domob.eu> <87ab30bk8p.fsf@arudy.ossau.uklinux.net> <4A63778E.3010109@domob.eu> <87skgsa0xz.fsf@arudy.ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1248077678 20556 80.91.229.12 (20 Jul 2009 08:14:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 20 Jul 2009 08:14:38 +0000 (UTC) Cc: Andy Wingo , guile-devel , Neil Jerram To: Ken Raeburn Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jul 20 10:14:31 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MSo0x-0007O7-Fe for guile-devel@m.gmane.org; Mon, 20 Jul 2009 10:14:27 +0200 Original-Received: from localhost ([127.0.0.1]:45046 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MSo0w-0000k1-Pm for guile-devel@m.gmane.org; Mon, 20 Jul 2009 04:14:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MSnz0-0008UD-GI for guile-devel@gnu.org; Mon, 20 Jul 2009 04:12:26 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MSnyv-0008SD-Hs for guile-devel@gnu.org; Mon, 20 Jul 2009 04:12:26 -0400 Original-Received: from [199.232.76.173] (port=41896 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MSnyv-0008S6-Dn for guile-devel@gnu.org; Mon, 20 Jul 2009 04:12:21 -0400 Original-Received: from mx20.gnu.org ([199.232.41.8]:45661) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MSnyu-0001lk-Uk for guile-devel@gnu.org; Mon, 20 Jul 2009 04:12:21 -0400 Original-Received: from tatiana.utanet.at ([213.90.36.46]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MSnyt-0000Iy-Es for guile-devel@gnu.org; Mon, 20 Jul 2009 04:12:19 -0400 Original-Received: from patricia.xoc.tele2net.at ([213.90.36.9]) by tatiana.utanet.at with esmtp (Exim 4.69) (envelope-from ) id 1MSnyo-0002sN-ET; Mon, 20 Jul 2009 10:12:14 +0200 Original-Received: from d86-33-197-63.cust.tele2.at ([86.33.197.63] helo=[192.168.1.18]) by patricia.xoc.tele2net.at with esmtpa (Exim 4.69) (envelope-from ) id 1MSnyo-0001MA-B2; Mon, 20 Jul 2009 10:12:14 +0200 User-Agent: Thunderbird 2.0.0.0 (X11/20070425) In-Reply-To: X-Detected-Operating-System: by mx20.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8894 Archived-At: Ken Raeburn wrote: > On Jul 19, 2009, at 16:10, Neil Jerram wrote: >>> BTW, I implemented also the function bindings of symbols using this >>> fluid-based dynamic scoping at the moment -- but on second thought, >>> there's no scoping at all for function slots (all are global), is >>> there? >> >> No, I don't think there is. `let' can't operate on function slots. > > Not in the main emacs lisp implementation. However, cl-macs.el provides > an "flet" macro that does work on function slots; it uses the "letf" > macro which expands to include a use of unwind-protect to do its dirty > work. But that's not part of the real "elisp semantics", and so if we don't want to include this as a genuine extension into Guile's compiler, we don't have to use the fluids for function slots. With unwind-protect and friends one can, just like in emacs, implement this functionality, even without a fluid implementation. However, if you agree that this would be a useful feature (dynamic scoping of functions) I can of course implement this as an extension to elisp...? I agree that it might be of use sometimes, but am not convinced it is really "necessary". Yours, Daniel -- Done: Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz To go: Hea-Kni-Mon-Pri