From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Dirk Herrmann Newsgroups: gmane.lisp.guile.devel Subject: Re: memoization and error messages Date: Sun, 24 Nov 2002 17:49:27 +0100 (CET) Sender: guile-devel-admin@gnu.org Message-ID: References: <20021124125745.GA31397@www> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: main.gmane.org 1038156516 4629 80.91.224.249 (24 Nov 2002 16:48:36 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 24 Nov 2002 16:48:36 +0000 (UTC) Cc: guile-devel@gnu.org 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 18Fzvv-0001CW-00 for ; Sun, 24 Nov 2002 17:48:35 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 18FzxS-0004JP-00; Sun, 24 Nov 2002 11:50:10 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 18Fzww-0003pc-00 for guile-devel@gnu.org; Sun, 24 Nov 2002 11:49:38 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 18Fzwu-0003o7-00 for guile-devel@gnu.org; Sun, 24 Nov 2002 11:49:37 -0500 Original-Received: from sallust.ida.ing.tu-bs.de ([134.169.132.52]) by monty-python.gnu.org with esmtp (Exim 4.10) id 18Fzwt-0003ly-00 for guile-devel@gnu.org; Sun, 24 Nov 2002 11:49:35 -0500 Original-Received: from localhost (dirk@localhost) by sallust.ida.ing.tu-bs.de (8.9.3+Sun/8.9.1) with ESMTP id RAA28647; Sun, 24 Nov 2002 17:49:28 +0100 (CET) Original-To: tomas@fabula.de In-Reply-To: <20021124125745.GA31397@www> 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:1755 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1755 On Sun, 24 Nov 2002 tomas@fabula.de wrote: > That means that macros aren't anymore `first class objects'? What > consequences does this have for meta-programming? I don't know. Can you be a little more specific about what you want to accomplish that you can only accomplish with macros as first-class objects (or rather said "accomplish cleanly")? If so, please provide code examples that show your approaches. [rambling on] It may make sense to point out the following: Separate in-advance memoization brings the possibility to speed up evaluation, it allows to store pre-compiled code and thus speed up loading time, and it is a great way to clean up guile's internals and achieve better R5RS conformance. However, it does impose some restrictions: Guile will be stricter with respect to certain R5RS demands. Further, macro expansion is no longer as dynamic as it was before. That is, the point of time when expansion is handled is known in advance - this was not the case before. But, for those who depend on dynamic code expansion (i. e. re-expansion of code whenever a macro changes) there is always eval. People say they don't like eval. But, they like dynamic code expansion, huh? And, what are their problems with eval? Performance considerations? Isn't it better to improve speed and cleanliness for 99,9% of the cases, where dynamic re-expansion is not necessary, instead of inhibiting performance improvements in order to be able to avoid using eval? IMO, instead of depending on dynamic code expansion (a, well, not-so-clean and performance-inhibiting implementation detail of guile), the use of eval is better, because it is standard and it makes parts of the code obvious where you depend on dynamic re-expansion. [rambling off] Well, don't feel angry for my ramblings above, I was a little bit carried away when I wrote it :-) I actually very much appreciate all kinds of comments with respect to separation of memoization and execution. I have learned a lot from your and other people's comments. Friendly greetings Dirk _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel