On Fri, Sep 26, 2008 at 3:41 PM, Alex Shinn <alexshinn@gmail.com> wrote:
continuations.  Specifically, in answer to the original
question, you can't get notably faster code with manual CPS
than with call/cc in Chicken.  

But you can get notably faster code in many other implementations. Secondly, the use of *explicit CPS* is not the same issue as 'manual CPS'. Sometimes passing continuations explicitly is a good thing: it can clarify control-flow and promote type coherence. Both of these can be exploited to produce faster code as well.

Don't get me wrong - I am a big fan of call/cc. But it is a *big* gun and it is silly to use it for relatively simple things when a trivial code rearrangement will also produce code that is more sound, easier to reason about, and potentially faster.

david rush
-- 
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt