From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: Eval, tail calls, (current-module), and backward compatibility Date: Wed, 18 Jan 2012 10:36:23 +0100 Message-ID: <87sjjdfj3c.fsf@pobox.com> References: <87lip70zz7.fsf@netris.org> <878vl6twvm.fsf@fencepost.gnu.org> <87ty3uyrdk.fsf@netris.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1326879405 14250 80.91.229.12 (18 Jan 2012 09:36:45 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 18 Jan 2012 09:36:45 +0000 (UTC) Cc: guile-devel@gnu.org To: Mark H Weaver Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Jan 18 10:36:39 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RnRwc-0003GY-PO for guile-devel@m.gmane.org; Wed, 18 Jan 2012 10:36:38 +0100 Original-Received: from localhost ([::1]:51008 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RnRwc-0006fu-Ag for guile-devel@m.gmane.org; Wed, 18 Jan 2012 04:36:38 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:35663) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RnRwU-0006af-6z for guile-devel@gnu.org; Wed, 18 Jan 2012 04:36:35 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RnRwS-0002PL-Uh for guile-devel@gnu.org; Wed, 18 Jan 2012 04:36:30 -0500 Original-Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:40475 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RnRwS-0002PG-SB for guile-devel@gnu.org; Wed, 18 Jan 2012 04:36:28 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 4267078A4; Wed, 18 Jan 2012 04:36:27 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=OAFgpvW6vhumbqy7q9S2ujI9aMc=; b=kyr6uf llWqc9ibCm8LSzHKhZHQEPdUbouGFQqRJCsTrpI2UhDaIH8dqvCrQJGDkYwXyldd MxCfsNkqbrQ4etOVL0GUy6hSK+dA9FevpleRDLQ//4lQvIl34mv4YRfL7e1+EaP+ AKRq+nvVQvJIYLfhIQ3k6aX9Exej3J0CrZC5w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=AkBpdgAInmNW6w66qLiim2iFT42Or3lI mUNhPYgnGnjKLbFarO7xQ0nIZz3CNGexuSxTf8QELQ+FpN5ZkbVya8bfMatNYkBc wGXkXt/92TD65/j16JkEyhkYSocw5LwibExNx6eevkYcCGBePl93fLXuRXbH2yPJ ezc5cYFAkx4= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 38DE478A3; Wed, 18 Jan 2012 04:36:27 -0500 (EST) Original-Received: from badger (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 910C378A2; Wed, 18 Jan 2012 04:36:26 -0500 (EST) In-Reply-To: <87ty3uyrdk.fsf@netris.org> (Mark H. Weaver's message of "Tue, 17 Jan 2012 16:02:31 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) X-Pobox-Relay-ID: E492A372-41B7-11E1-AD50-65B1DE995924-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 74.115.168.62 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:13564 Archived-At: On Tue 17 Jan 2012 22:02, Mark H Weaver writes: > Therefore, the R5RS leaves no possible way for a complaint `eval' to > restore the previous value of (current-module) after evaluation. > Indeed, this is prohibited at a semantic level. FWIW, Racket circumvents this problem nicely, with what they call "continuation marks". We might be able to reuse their strategy in our with-fluids implementation. Andy -- http://wingolog.org/