From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Use of continuations in eval traps Date: Fri, 28 Oct 2005 19:56:54 +0100 Message-ID: <878xwdbhc9.fsf@ossau.uklinux.net> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1130525867 10926 80.91.229.2 (28 Oct 2005 18:57:47 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 28 Oct 2005 18:57:47 +0000 (UTC) Cc: Guile Development Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Oct 28 20:57:38 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EVZPY-0003BW-F7 for guile-devel@m.gmane.org; Fri, 28 Oct 2005 20:57:08 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EVZPY-0000wo-0q for guile-devel@m.gmane.org; Fri, 28 Oct 2005 14:57:08 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EVZPU-0000wZ-EP for guile-devel@gnu.org; Fri, 28 Oct 2005 14:57:04 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EVZPR-0000w6-ST for guile-devel@gnu.org; Fri, 28 Oct 2005 14:57:04 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EVZPR-0000w3-PJ for guile-devel@gnu.org; Fri, 28 Oct 2005 14:57:01 -0400 Original-Received: from [80.84.72.33] (helo=mail3.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EVZPR-0000Lw-9u for guile-devel@gnu.org; Fri, 28 Oct 2005 14:57:01 -0400 Original-Received: from laruns (host81-130-88-151.in-addr.btopenworld.com [81.130.88.151]) by mail3.uklinux.net (Postfix) with ESMTP id 62AF4409FB5; Fri, 28 Oct 2005 18:56:58 +0000 (UTC) Original-Received: from laruns (laruns [127.0.0.1]) by laruns (Postfix) with ESMTP id DC7DA6F718; Fri, 28 Oct 2005 19:56:54 +0100 (BST) Original-To: Mikael Djurfeldt User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:5361 Archived-At: Hi Mikael, I'm writing directly to you (CC guile-devel) because I believe you originally implemented the low level traps in eval.c - please correct me if that's wrong. I'm thinking about how to implement the ability to skip over the evaluation of an expression, and providing an easy interface for use in my Emacs front end, and wondering whether the existing continuation-based approach is really needed. The problem with the continuation approach (in other words, whenever the 'cheaptraps option is off) is that a continuation is set up before every trap call even though it won't be needed in most cases, and it seems to me that one could get similar function by passing the expression to evaluate into the trap handler and allowing the trap handler to modify it (either by side effect or by return, to be determined). If I'm right, it also follows that we could remove the 'cheaptraps option and use debug-objects unconditionally for these trap calls. Note that the trap handler remains free to save off its continuation itself, if that is useful. What do you think? Regards, Neil _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel