[plt-scheme] Multiple values
From: Lauri Alanko (la at iki.fi)
Date: Tue Feb 21 13:56:59 EST 2006 |
|
On Tue, Feb 21, 2006 at 10:13:44AM -0800, Jim Blandy wrote:
> - "All you need are functions that take a single argument --- you can curry!"
> - "All you need are tail calls --- you can transform into
> continuation-passing style!"
>
> I was very excited when I realized that you can't do both at once.
True. However, replace "curry" with "tuple" and everything's OK. This is
how CPS conversion is usually done outside the scheme world: by tupling
the argument and the continuation. See e.g.
<http://www.cs.cornell.edu/talc/papers/tal-popl.pdf> for an example.
Yes, of course the tuple constructor is not unary. But constructors
aren't "really" functions in these calculi.
Lauri