From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Guile in Emacs Date: Wed, 10 Mar 2010 14:58:33 +0100 Organization: Organization?!? Message-ID: <874okoqnw6.fsf@lola.goethe.zz> References: <4B8147A9.7030504@gmail.com> <87vddmpw4s.fsf@stupidchicken.com> <87hbp2fwoi.fsf@gnu.org> <87wrxrr4md.fsf@gnu.org> <3vsk8ecg6a.fsf@fencepost.gnu.org> <873a0euot4.fsf@stupidchicken.com> <873a0cyv3r.fsf@lola.goethe.zz> <87aauiho3y.fsf_-_@lifelogs.com> <27DFC7C4-938A-4031-86C1-CCC5E5F8EF35@mit.edu> <50E85FF6-6558-4E21-83E6-8136E4B27E1F@raeburn.org> <87bpexfori.fsf@lifelogs.com> <319D8F55-2225-449E-B9A6-0C41AF4B7EC4@raeburn.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1268229550 11618 80.91.229.12 (10 Mar 2010 13:59:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 10 Mar 2010 13:59:10 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 10 14:59:00 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NpMR6-00013h-G8 for ged-emacs-devel@m.gmane.org; Wed, 10 Mar 2010 14:58:56 +0100 Original-Received: from localhost ([127.0.0.1]:56367 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NpMR6-0000au-1q for ged-emacs-devel@m.gmane.org; Wed, 10 Mar 2010 08:58:56 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NpMQz-0000Y1-J7 for emacs-devel@gnu.org; Wed, 10 Mar 2010 08:58:49 -0500 Original-Received: from [140.186.70.92] (port=39657 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NpMQy-0000Vy-H8 for emacs-devel@gnu.org; Wed, 10 Mar 2010 08:58:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NpMQx-0007Om-5K for emacs-devel@gnu.org; Wed, 10 Mar 2010 08:58:48 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:50261) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NpMQw-0007OV-EY for emacs-devel@gnu.org; Wed, 10 Mar 2010 08:58:47 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1NpMQu-0000wK-D9 for emacs-devel@gnu.org; Wed, 10 Mar 2010 14:58:44 +0100 Original-Received: from p5b2c234a.dip.t-dialin.net ([91.44.35.74]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 10 Mar 2010 14:58:44 +0100 Original-Received: from dak by p5b2c234a.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 10 Mar 2010 14:58:44 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 32 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: p5b2c234a.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/23.1.92 (gnu/linux) Cancel-Lock: sha1:OUJdOgrXBn07Pd6sHpJ5edrzvpg= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:121768 Archived-At: Ken Raeburn writes: > On Mar 9, 2010, at 11:22, Ted Zlatanov wrote: >> Make sure you check out the emacs-mt work too at >> http://gitorious.org/emacs-mt as that's (AFAIK) the closest to getting >> into Emacs. Giuseppe Scrivano has done great work. > > Ah, yes, I thought I might be forgetting someone. (Sorry!) > So many to keep track of... that's a *good* thing! :-) > >> Have you considered continuations support? I didn't see mention of them >> in the docs. > > Not even remotely, no. :-) I'm not particularly familiar with > continuations in Scheme, let alone how you'd map that into elisp, or > if the Lisp world has a similar construct.... Basically the idea (Chicken even implements it like that) is that you never clean up your return stack, but treat it like a garbage-collected heap. Procedures are called implicitly with a pointer to the return stack. When a procedure returns, it basically "calls" this pointer. Now call/cc does the same, but passes this pointer also _explicitly_ to the procedure in question, which may store it someplace. If at some later point of time somebody calls this from wherever it may have been stored, Scheme in effect returns "again" (if it did previously return) or for the first time, abandoning the control flow it happened to be in at that time (unless you stored its continuation somewhere else, of course). -- David Kastrup