From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11934 invoked by alias); 20 Jan 2018 06:47:04 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 11882 invoked by uid 89); 20 Jan 2018 06:47:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Per, day X-HELO: aibo.runbox.com Received: from aibo.runbox.com (HELO aibo.runbox.com) (91.220.196.211) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 20 Jan 2018 06:46:58 +0000 Received: from [10.9.9.211] (helo=mailfront11.runbox.com) by mailtransmit02.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1ecmvX-0006zr-Jb; Sat, 20 Jan 2018 07:46:55 +0100 Received: from 70-36-239-2.dsl.dynamic.fusionbroadband.com ([70.36.239.2] helo=localhost.localdomain) by mailfront11.runbox.com with esmtpsa (uid:757155 ) (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) id 1ecmvU-0000QV-Rv; Sat, 20 Jan 2018 07:46:53 +0100 Subject: Re: First-class continuations in Kawa To: Duncan Mak , kawa mailing list References: From: Per Bothner Message-ID: Date: Sat, 20 Jan 2018 06:47:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2018-q1/txt/msg00012.txt.bz2 On 01/19/2018 04:48 PM, Duncan Mak wrote: > Hello, > > I came across Andrea Bernardini's thesis called First-Class > Continuations on the Java Virtual Machine: An Implementation within > the Kawa Scheme Compiler just the other day. > > https://www.politesi.polimi.it/bitstream/10589/108685/3/2015_07_Bernardini.pdf > > What happened to that work, was it integrated into the mainline release of Kawa? Sorry, no. Andrea's work is available in the 'callcc' branch, but it has not been merged into master. Worse, updates to master have not been merged into the callcc branch. It would be useful to at least update the callcc branch with recent changes, and then test, evaluate, and benchmark it. If it is useful, it should be merged in. Even if it is slow, as long as it doesn't hurt the default behavior. It is my fault that hasn't been done, but there were always other things to do. Long time ago, I started on another implementation of continuations based on switch statements. (Each continuation point would be associated with an index, and each function would start with a switch statement with jumps to the continuation points. Capturing a continuation would essentially be saving the corresponding switch index.) Some of that code is still in Kawa, but commented out. Following up on that idea might be more efficient. Which isn't really a good excuse for not merging in Andrea's work. If someone is interested in following up on this work, that would be great. -- --Per Bothner per@bothner.com http://per.bothner.com/