From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97332 invoked by alias); 20 Jan 2018 23:20:57 -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 97319 invoked by uid 89); 20 Jan 2018 23:20:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-it0-f54.google.com Received: from mail-it0-f54.google.com (HELO mail-it0-f54.google.com) (209.85.214.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 20 Jan 2018 23:20:54 +0000 Received: by mail-it0-f54.google.com with SMTP id c102so8397706itd.0 for ; Sat, 20 Jan 2018 15:20:54 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Ogg5mfkyTcrOnplzSZlNHaKMAt9bWHMD8JhhGjPpWT0=; b=SVilacCkLfsvDnltYdK79YdZoDdc7sIXQ2h/gNOGkje0g8Q2kmzpQoQIKGA3PhuUgc K/ZThVPWpAeGZJ0Eh3XqldTws68L0KOuKq3UwPLm3+AITYt457tzzCVLsH3B3hXdFbT2 WAi0XNQtNtRX01E5YYcmyaP+5C/u7blUNsSfWPED5rPrqRoUxPzkMS3P9ESTO4Nu1vkx wwypZBMGWpYjeSvOKwEnma+EjaJg8gyIrRaNwPV/Or6UvWqYmlA7jdeMigG+OUY+wBZ/ Zbl1SPVCDKzvQFdNo1Fgju/pF/q2ojh7gYWu3P0AYpBNUG4dMRC7yCZYMpGDP+Jiennu iQcw== X-Gm-Message-State: AKwxytcHbPoBdxK64OHEmPz9GbaK+OjLF6Jco3xewB5tX6trwo05/CDS oYGbiwgMKjykZzfRMCxvz1GjuExJmrMN8oep4r4= X-Google-Smtp-Source: AH8x226AaAbrUnhUgzEjBoYrXSB+GhxFgA7XjJJZ1D8fOPBCW9ZGNNyxJ8GRrLsi5ViCoFuKzKozMzcLDrP1phsG4p8= X-Received: by 10.36.23.78 with SMTP id 75mr2880220ith.24.1516490452603; Sat, 20 Jan 2018 15:20:52 -0800 (PST) MIME-Version: 1.0 Received: by 10.79.105.70 with HTTP; Sat, 20 Jan 2018 15:20:52 -0800 (PST) In-Reply-To: References: From: Andrea Bernardini Date: Sat, 20 Jan 2018 23:20:00 -0000 Message-ID: Subject: Re: First-class continuations in Kawa To: Duncan Mak Cc: Per Bothner , kawa mailing list Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-q1/txt/msg00014.txt.bz2 Yep, that's it. The whole work was originally submitted as patch. It is also my fault If this was never merged into master. I remember that I started working on a switch-based variant of my work after getting some high level suggestions from Per. That turned out to be a fair amount of work and I didn't have much time, so I didn't manage to put together anything working. I also have some working code that I mentioned in my thesis but didn't end up in that patch, as it wasn't well tested. This was mainly for delimited continuations and for the debugger. I'll share this soon in a GitLab fork so it doesn't get lost. Andrea On 20 January 2018 at 16:06, Duncan Mak wrote: > 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 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.