From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.devel Subject: Re: Status on Elisp and special variable handling Date: Tue, 6 Oct 2009 18:05:54 -0400 Message-ID: <073266E7-551D-4D24-8937-AA08CEB35E4C@raeburn.org> References: <4ACBA2F2.2030900@domob.eu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1254866791 17357 80.91.229.12 (6 Oct 2009 22:06:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 6 Oct 2009 22:06:31 +0000 (UTC) Cc: Andy Wingo , guile-devel , Neil Jerram To: Daniel Kraft Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Oct 07 00:06:23 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 1MvIAk-00022A-Nz for guile-devel@m.gmane.org; Wed, 07 Oct 2009 00:06:19 +0200 Original-Received: from localhost ([127.0.0.1]:50504 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MvIAj-0003Oi-TX for guile-devel@m.gmane.org; Tue, 06 Oct 2009 18:06:17 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MvIAf-0003OB-MF for guile-devel@gnu.org; Tue, 06 Oct 2009 18:06:14 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MvIAa-0003MZ-I0 for guile-devel@gnu.org; Tue, 06 Oct 2009 18:06:12 -0400 Original-Received: from [199.232.76.173] (port=55722 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MvIAa-0003MW-CP for guile-devel@gnu.org; Tue, 06 Oct 2009 18:06:08 -0400 Original-Received: from splat.raeburn.org ([69.25.196.39]:49955 helo=raeburn.org) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MvIAS-0007gO-Dw for guile-devel@gnu.org; Tue, 06 Oct 2009 18:06:08 -0400 Original-Received: from [10.0.0.158] ([10.0.0.158]) by raeburn.org (8.14.3/8.14.1) with ESMTP id n96M5sCi000947; Tue, 6 Oct 2009 18:05:55 -0400 (EDT) In-Reply-To: <4ACBA2F2.2030900@domob.eu> X-Mailer: Apple Mail (2.936) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. 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:9459 Archived-At: On Oct 6, 2009, at 16:05, Daniel Kraft wrote: > If any such value is hit when reading/setting a variable, we do the > needed stuff for handling aliases/foolocal variables instead of > doing the operation directly. While this should work, I fear that > it hits performance once again... But I do not see how we could > implement aliases and foolocal variables without checking on each > variable access if it is some special variable or not? Maybe there > we could add VM support if necessary. In the multithreaded case, I think the checks might need to be done every time -- one thread could call make-variable-foo-local while another thread is in between two accesses to the variable within a function. And you also need to watch out for updating what was a non- foo-local variable in one thread while another makes the variable foo- local... Ken