[plt-scheme] Lazy evaluation and tail calls

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Jan 17 21:51:51 EST 2009

On Jan 17, James Coglan wrote:
> Right now, I've got a very bare bones Scheme and I'm more interested
> in algorithms for optimising stuff rather than tools in a specific
> language.

The `lazy' promises that Jos mentioned are not just tools: they are
essentially a way to implement delayed evaluation in a way that is
still safe for space.  You describe how your evaluator is holding an
expression with the appropriate bindings -- and this is essentially a
promise value.  The promises that are implemented in PLT's
scheme/promise library are therefore very relevant, and a solution (to
some degree) to your problem is what that code is doing.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.