From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Rob Browning Newsgroups: gmane.lisp.guile.devel Subject: Re: expansion, memoization, and evaluation... Date: Tue, 03 Dec 2002 22:07:33 -0600 Sender: guile-devel-admin@gnu.org Message-ID: <8765uah1fe.fsf@raven.i.defaultvalue.org> References: <87r8cyh5ec.fsf@raven.i.defaultvalue.org> <87heduh43b.fsf@raven.i.defaultvalue.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1038975027 30552 80.91.224.249 (4 Dec 2002 04:10:27 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 4 Dec 2002 04:10:27 +0000 (UTC) Cc: Dirk Herrmann , 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 18JQre-0007wS-00 for ; Wed, 04 Dec 2002 05:10:22 +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 18JQpP-00087e-00; Tue, 03 Dec 2002 23:08:03 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18JQoy-000838-00 for guile-devel@gnu.org; Tue, 03 Dec 2002 23:07:36 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18JQow-00082s-00 for guile-devel@gnu.org; Tue, 03 Dec 2002 23:07:36 -0500 Original-Received: from n66644228.ipcdsl.net ([66.64.4.228] helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18JQow-00082Y-00 for guile-devel@gnu.org; Tue, 03 Dec 2002 23:07:34 -0500 Original-Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id 9C5FDFADF; Tue, 3 Dec 2002 22:07:33 -0600 (CST) Original-Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id 1A2AF20261; Tue, 3 Dec 2002 22:07:33 -0600 (CST) Original-To: djurfeldt@nada.kth.se In-Reply-To: (Mikael Djurfeldt's message of "Wed, 04 Dec 2002 04:31:36 +0100") User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu) 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:1796 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1796 Mikael Djurfeldt writes: > In the on-line (interpreter) case the types are retrieved from the > arguments and the rewrite rules depend on knowing the bindings of > variables in the source. Yes, this is equivalent to what the current > goops source does, although the only optimization which is done > currently is supplying a "next-method" efficiently. You may have already said this, but if the method is called later with "different types", then does it have to notice that and recompute? > In the off-line case the types would need to be supplied by > flow-analysis in the compiler. This means that just as the > optimizer needs to be folded into evaluation in the on-line case, > the optimizer needs to be folded into compilation in the off-line > case. That is, the compiler needs to supply the optimizer with > something equivalent to what compile-method now gets from > procedure-environment. Ahh. Flow-analysis would be great, though I'm not sure we'd be likely to have it immediately. Any chance some alternate optimization might be easier when you're doing offline compilation? Unfortunately I don't know enough about what goops is already doing to comment very concretely yet, but I can imagine that you might be able to get similar performance with an alternate approach when you can control the object code you're emitting. > Does this answer your questions? I think so, yes, thanks. -- Rob Browning rlb @defaultvalue.org, @linuxdevel.com, and @debian.org Previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel