From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Sebastian Tennant Newsgroups: gmane.lisp.guile.user Subject: Re: Dynamic variable binding Date: Sat, 15 Nov 2008 16:59:45 +0000 Message-ID: References: <8wro202o.fsf@vps203.linuxvps.org> <87skpvxxx6.fsf@gnu.org> <491EE39E.7090209@wilsonjc.us> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1226768551 15547 80.91.229.12 (15 Nov 2008 17:02:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Nov 2008 17:02:31 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Nov 15 18:03:34 2008 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1L1OYP-0001Cy-4H for guile-user@m.gmane.org; Sat, 15 Nov 2008 18:03:25 +0100 Original-Received: from localhost ([127.0.0.1]:33948 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L1OXH-0006Fq-0z for guile-user@m.gmane.org; Sat, 15 Nov 2008 12:02:15 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L1OVE-0005ub-9j for guile-user@gnu.org; Sat, 15 Nov 2008 12:00:08 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L1OVB-0005uP-Ah for guile-user@gnu.org; Sat, 15 Nov 2008 12:00:07 -0500 Original-Received: from [199.232.76.173] (port=50923 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L1OVB-0005uM-2H for guile-user@gnu.org; Sat, 15 Nov 2008 12:00:05 -0500 Original-Received: from main.gmane.org ([80.91.229.2]:38686 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L1OVA-0005xI-Kj for guile-user@gnu.org; Sat, 15 Nov 2008 12:00:04 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1L1OV0-0000GT-Pe for guile-user@gnu.org; Sat, 15 Nov 2008 16:59:54 +0000 Original-Received: from vps203.linuxvps.org ([91.186.7.203]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 15 Nov 2008 16:59:54 +0000 Original-Received: from sebyte by vps203.linuxvps.org with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 15 Nov 2008 16:59:54 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 22 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: vps203.linuxvps.org User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (gnu/linux) Cancel-Lock: sha1:JufPqmTiIjIyRRNvJNBrEb6pT5U= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6914 Archived-At: Quoth Jon Wilson : > Sebastian Tennant wrote: >> Quoth ludo@gnu.org (Ludovic Courtès): >>> Dynamic binding definition is compilation-unfriendly. Kjetil's >>> proposed `define-lotsof' macro is more appropriate, as it can be fully >>> evaluated at compile-time (should a compiler be used, that is), >>> whereas the `module-define!' trick requires that compilation and >>> execution be the one and same phase. >> >> Ah, interesting. Noted. Thanks again (to Kjetil also). > > Furthermore, the lack of separation between what is compiled and what > is executed causes problems with defining a module system that > understands hygiene. It took me a while to understand this, but > finally sitting down and grokking Matthew Flatt's paper "Compilable > and Composable Macros: You Want it When?" got it through my skull. > > http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.4008 This looks like a very useful (and comprehensive) paper. Thanks. Sebastian