[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CPS in Parrot



>>>>> "Michael" == Michael Vanier <mvanier@cs.caltech.edu> writes:

Michael> "And, just to top it off, someone (no, I don't know who, so this might be
Michael>  CS Legend) once proved that you can build any control structure you can
Michael>  think of with continuations."

Michael> Anyone know more about this?  Sounds like it would be a paper worth
Michael> reading.

That would be

@INPROCEEDINGS{Filinski1994-popl,
        CROSSREF = {POPL1994},
        AUTHOR = {Andrzej Filinski},
        TITLE = {Representing Monads},  YEAR = 1994,
        PAGES = {446-457}
}

I'm sure it's on Andrzej's homepage or on Citeseer.

Michael> Also, Dan doesn't mention segmented stack architectures that are
Michael> essentially a linked list of stacklets of finite size.  With this you can
Michael> avoid most of the overhead of both stack copying (on the one hand) and
Michael> heap-allocated individual frames (on the other hand).  PLT scheme uses this
Michael> system.  There is a paper on this, but I can't find it right now.

PLT's implementation of CALL/CC (and threads) is still pretty
expensive.  The paper to look at is

@Article{Clinger:1999:ISF,
  author =       "William D. Clinger and Anne H. Hartheimer and Eric M.
                 Ost",
  title =        "Implementation Strategies for First-Class
                 Continuations",
  journal =      "Higher-Order and Symbolic Computation",
  volume =       "12",
  number =       "1",
  pages =        "7--45",
  month =        apr,
  year =         "1999"
}

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla