From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nala Ginrut Newsgroups: gmane.lisp.guile.devel,gmane.lisp.guile.user Subject: Re: guile-log and delimeted continuations Date: Fri, 27 Sep 2013 10:53:04 +0800 Organization: HFG Message-ID: <1380250384.2898.26.camel@Renee-desktop.suse> References: <14379934.SjYjgA6kID@warperdoze> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1380250409 15236 80.91.229.3 (27 Sep 2013 02:53:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 27 Sep 2013 02:53:29 +0000 (UTC) Cc: guile-user@gnu.org, guile-devel@gnu.org To: Stefan Israelsson Tampe Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Sep 27 04:53:32 2013 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VPOBP-0001Zw-FO for guile-devel@m.gmane.org; Fri, 27 Sep 2013 04:53:31 +0200 Original-Received: from localhost ([::1]:60964 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VPOBP-0006RH-37 for guile-devel@m.gmane.org; Thu, 26 Sep 2013 22:53:31 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59202) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VPOBC-00066G-KG for guile-devel@gnu.org; Thu, 26 Sep 2013 22:53:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VPOB4-0005rX-43 for guile-devel@gnu.org; Thu, 26 Sep 2013 22:53:18 -0400 Original-Received: from mail-pa0-x236.google.com ([2607:f8b0:400e:c03::236]:60026) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VPOB3-0005rL-Se; Thu, 26 Sep 2013 22:53:10 -0400 Original-Received: by mail-pa0-f54.google.com with SMTP id kx10so2165590pab.41 for ; Thu, 26 Sep 2013 19:53:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :organization:content-type:mime-version:content-transfer-encoding; bh=FnRKFGONb4u+UByLz8KCIO+bEc9uVmxEvKqX7NOdoJM=; b=BC1P75m5zYnBeaytQ5g2U+UPJMuhUCu+N4+TYi67AcmToWBAOiGD5o5+lULZ22KA0B /eBdWOwE5WcioBMTshU8K/9Nh8ugAZ4I5se7wJFtOFXGCmR5OXKRQArnVdh2LBvicbo+ DfmyBmaShP6SMCJrVZov7U2kxvfq5umMM/Q60rcQWH3HsuKZoBgjsnrfQ6L/4s6Rk7mF FncK6giTHP0HpMxOr2H8EWHhpq3X5LlQZ5kTl77qfsD/H5QAYH/K8ccaytITVbU4nfSs q3Kjh8NgwoOo3V/L8EYt9iY4Qej8iHENjaL0370vXwIwhas9RGgpoPhhPqY9WxrwRyGW VoOQ== X-Received: by 10.68.225.164 with SMTP id rl4mr4813425pbc.100.1380250387850; Thu, 26 Sep 2013 19:53:07 -0700 (PDT) Original-Received: from [147.2.147.112] ([203.192.156.9]) by mx.google.com with ESMTPSA id ia5sm5354223pbc.42.1969.12.31.16.00.00 (version=SSLv3 cipher=RC4-SHA bits=128/128); Thu, 26 Sep 2013 19:53:07 -0700 (PDT) In-Reply-To: <14379934.SjYjgA6kID@warperdoze> X-Mailer: Evolution 3.4.4 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c03::236 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:16645 gmane.lisp.guile.user:10824 Archived-At: On Thu, 2013-09-26 at 17:14 +0200, Stefan Israelsson Tampe wrote: > We would like to construct a continuation, howso? This will demand > some trickery but in the end we would get it to work like > (with-delimeted-continuation-tag tag > (lambda () code ...) > (lambda (kk a ...) > ...)) > We have call-with-prompt does the same work, but I'm not sure if you want to re-implement it > kk will be a meta continuation e.g. the state will be stored and a real > continuation will be made by issuing k = (kk), we would still need to > unwind explicitly (we will be at the state of the abort) and the we > can use k just as a normal fact e.g. (k X Y Z). the meaning of issuing > the continuation is that we will continue at the old state and when > the (lambda () code ...) successes it will copy X Y Z to their values, > reinstantiate the state at the beginning of (k X Y Z) and then unify > the interpretation of X Y Z with the copied values. and continue after > (k X Y Z) NICE! > > Anyway this is all words, I need to go into the fog and implement the > stuff. All cheers and have a nice day/night! > > /Stefan > > > > >