This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: First-class continuations in Kawa
- From: Per Bothner <per at bothner dot com>
- To: Duncan Mak <duncanmak at gmail dot com>, kawa mailing list <kawa at sourceware dot org>
- Date: Fri, 19 Jan 2018 22:46:49 -0800
- Subject: Re: First-class continuations in Kawa
- Authentication-results: sourceware.org; auth=none
- References: <CABgWrqp8SwiY=Dk-h1aMWtevJg022MSNp-2MEbB5SV+FiqwNRQ@mail.gmail.com>
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/