Re: How to change the Java VM to support functional programming?

William D Clinger <will@ccs.neu.edu>
12 May 1997 00:23:39 -0400

          From comp.compilers

Related articles
How to change the Java VM to support functional programming? dwight@pentasoft.com (1997-05-08)
Re: How to change the Java VM to support functional programming? k3is@fundy.unbsj.ca (1997-05-08)
Re: How to change the Java VM to support functional programming? eanders@u98.CS.Berkeley.EDU (1997-05-08)
Re: How to change the Java VM to support functional programming? will@ccs.neu.edu (William D Clinger) (1997-05-12)
| List of all articles for this month |

From: William D Clinger <will@ccs.neu.edu>
Newsgroups: comp.compilers
Date: 12 May 1997 00:23:39 -0400
Organization: Northeastern University
References: 97-05-084
Keywords: Java, functional

Dwight VandenBerghe <dwight@pentasoft.com> wrote:
> I'm thinking that what is needed for
> continuations is something like....
> ...allocating blocks on the heap of what are essentially little
> stacks, and then transferring them to the machine stack when needed.
> Am I on the right track?


Yes. First-class continuations aren't part of Standard ML, though,
and I don't think they're part of Caml. (SML/NJ supports them as an
extension.) First-class continuations also don't have much to do with
first-class functions unless you convert to continuation-passing
style, and even then you probably will want to distinguish
continuations from functions. See


    Clinger, Hartheimer, and Ost. Implementation strategies
    for continuations. 1988 ACM Conference on Lisp and
    Functional Programming, pages 124-131.


    Hieb, Dybvig, and Bruggeman. Representing control in
    the presence of first-class continuations. 1990 ACM
    SIGPLAN '90 PLDI, pages 66-77. Available via
    http://www.cs.indiana.edu/scheme-repository/doc.publications.html


The first paper is harder to find, but I like it better. :-)


Will
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.