This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: First-class continuations in Kawa
- From: Duncan Mak <duncanmak at gmail dot com>
- To: Per Bothner <per at bothner dot com>
- Cc: kawa mailing list <kawa at sourceware dot org>
- Date: Sat, 20 Jan 2018 11:06:16 -0500
- Subject: Re: First-class continuations in Kawa
- Authentication-results: sourceware.org; auth=none
- References: <CABgWrqp8SwiY=Dk-h1aMWtevJg022MSNp-2MEbB5SV+FiqwNRQ@mail.gmail.com> <db837b1b-d64a-c0c9-de5e-f701e6eb7ff1@bothner.com>
Looks interesting.
Is the work contained in only these two commits?
https://gitlab.com/kashell/Kawa/commit/a8e678ebf7216e9fad9238e0b1c2442ea371c63c
https://gitlab.com/kashell/Kawa/commit/f4228b57936de5a84dba0afcfac54196bec86fa4
Duncan.
On Sat, Jan 20, 2018 at 1:46 AM, Per Bothner <per@bothner.com> wrote:
> 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/
--
Duncan.