From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Lynn Winebarger Newsgroups: gmane.lisp.guile.devel Subject: Re: memoization and conditional defines Date: Thu, 7 Nov 2002 18:22:03 -0500 Sender: guile-devel-admin@gnu.org Message-ID: <0211071822031L.07034@locke.free-expression.org> References: <3DCABA28.3421DA63@pacbell.net> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1036712511 5126 80.91.224.249 (7 Nov 2002 23:41:51 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 7 Nov 2002 23:41:51 +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 189wHV-0001KO-00 for ; Fri, 08 Nov 2002 00:41:49 +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 189wEv-0008KS-00; Thu, 07 Nov 2002 18:39:09 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 189w4V-0002pT-00 for guile-devel@gnu.org; Thu, 07 Nov 2002 18:28:23 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 189w4Q-0002i3-00 for guile-devel@gnu.org; Thu, 07 Nov 2002 18:28:21 -0500 Original-Received: from plounts.uits.indiana.edu ([129.79.1.73]) by monty-python.gnu.org with esmtp (Exim 4.10) id 189w4Q-0002h0-00 for guile-devel@gnu.org; Thu, 07 Nov 2002 18:28:18 -0500 Original-Received: from stjoseph.uits.indiana.edu (stjoseph.uits.indiana.edu [129.79.1.78]) by plounts.uits.indiana.edu (8.12.1/8.12.1/IUPO) with ESMTP id gA7NSCCU016207; Thu, 7 Nov 2002 18:28:13 -0500 (EST) Original-Received: from locke.free-expression.org (dial-123-39.dial.indiana.edu [156.56.123.39]) by stjoseph.uits.indiana.edu (8.12.1/8.12.1/IUPO) with SMTP id gA7NSARL017939; Thu, 7 Nov 2002 18:28:10 -0500 (EST) Original-To: Bruce Korb , Dirk Herrmann X-Mailer: KMail [version 1.2] In-Reply-To: <3DCABA28.3421DA63@pacbell.net> 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:1662 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1662 On Thursday 07 November 2002 14:08, Bruce Korb wrote: > I don't care how memoization works. I understand there are > optimization issues. Optimizing isn't important to me, or > I would not use an interpretive language as my "extension > language". It's really about correctness of macro expansion in a broader sense than just the core macros ('lambda, 'define, etc). The core macros just transform the sexpression into a more explicit parse tree. If you didn't do that, you could never be sure whether your function would actually be a function or not. The symbol 'lambda can be redefined at will by code in R5RS. There are no reserved keywords. > BTW, my guess is that memoizing Guile will make it go much slower. Guile has been memoizing since its creation (or rather, the creation of SCM). If you're worried about (if (define )), you can always use (if (eval '(define ))) which will do what you want. eval's always execute in a top-level environment, no matter where the expression occurs in the code. And that '(define ) would get re-expanded every time it got executed. Lynn _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel