From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.lisp.guile.devel Subject: Re: Anything better for delayed lexical evaluation than (lambda () ...)? Date: Tue, 06 Dec 2011 16:45:47 +0100 Organization: Organization?!? Message-ID: <87fwgxk8k4.fsf@fencepost.gnu.org> References: <87liqtpsl9.fsf@fencepost.gnu.org> <87ehwh21hk.fsf@ambire.localdomain> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1323186376 2918 80.91.229.12 (6 Dec 2011 15:46:16 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 6 Dec 2011 15:46:16 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Dec 06 16:46:12 2011 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 1RXxDg-0007WH-2F for guile-devel@m.gmane.org; Tue, 06 Dec 2011 16:46:12 +0100 Original-Received: from localhost ([::1]:54326 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RXxDf-000783-MN for guile-devel@m.gmane.org; Tue, 06 Dec 2011 10:46:11 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:51596) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RXxDa-00077Z-4h for guile-devel@gnu.org; Tue, 06 Dec 2011 10:46:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RXxDW-0004Ub-5t for guile-devel@gnu.org; Tue, 06 Dec 2011 10:46:06 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:42244) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RXxDW-0004UW-0m for guile-devel@gnu.org; Tue, 06 Dec 2011 10:46:02 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1RXxDT-0007Q6-V7 for guile-devel@gnu.org; Tue, 06 Dec 2011 16:45:59 +0100 Original-Received: from p508ed485.dip.t-dialin.net ([80.142.212.133]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 06 Dec 2011 16:45:59 +0100 Original-Received: from dak by p508ed485.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 06 Dec 2011 16:45:59 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 24 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: p508ed485.dip.t-dialin.net X-Face: 2FEFf>]>q>2iw=B6, xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN; i"; /yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^ Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux) Cancel-Lock: sha1:cSmGi5PrXsKZTAniLUSZFvUpqQk= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 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:12981 Archived-At: Thien-Thi Nguyen writes: > () David Kastrup > () Sat, 03 Dec 2011 16:45:06 +0100 > > The lack of procedure-environment in Guilev2 implies that I > have to wrap the stuff in (lambda () ...) in order to capture > the lexical environment for evaluation. > > Is it possible to have a shortcut (make-closure ...) or so for that > purpose? > > Does ‘delay’ (and later ‘force’) work? No. (set! (force (delay (some-procedure-with-setter and its args)))) does not work. In addition, each expression will be run once or not at all (and its side effects on the containing environment are desired), so the memoizing nature of promises does not help. -- David Kastrup