From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: bug in syncase Date: 04 Dec 2002 20:54:38 +0000 Sender: guile-devel-admin@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1039035926 3600 80.91.224.249 (4 Dec 2002 21:05:26 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 4 Dec 2002 21:05:26 +0000 (UTC) Cc: Dirk Herrmann , Guile Development Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18Jghv-0000vk-00 for ; Wed, 04 Dec 2002 22:05:24 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18Jghe-0003Lm-00; Wed, 04 Dec 2002 16:05:06 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18JghR-0003Fs-00 for guile-devel@gnu.org; Wed, 04 Dec 2002 16:04:53 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18Jgbu-0007Rd-00 for guile-devel@gnu.org; Wed, 04 Dec 2002 15:59:14 -0500 Original-Received: from mail.uklinux.net ([80.84.72.21] helo=s1.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18Jgbt-0007M8-00 for guile-devel@gnu.org; Wed, 04 Dec 2002 15:59:09 -0500 Original-Received: from laruns.ossau.uklinux.net (bts-0833.dialup.zetnet.co.uk [194.247.51.65]) by s1.uklinux.net (8.11.6/8.11.6) with ESMTP id gB4Kx5714894; Wed, 4 Dec 2002 20:59:05 GMT Original-Received: from laruns.ossau.uklinux.net.ossau.uklinux.net (localhost [127.0.0.1]) by laruns.ossau.uklinux.net (Postfix on SuSE Linux 7.2 (i386)) with ESMTP id D480DDC129; Wed, 4 Dec 2002 20:54:38 +0000 (GMT) Original-To: cwitty@newtonlabs.com (Carl R. Witty) In-Reply-To: Original-Lines: 37 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:1801 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1801 >>>>> "Carl" == Carl R Witty writes: Carl> Emacs does not do memoization during eval; macros are Carl> re-evaluated every time they are encountered. However, if Carl> you byte-compile a function (typically by byte-compiling an Carl> entire file at install time, although it's also possible to Carl> byte-compile an individual function at run time), macros are Carl> expanded during the byte-compilation process. Many thanks for this. Carl> This means that Emacs Lisp code which is to run correctly Carl> both interpreted and compiled must be insensitive to when or Carl> how often macro expansion is done; such code -- which Carl> includes virtually all distributed Emacs Lisp code, I would Carl> think -- would also work if macro expansion were memoized. A persuasive constraint to have ... except only for the interactive development angle ... Carl> The interactive development process would be different, Carl> though; for a complete clone of Emacs, including the Carl> development process, you would want to have an eval that Carl> does no memoization and some sort of separate compilation Carl> phase. I don't quite understand. By `interactive development process', do you mean what a user does with `C-x C-e', or something more specific to the core Emacs developers? If the former, I don't see how you reach your conclusion. What if you redefine a macro that was in use by a byte-compiled function? It seems to me that what you need to handle this scenario is a recompilation protocol. How does a non-memoizing eval and separate compilation help? Neil _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel