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

A plea for a new old language

I just spent part of last night and a bit of this morning putting 
together a layman's explanation of continuation passing style. I 
have, at this point, finally realized how useful it is in some 
circumstances and the possibilities it gives for runtime 
optimization. I like it, and I *really* want to switch Parrot over to 
a CPS. (Or is that "CPS style"?) The languages I care about aren't 
going to pay any more for the things that continuations require.

But I can't.

Continuations, bluntly, give people the screaming heebie-jeebies.

This is partly because continuations are just very different from 
what people are used to. And partly because they're presented in 
conjunction with Lisp and/or Scheme. It's a double whammy--if 
continuations themselves don't get folks, Lisp/Scheme does--and 
because of it folks run screaming from continuations. That's a damn 

I want to use CPS in parrot. The performance impact they have doesn't 
affect me, since I'm already paying it, and I could actually get a 
win in some circumstances. Plus it simplifies the heck out of tail 
call optimizations. If I go CPS, though, I'm essentially waving a 
Lovecraftian horror at my developer base, and I just can't do that.

So, the plea. Someone, anyone, *please* thump a procedural and/or OO 
language to add in continuations. *Please*. If I had a base of folks 
mildly familiar with continuations that didn't have a pavlovian 
reaction to them things would be a lot better for me, and while 
that's not going to happen maybe it will for the next slob that gets 
stuck writing a language core. I'm trying to get Larry to do it with 
Perl 6, but that's a ways off. Ruby does them but it's a little-used 
feature. Beyond that... well, AFAIK, beyond that there's nothing. And 
I'd really like there to be.

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
dan@sidhe.org                         have teddy bears and even
                                       teddy bears get drunk